14.4 Адаптивная разработка (Adaptive software development, ASD)
Oleg PashininЕще одним подходом, который появился в результате развития методологии быстрой разработки RAD, стал метод адаптивной разработки программ (Adaptive software development, ASD), выработанный Джимом Хайсмитом (Jim Highsmith).
В 1997 году Джим Хайсмит опубликовал статью «MESSY, EXCITING, ANDANXIETY-RIDDEN: ADAPTIVE SOFTWARE DEVELOPMENT», в которой он впервые описал адаптивную методологию разработки, а в 1999 году методология вышла в виде книги (Adaptive Software Development: A Collaborative Approach to Managing Complex Systems, Highsmith, J.A., 2000 NewYork: Dorset House).
Д.Хайсмит предложил заменить традиционный, для каскадной разработки, цикл «План – Проектирование – Разработка» на итерационный «Обдумывание - Взаимодействие - Обучение» (рисунок 1).
На этапе «Обдумывание» (Speculate) происходит планирование/актуализация плана разработки (как очередной итерации, так и плана релизов) с учетом результатов, достигнутых на предыдущей итерации. Важным обстоятельством является признание того, что планы могут меняться, а не являются от начала до конца зафиксированным маршрутом.
На этапе «Взаимодействие» (Collaborate) происходит проектирование и разработка, в том числе, параллельная разработка компонент. Обязательное условие - взаимодействие членов команд для решения открытых вопросов. В отличие от каскадной модели, в которой все проектирование должна быть завершено и задокументировано до начала фазы кодирования, ASD считает нормальным, что в каждой итерации статус готовности разных компонент может быть разный.
На этапе «Обучение» (Learn) происходит оценка статуса проекта и качества достигнутых результатов, на основе чего происходит вновь стадия «Обдумывание» (Рисунок 2).
Джим Хайсмит является еще одним автором Agile манифеста и активным участником памятной встрече в Солт-Лейк-Сити в 2001 году, на которой Agile манифест был создан.