Почему Microsoft занялась этим вопросом Только 20% проектов разработки ПО в мире признаются успешными Основные причины неудач: – Постоянное изменение требований – Нечеткие или неполные спецификации – Нечетко сформулированные цели – Слишком широкая постановка задачи – Низкое качество кода – Ошибки в подборе кадров
Организация коллектива разработчиков в Microsoft Модель команды разработчиков Не должно быть команды из только лидеров или только исполнителей В случае неудачи команда расформировывается Система штрафов – наказывают всех
Модель процесса Итеративный подход Подготовка четкой документации Учет неопределенности будущего Учет компромиссов Управление рисками Поддержание ответственного отношения коллектива к срокам выпуска продукта Разбиение крупных проектов на более мелкие управляемые части Ежедневная сборка проекта Постоянный анализ хода работ
Модель процесса 2 Особенности модели: – Разбиение всего процесса на фазы – Введение опорных точек – Итеративность
Фазы процесса разработки Envisioning. Единое понимание проекта всеми членами коллектива. Завершается документами: – Problem statement – краткое описание задачи – Vision statement – от чего хотим уйти, чего хотим добиться – Solution concept – что хотим внедрить и как – User profiles – кто будет этим пользоваться – Business goals – возврат инвестиций (ROI) – Design goals – конкретные свойства и ограничения продукта Planning. Планирование очередного цикла разработки – Функциональные спецификации – План-график – Оценка рисков Developing. Разработка Stabilizing. Создание стабильной версии