Жесткие и гибкие методологии разработки
Материал позаимствован с лекций Скопина И.Н.
Жесткие методологии сильно стандартизованы. Для них характерно стремление обеспечить разработчиков рецептами, не требующими обсуждений: нужно выполнять известные предписания, соблюдать регламенты.
agile. В отличие от традиционных подходов быстрые методологии ориентируются на то, что деятельность по производству программного обеспечения по сути своей является преимущественно креативной, т.е. такой, в которой от разработчиков требуется не только распознавание ситуаций и применение в них известных методов, но и конструирование новых методов действия. Процесс разработки программного обеспечения, постоянно адаптирующийся к меняющимся требованиям пользователей, принципиально непредсказуем. Это качество обуславливает креативность деятельности не только в начале проекта, но и в течение всего его развития. Непредсказуемость и креативность разработки программного обеспечения указывает на то, что готовых рецептов на все случаи жизни просто не хватит, а потому среди элементов деятельности должны иметь больший удельный вес средства и инструменты, нежели методы.
Таблица. Сопоставление жесткой и быстрой стратегий в методологиях программирования:
Жесткие методологии | Быстрые методологии |
---|---|
Ориентация на предсказуемые процессы разработки программного обеспечения с четко обозначенными целями |
Осознание того, что процессы разработки программного обеспечения в принципе непредсказуемы |
Распознавание ситуаций и применение готовых методов | Распознавание ситуаций и конструирование методов для работы в них |
Планирование, в котором определяются этапы с объемом работ, ресурсами, сроками и уровнем качества работ |
Соблюдение баланса между параметрами проекта: объем работ, ресурсы, сроки и уровень качества работ |
Заказчик — внешний по отношению к проекту субъект, влияющий на разработку только через предоставление ресурсов и контроль результатов, в том числе по поэтапным срокам выполнения проекта |
Заказчик (его представитель) — член команды разработчиков, наделенный правом влиять на разработку; его главной целью является отслеживание актуальности решаемых задач |
Ролевое разделение труда работников проекта | Совместная деятельность сотрудников и деперсонифицированная ответственность |
Дисциплина и подчинение | Самодисциплина и сотрудничество |
Обезличенный процесс, исполнители которого определяются только по квалификационным требованиям |
Процесс, максимально учитывающий личностные качества исполнителей |
Из этого сопоставления видно, что быстрый процесс больше, чем жесткий, соответствует проектам, в которых требуется в полной мере использовать творческий потенциал сотрудников. При следовании жестким методологиям среди прочих показателей ценности сотрудника существенное место занимают способности выполнять предписания, исполнительность, тогда как при быстром подходе — инициативность, стремление к взаимопомощи. В жестком проекте заказчик противопоставлен исполнителям (одна из функций менеджера непосредственно связана с обеспечением взаимодействия с заказчиком), а необходимым условием быстрого проекта является тесное сотрудничество с заказчиком как с членом команды исполнителей.