Итерационная модель: стадии, достоинства, недостатки
Выполнение работ параллельно с непрерывным анализом полученных результатов и корректировкой предыдущих этапов работы. Проект при этом подходе в каждой фазе развития проходит повторяющийся цикл: Планирование — Реализация — Проверка — Оценка
Преимущества итеративного подхода:
• снижение воздействия серьёзных рисков на ранних стадиях проекта, что ведет к минимизации затрат на их устранение;
• организация эффективной обратной связи проектной команды с потребителем (а также заказчиками, стейкхолдерами) и создание продукта, реально отвечающего его потребностям;
• акцент усилий на наиболее важные и критичные направления проекта;
• непрерывное итеративное тестирование, позволяющее оценить успешность всего проекта в целом;
• раннее обнаружение конфликтов между требованиями, моделями и реализацией проекта;
• более равномерная загрузка участников проекта;
• эффективное использование накопленного опыта;
• реальная оценка текущего состояния проекта и, как следствие, большая уверенность заказчиков и непосредственных участников в его успешном завершении.
• затраты распределяются по всему проекту, а не группируются в его конце.
Недостатки:
· целостное понимание возможностей и ограничений проекта очень долгое время отсутствует.
· при итерациях приходится отбрасывать часть сделанной ранее работы.
· добросовестность специалистов при выполнении работ всё же снижается, что психологически объяснимо, ведь над ними постоянно довлеет ощущение, что «всё равно всё можно будет переделать и улучшить позже»
24 Rational Unified Process (RUP) — методология разработки программного обеспечения, созданная компанией Rational Software
.В основе RUP лежат следующие принципы:
· Ранняя идентификация и непрерывное (до окончания проекта) устранение основных рисков.
· Концентрация на выполнении требований заказчиков к исполняемой программе (анализ и построение модели прецедентов (вариантов использования)).
· Ожидание изменений в требованиях, проектных решениях и реализации в процессе разработки.
· Компонентная архитектура, реализуемая и тестируемая на ранних стадиях проекта.
· Постоянное обеспечение качества на всех этапах разработки проекта (продукта).
· Работа над проектом в сплочённой команде, ключевая роль в которой принадлежит архитекторам.
RUP использует итеративную модель разработки. В конце каждой итерации (в идеале продолжающейся от 2 до 6 недель) проектная команда должна достичь запланированных на данную итерацию целей, создать или доработать проектные артефакты и получить промежуточную, но функциональную версию конечного продукта. Итеративная разработка позволяет быстро реагировать на меняющиеся требования, обнаруживать и устранять риски на ранних стадиях проекта, а также эффективно контролировать качество создаваемого продукта.
Microsoft Solutions Framework (MSF) — методология разработки программного обеспечения, предложенная корпорацией Microsoft. MSF опирается на практический опыт Microsoft и описывает управление людьми и рабочими процессами в процессе разработки решения.
MSF представляет собой согласованный набор концепций, моделей и правил.
Модель проектной группы MSF (MSF Team Model) описывает подход Майкрософт к организации работающего над проектом персонала и его деятельности в целях максимизации успешности проекта. Данная модель определяет ролевые кластеры, их области компетенции и зоны ответственности, а также рекомендации членам проектной группы, позволяющие им успешно осуществить свою миссию по воплощению проекта в жизнь.
Модель проектной группы MSF разрабатывалась в течение нескольких лет и возникла в результате осмысления недостатков пирамидальной, иерархической структуры традиционных проектных групп.
В соответствии с моделью MSF проектные группы строятся как небольшие многопрофильные команды, члены которых распределяют между собой ответственность и дополняют области компетенций друг друга. Это дает возможность четко сфокусировать внимание на нуждах проекта. Проектную группу объединяет единое видение проекта, стремление к воплощению его в жизнь, высокие требования к качеству работы и желание самосовершенствоваться.
26 Экстрема́льное программи́рование (англ. Extreme Programming, XP) — одна из гибких методологий разработки программного обеспечения. Авторы методологии — Кент Бек, Уорд Каннингем, Мартин Фаулер и другие.
Двенадцать основных приёмов экстремального программирования (по первому изданию книги Extreme programming explained) могут быть объединены в четыре группы:
· Короткий цикл обратной связи (Fine scale feedback)
· Разработка через тестирование (Test driven development)
· Игра в планирование (Planning game)
· Заказчик всегда рядом (Whole team, Onsite customer)
· Парное программирование (Pair programming)
· Непрерывный, а не пакетный процесс
· Непрерывная интеграция (Continuous Integration)
· Рефакторинг (Design Improvement, Refactor)
· Частые небольшие релизы (Small Releases)
· Понимание, разделяемое всеми
· Простота (Simple design)
· Метафора системы (System metaphor)
· Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership)
· Стандарт кодирования (Coding standard or Coding conventions)
· Социальная защищенность программиста (Programmer welfare):
· 40-часовая рабочая неделя (Sustainable pace, Forty hour week)