Автономная проверка завершена и комплексное тестирование началось.

Спецификации утверждены.

Спецификации реализуемых сценариев составлены.

Требования к очередной итерации утверждены.

Все сведения о проекте, представленные в контрольной точке 2, к моменту прихода к третьей контрольной точке должны быть согласованы для утверждения. Для больших и сложных проектов данный момент оп­ределяется формально, для него заданы отчетные материалы, которые ут­верждаются. В более простых случаях этого не требуется, тем не менее ве­ха, знаменующая окончание аналитического этапа проекта (итерации), существует независимо от формальной стороны дела. Ее отслеживание просто необходимо менеджеру в качестве момента, когда подводятся пер­вые итоги проекта (итерации).

Начало этапа конструирования связывается с декомпозицией реша­емых проектом (итерацией) задач и с построением архитектуры системы.

Коль скоро архитектура определена, пусть даже лишь в общих чер­тах, появляется фронт работ для разработчиков подсистем. Соответствен­но, у руководителей команд разработчиков появляется сфера ответствен­ности для текущей итерации. Менеджерские обязанности в проекте, ко­торые становятся главными в этой точке, — оформление подготовленных для реализации сценариев к утверждению. Как и в предыдущем случае, данная контрольная точка вполне может быть явно не выделена, но это не означает, что работа над трансформацией сценариев в архитектуру рас­творяется в проекте.

Эта контрольная точка обозначает окончание этапа конструирова­ния. Архитектура для очередной итерации утверждена и зафиксирована в виде заданий для разработчиков подсистем и их руководителей, от кото­рых требуется создание или модернизация наборов классов проекта, от­носящихся к их сферам ответственности.

Помере продвижения этапа программирования к завершению воз­никает момент, когда требуется комплексная проверка работоспособно­сти системы. Он означает начало этапа оценки, поскольку с этого момен­та появляется возможность проверить предварительные суждения о про­екте (итерации) на практике.

Часто говорят, что для проектов, разрабатываемых по методикам бы­строго развития, нет нужды выделять этап конструирования (см., напри­мер, [3]). Как следствие, контрольные точки 3, 4 и 5 сливаются. Все, что надо сделать в проекте в связи с требованиями кочередной итерации, приурочивается к контрольной точке 6. К тому же в этом подходе не раз­деляются автономная и комплексная проверка результатов, поскольку ка­ждая новая возможность системы с самого начала интегрируется с уже реализованными возможностями. Как следствие, автономная разработка остается лишь на уровне продумывания того, каким образом встроить но­вую возможность в складывающийся архитектурный каркас.

Если иметь в виду мероприятия, которые предполагается осуществ­лять при прохождении указанных точек, то методы быстрого развития действительно их игнорируют. Однако соответствующие процессы, о ко­торых только что шла речь, отменить не удается. Разработчики в любом случае вынуждены заботиться и о точном специфицировании того, что требуется реализовать, и об архитектуре системы в целом. По существу, экономия времени достигается, когда слияние контрольных точек не противоречит, например, сложности проекта, перспективам его развития и т.д., и именно за счет того, что ликвидируется сдерживающий регламент развития системы. К сожалению, это далеко не всегда оправданно.

 

7. Тестирование завершилось, начата подготовка новой итерации.Эта контрольная точка отмечает окончание этапа программистских работ, определенных текущей итерацией. Программистские работы про­должаются как деятельность, связанная с пополнением базового окружения проекта, которое мы выделяем как относительно самостоятельный этап проекта, вложенный в этап оценки, и обычно завершающийся вместе с ним (контрольная точка 10). Эти работы подразделяются на два вида:

• выделение общих лишь для данного проекта переиспользуемых компонентов (его целесообразно выполнить до расщепления жиз­ненного цикла — контрольная точка 9);

• выделение общих, не привязанных к проекту переиспользуемых компонентов (целесообразно начинать эти работы, когда про­граммный рабочий продукт итерации рассматривается как готовое приложение, — контрольная точка 9, и завершать к моменту пере­дачи системы на распространение — контрольная точка 10).

Итеративное развитие проекта обеспечивается сбором сведений для новой итерации, которая начинается в рассматриваемой контрольной точке.