Этапы разработки программного обеспечения
Типичный проект разработки программного обеспечения проходит следующие этапы.
1. Составление функциональной спецификации.
Точное и как можно более подробное описание всех функций, которые должна выполнять система.
2. Проектирование системы.
Проектирование всего программного обеспечения, необходимого для выполнения описанных в функциональной спецификации функций.
3. Составление программной спецификации.
Описание и документирование всех программ, интерфейсов между программами и структур данных.
4. Кодирование. Написание отдельных модулей.
5. Тестирование модулей.
Компиляция, ассемблирование и тестирование каждого модуля.
6. Стыковка системы.
Объединение отдельных модулей в систему.
7. Приемные испытания.
Прогон набора тестов для демонстрации того, что система выполняет описанные в функциональной спецификации функции.
8. Внедрение.
Установка системы на оборудовании пользователя с возможной доработкой программного обеспечения.
9. Окончательное документирование.
Приведение всей документации на программы в соответствие с. окончательной версией системы.
Хороший проект равномерно продвигается от этапа к этапу, причем число случаев возвращения к предыдущему этапу сведено до минимума. В плохом проекте, напротив, неясно, когда заканчивается один этап и начинается другой. Руководитель проекта обязан следить за продвижением работы на каждом этапе. Руководитель должен стремиться первым начать работу над проектом. В этом случае он сможет оценить объем требований к разработке, а затем определить и эффективно организовать работу других членов группы. Чрезвычайно трудно, подключившись к работе в качестве руководителя проекта на полпути, эффективно руководить группой, поскольку другие сотрудники этому моменту уже продвинутся вперед в своем понимании системы.
Каковы основные обязанности руководителя в предположении, что он приступает к работе раньше других сотрудников? Он должен стараться обеспечить соответствующие условия для работы других сотрудников. Роль каждого из них должна быть ясной, с четко определенными целями и обязанностями. Руководитель должен убедиться, что все задания включены в план проекта и что за выполнение каждого задания обязательно кто-нибудь отвечает. Для того чтобы добиться этого, он должен смотреть на вещи несколько шире и глубже, чем другие сотрудники. В частности, такие моменты, как тестирование и отладка программного обеспечения, модификация существующих пакетов и документирование, которые нередко недооцениваются на стадии планирования, могут потребовать значительных усилий в процессе работы над проектом.

