Взаимовыгодная спиральная модель процессов WinWin Spiral Process Model, о которой мы ранее узнали в обзоре книги Тома ДеМарко, Тимоти Листера «Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения».
На международных конференциях по разработке программного обеспечения в 1996 и 1997 годах в трех из шести основных докладов были определены методы переговоров как наиболее важный фактор успеха в улучшении результатов программных проектов.
Центр разработки программного обеспечения USC разрабатывает основанный на переговорах подход к проектированию, архитектуре, разработке и управлению требованиями к программным системам. Этот подход состоит из трех основных элементов:
- Теория W, теория и подход к менеджменту, которая гласит, что определение победителей среди ключевых заинтересованных сторон системы является необходимым и достаточным условием успеха проекта.
- Спиральная модель WinWin, которая расширяет спиральную модель разработки программного обеспечения, добавляя действия Теории W в начало каждого цикла. WinWin, инструмент групповой работы, который упрощает для распределенных заинтересованных сторон согласование взаимоприемлемых (беспроигрышных) системных спецификаций. В этой статье описывается спиральная модель WinWin.
Спиральная модель предлагает рамочную деятельность, направленную на общение с клиентами.
- Спиральная модель также известна как метамодель, потому что все другие модели процессов включены в спиральную модель.
Цель этой деятельности — выявить требования к проекту у заказчика. В идеальной ситуации разработчик просто спрашивает клиента, что требуется, и клиент достаточно осведомлен о требованиях к проекту и сообщает всю необходимую информацию разработчику.
Однако, такое случается редко. Для получения требований проекта коммуникация с клиентом очень важна. Поэтому и существует, необходимость в спиральной модели. Модель WIN-WIN предлагает и поддерживает хорошее и правильное общение с клиентом. На практике заказчики и разработчики должны столкнуться с процессом переговоров, который означает — поиск компромисса. Когда обе стороны соглашаются, только тогда успешные переговоры происходят. Это называется ситуацией WIN-WIN.
Лучшие переговоры стремятся к «беспроигрышному» результату. То есть заказчик выигрывает, получает продукт, который удовлетворяет часть потребляющих систем заказчика, а разработчик выигрывает, выполняет в рамках реалистичных и достижимых бюджетов и сроков.
Модель спирали WINWIN определяет набор переговорных действий в начале каждого прохода по спирали. Вместо одного действия по общению с клиентом, WINWIN предлагает следующие действия:
- Выявление «заинтересованных сторон».
- Решимость заинтересованных сторон приложить большие усилия для достижения или получения условия для победы.
- Переговоры между заинтересованными сторонами, энергично борющимися за условие победы. Команда разработчиков программного обеспечения с беспокойством соглашается на беспроигрышный результат. Затем определите цели, ограничения и альтернативы следующего уровня.
- Оценка процесса и продукта, а затем анализ и устранение или снижение рисков, чтобы упростить задачу. Определение следующего уровня продукта и процесса для правильной работы.
- Проверка определений процессов и продуктов — обязательна.
- Обзор продукта и предоставление необходимых и важных комментариев.
Доступны три точки привязки, которые можно определить в спиральной модели WIN-WIN, которая приведена ниже:
Цель жизненного цикла (LCO) — LCO определяет цели, которые необходимы для деятельности по разработке программного обеспечения. Например, как часть LCO, набор целей устанавливает требования к системе / продукту верхнего уровня.
Архитектура жизненного цикла (LCA) — LCO определяет программные архитектуры, которые могут быть созданы со всеми поставленными целями. Например, в рамках LCA команда проекта программного обеспечения, включенная в нее, оценила применимость готовых и повторно используемых компонентов.
Первоначальная эксплуатационная способность (IOC) — IOC представляют собой программное обеспечение со всеми начальными необходимыми эксплуатационными возможностями.
И так еще раз, цикл WinWin Spiral
- Определите ключевые заинтересованные стороны системы или подсистемы.
- Определите условия победы заинтересованных сторон для системы или подсистемы.
- Согласуйте взаимовыгодные соглашения о взаимовыгодных условиях заинтересованных сторон. Разработайте систему или подсистему, продукт и цели процесса, ограничения и альтернативы.
- Оцените альтернативы с точки зрения целей и ограничений. Определите основные источники риска, связанного с продуктом и процессом.
- Разработайте определение продукта и процесса.
- Спланируйте следующий цикл и обновите план жизненного цикла, включая разделение системы на подсистемы, которые будут обрабатываться в параллельных циклах. Это может включать план прекращения проекта, если он слишком рискован или неосуществим. Обеспечить обязательство руководства действовать в соответствии с планом.