Рабочая нагрузка при выполнении функции разработки достигает наибольшей величины в фазе программирования. Основная задача организации разработки заключается в координации усилий большого числа сотрудников, занятых реализацией этой функции, а также в организации взаимодействия между различными функциональными группами. Метод — соблюдение принятых на данном предприятии стандартов программирования.
Кодирование начинается на ранней стадии программирования. При этом используется так называемый «волновой эффект» (табл. 8.3), когда составление внешних и внутренних спецификаций, кодирование, отладка и компоновка программ выполняются одновременно на различных уровнях структуры программного изделия. Например, в фазе программирования какого-то модуля внешние спецификации всего программного изделия уже могут быть утверждены, а внутренние спецификации составлены не до конца. И наоборот, хотя этапы кодирования, отладки и компоновки некоторых модулей уже могут быть завершены, их разработка в рамках целого программного продукта еще может быть не закончена.
Таблица 8.3 — Волновой эффект в разработке модулей изделия
Модули
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Составление внешних спецификаций завершено
´
´
–
–
´
´
´
–
–
–
´
´
´
´
Составление внутренних спецификаций завершено
´
´
´
´
–
´
´
´
´
–
–
´
´
´
Кодирование закончено
´
´
´
–
–
´
´
´
´
–
–
´
–
´
Отладка закончена
´
´
´
–
–
´
´
´
–
–
–
´
–
´
Компоновка закончена
´
´
´
–
–
–
´
´
–
–
–
´
–
–
Если желательно избрать более жесткий путь и если в программе нельзя выделить сравнительно слабо связанные компоненты, то целесообразно закончить не только внешний проект, но и внутренний и только после этого браться за программирование.
Следует иметь в виду один серьезный недостаток волнового эффекта: задержка с утверждением внешних спецификаций может крайне неблагоприятно отразиться на выполнении многих функций. То есть нельзя утверждать спецификации испытаний, невозможно закончить рекламные материалы и т.д.
Помимо кодирования, отладки и компоновки деятельность группы разработки связана с демонстрацией работающего изделия в конце фазы программирования и организацией взаимодействия группы с другими функциональными группами. Сначала на рассмотрение поступает план поддержки. В группе разработки должна, прежде всего, существовать уверенность в обоснованности плановых сроков и правильности предложений группы поддержки, касающихся описания программного изделия. Любые ошибки в описании характеристик программного изделия или в определении сроков его готовности, которые могут дойти до пользователя через рекламные материалы, могут породить недоразумения или, хуже того, штрафы за невыполнение обязательств.
В фазе программирования группа выпуска документации представляет на рассмотрение ряд вариантов справочных материалов. В середине фазы программирования группой испытаний представляется на рассмотрение график испытаний. Группа разработки тщательно изучает варианты документации и спецификации испытаний с тем, чтобы в них не было ошибок, порожденных неверными исходными предложениями. Если группа разработки в свое время подготовила корректные внешние спецификации, то их анализ не вызывает больших затруднений и займет немного времени. Если же некоторые положения внешних спецификаций пропущены или изложены недостаточно полно, то их проверка отнимет не только много времени, но и вызовет большие трудности. В этом случае придется изменять внешние спецификации, что может свести на нет запас времени, имеющийся в календарном плане проектирования.
Группа поддержки после утверждения изготовляет и направляет на рассмотрение рекламные материалы. Группа разработки анализирует эти материалы, чтобы не допустить технических ошибок, порождающих недоразумения и соответствующие финансовые санкции. Обычно во время фазы программирования оказывается целесообразной демонстрация программного изделия в действии, чтобы показать, что наиболее критические эксплутационные характеристики изделия реализованы в соответствии с требованиями, или чтобы установить, насколько далеко продвинулся проект. Группа разработки стремится закончить этот этап как можно раньше, чтобы учесть замечания тех, кому демонстрировалось программное изделие.