Шрифт
Source Sans Pro
Размер шрифта
18
Цвет фона
Итерационные и гибкие методологии, как средства реализации динамической модели требований
Разработка чего бы то ни было, будь то программное обеспечение, опытный образец продукта, методика или иной продукт творческо-производственной деятельности, происходит по одному и тому же укрупненному циклу:
– требования;
– проектирование;
– изготовление;
– проверка соответствия требованиям;
– устранение несоответствий;
… (пока не будет устранено несоответствие требованиями)
– проверка соответствия требованиям;
– приемка (передача в эксплуатацию)
Предсказуемость (да и возможность) выхода из этого цикла зависит от двух параметров:
– фиксированы ли требования,
– возможно ли исправить несоответствие требованиям.
Оба параметра, по сути, есть качества требования, а именно, неизменность и исполнимость. Таким образом, естественным выбором является сформировать исполнимые требования и зафиксировать их до окончания производственного цикла.
Это не что иное, как ранее упомянутая простая модель требований со всеми ее достоинствами и недостатками.
Производство не может работать в условиях динамической модели требований, потому что это станет непредсказуемо по времени и затратам ресурсов.
В то же время простая модель может не отвечать жизненным реалиям, которые скорее описываются динамической моделью.
В этом случае необходимо представить динамическую модель как последовательность простых. То есть, на какое-то время требования фиксируются, затем опять могут изменяться, затем снова фиксируются и т.д. Как это сделать?
Решением являются итерационные и гибкие методологии, которые, по сути, вводят какие-то законченные шаги, следующие друг за другом, на каждом из которых происходит фиксация требований, производство, приемка результата.
Затем требования могут быть пересмотрены, как в динамической модели, с учетом имеющихся уже результатов производства и их использования в будущем.
На следующем шаге требования опять фиксируются, проходит производственный цикл и т.д. до достижения результата.
Подходы могут быть различны: ограничение точности достижения первоначального результата (какие и в какой мере будут реализованы требования изначальной постановки, в частность разного рода прототипы и MVP являются примерами такого ограничения), ограничение количества итераций, ограничение по ресурсам и времени – все это является предметом методологий, создавая им различные сферы применения.
Нам же важно, что требования в жизни отвечают скорее динамической модели, но для производственных нужд мы приближаем эту модель гибридной – набором последовательных простых моделей, которые фиксируем в начале каждой производственной итерации.
Поняв эту специфику требований в целом, вернемся к их жизненному циклу в частности.