Основы управления процессом создания ПО

Основы управления процессом создания ПО

Стандартизация в рамках обычного процесса — смелое начинание для любой организации, занимающейся ПО. Она включает в себя широкий спектр необходимых действий. Процесс, рекомендуемый в этой книге, содержит лишь несколько специальных стандартов: стадии жизненного цикла, рабочие продукты жизненного цикла, рабочие процессы в рамках жизненного цикла и контрольные точки жизненного цикла. Эти элементы являются определяющими при переходе от традиционного подхода к итерационному. Я наблюдал ситуации, когда организации пытались сделать меньше (стандартизация недостаточная или вообще отсутствует) или больше (чрезмерная стандартизация), что не позволяло повысить возврат инвестиций в ПО. Стандартизация процесса требует взвешенного подхода.
В главах, входящих в часть II, описываются основы современного, итерационного процесса управления созданием ПО: стадии жизненного цикла, рабочие продукты, рабочие процессы и контрольные точки. Упреждающая разработка архитектуры — ключевая тема, которая объединяет все эти главы. С точки зрения управления как сама архитектура, так и то особое внимание, которое должно уделяться ей, являются жизненно важными для успеха подхода в целом.
.
Стадии жизненного цикла.
#Сарактеристикой, в наибольшей степени определяющей успешность процесса создания ПО, является четко определенное разграничение между работами, направленными на «исследования и разработку», и работами, направленными на «производство». Главной причиной того, что проекты не завершаются успехом, обычно оказывается неудача при попытке четко определить и выполнить эти две стадии, сохра- .4*,,-. -Ч’ . г. , . , нить между ними правильное
Ключевые моменты.
А Стадия разработки в рамках жизненного цикла включает в себя планы, требования и архитектуру, что позволяет разрешать связанные с разработкой риски. Эта стадия завершается созданием реализуемой базовой архитектуры.
А На стадии производства в рамках жизненного цикла создаются работающие версии ПО, реализующие некоторую функциональную возможность в контексте основных планов, требований и архитектуры, полученных на стадии разработки.
соотношение и распределить усилия подходящим образом. Это утверждение является справедливым как для традиционного, так и для итерационного процесса. Многие проекты, завершившиеся неудачей, обладают одной из следующих характеристик:.
■ Чрезмерное внимание уделяется исследованиям и разработке. Выполняется слишком много анализов или бумажных исследований, либо все время откладывается формирование основных проектных решений. Такой перекос типичен для традиционного процесса создания ПО и провоцируется им.
■ Чрезмерное внимание уделяется изготовлению. Типичными в этом случае являются принятие спонтанных решений, преждевременная работа чересчур усердных программистов и постоянное хакерство.
Современные успешные проекты — и даже те, что разработаны с помощью традиционного процесса, — обычно имеют хорошо обозначенную основную контрольную точку в осуществлении проекта, по достижении которой происходит осязаемый переход от состояния исследований к состоянию производства. Более ранние стадии сосредоточены на обретении функциональных возможностей. Более поздние стадии касаются получения продукта, который может быть передан заказчику. При этом особое внимание уделяется стабильности, производительности, подгонке и срокам завершения. Такое равновесие в рамках жизненного цикла трудноуловимо и по-прежнему практически неосязаемо, но является одним из оснований успешного управления проектом по созданию ПО.
По определению, современный процесс разработки ПО должен поддерживать:.
■ Эволюцию планов, требований и архитектуры вместе с четко определенными точками синхронизации.
■ Управление рисками и объективные способы измерения прогресса и качества.
■ Эволюцию системы с помощью демонстрации все возрастающих функциональных возможностей