Менеджмент разработки программных изделий 8.Особенности первой итерации объектно- ориентированного программного проекта
В пределах одной итерации процесс развития проекта остается последовательным: планирование, определение требований, анализ, конструирование, программирование, тестирование и оценка Мотивация особого подхода к выполнению первой итерации и сохраняет недостатки традиционных технологий велика неопределенность проекта не хватает критериев предпочтения одних решений перед другими Возрастает риск невыполнения проектного задания Итеративное наращивание серия коротких мини-циклов
Метод « Сначала в глубину » разновидность нормального итеративного наращивания, приспособленного к задачам начального периода развития проекта Противоположный подход «Сначала в ширину» Главные преимущества подхода «Сначала в глубину»: Процесс разработки продвигается вперед довольно быстро Разработчики за короткое время начинают доверять методу Критерии можно определить позже Разработчики, особенно новые, быстрее вникают в проект
Рабочие продукты первой итерации как прототип будущей системы Первая реальная информация о фактических пользовательских потребностях далее процесс конструирования будет более целенаправленным и экономным; Возможность уточнить априорное распределение ресурсов всех видов; Прототип это первый контакт с пользователями, по которому будут судить о будущих перспективах; Прототип это первая возможность выставить для заказчика счет за проделанную работу. Первые достижения проекта, ревизия дальнейших планов. Целесообразно или нет дальнейшее развитие проекта. Чему научились: наличие конкурентных работ и сопоставление их с затратными и временными характеристиками проекта проектные требования понимаются правильнее по сравнению с первоначальным представлением о них правдоподобность сделанных априорно оценок (затратных, временных и др.) уровень сложности представляемого прототипа; фактическое потребление ресурсов в сравнении с их плановыми оценками Может оказаться, что данный проект значительно труднее реализуем (дороже, требует повышенной квалификации кадров и др.), чем это казалось ранее.
Переход от предварительного анализа к первой итерации Задачи менеджмента в контексте работ перехода к первой итерации. Меняется точка зрения на итерацию и на проектируемое изделие: вместо проблемно-ориентированных объектов реализационные объекты модели уровня анализа модели для декомпозиции появляются специфичные для реализационной среды классы, (к примеру, специфицируются интерфейсные и классы обращения к базам данных) конкретизируются и уточняются стратегии и методики, намеченные ранее Особенности первого для разработчиков перехода к первой итерации: Заканчивается предварительный анализ для всего проекта (общий план проекта и первые документы фазы анализа, строится общая база всех итераций); Начинается и заканчивается текущий анализ для итерации-прототипа (планирование) Работа над проектом перестает быть личным делом менеджера: –функции управления распределяются между исполнителями ключевых ролей, –функции контроля и согласования почти вытесняют все другие виды работ менеджера. Методы предварительного анализа должны предусматривать возможность конструирования, когда нет объективных данных для принятия тех или иных реализационных решений о проекте Схему Задание (выдает менеджер) Выполнение (деятельность работника) должна сменить организационная методология (методика) с более сложными связями в коллективе и более глубокими разделение труда и распределением ответственности
3 ´ Автономная работа Совместная работа с выбранными сценариями Модели сценариев построены Интеграция Начата интеграция сценариев 5 ' 5" Сценарии реализованы, базовый набор требований определен Анализ осуществи- мости Модель метода « Сначала в глубину » Констру- ирование Оценка Фазы (этапы) Конт- рольные точки (события): Исследова ния Начальная фаза проекта Мини-циклы реализации сценариев Выбор сценариев для реализации сделан 2 ' Требования к следующей ите- рации приняты Демонстрационные испытания завершены Переход к следующей итерации Продолжение проекта Пополнение базового окружения проекта Программирование