Гибкие процессы
За последние несколько лет вырос интерес к гибким процессам разработки программного обеспечения. Гибкий (agile) - это широкий термин, охватывающий большое количество процессов, имеющих общее множество величин и понятий, определенных Манифестом гибкой разработки программного обеспечения (Manifesto of Agile Software Development) (http://agileManifesto.org). Примерами таких процессов являются ХР (Extreme Programming - экстремальное программирование), Scrum (столкновение), FDD (Feature Driven Development - разработка, управляемая возможностями), Crystal (кристалл) и DSDM (Dynamic Systems Development Method - метод разработки динамических систем).
В терминах нашего обсуждения гибкие процессы исключительно адаптивны по своей природе. Они также имеют четкую ориентацию на человека. Гибкие подходы предполагают, что наиболее важным фактором успешного завершения проекта является квалификация исполнителей и их хорошая совместная работа с человеческой точки зрения. Значимость процессов или инструментов, ими используемых, определенно стоит на втором месте.
Гибкие методы в основном направлены на использование коротких, ограниченных по времени итераций, чаще всего заканчивающихся через месяц или раньше. Поскольку их вклад в документацию невелик, то в гибком подходе не предполагается применение UML в режиме проектирования. Чаще всего UML используется в режиме эскизирова-ния и реже в качестве языка программирования.
В большинстве своем гибкие процессы не слишком формализованы. Сильно формализованные или тяжеловесные процессы имеют много документации и постоянный контроль во время выполнения проекта. Гибкий подход предполагает, что формализм мешает проведению изменений и противоречит природе талантливых личностей. Поэтому гибкие процессы часто называют облегченными (lightweight). Важно понимать, что недостаточная формализованность является следствием адаптивности и ориентации специалистов, а не фундаментальным свойством.