Слайд 1Проектирование программных систем
Лекция
ИНИЦИАЦИЯ (ЗАПУСК) ПРОЕКТА
Король Иван Андреевич
Слайд 2Вопросы
1. Управление приоритетами проектов
2. Концепция проекта
3. Цели
и результаты проекта
4. Допущения и ограничения
5. Ключевые участники
и заинтересованные стороны
6. Ресурсы
7. Сроки
8. Риски
9. Критерии приемки
10. Обоснование полезности проекта
11. Выводы
12. Контрольные вопросы
Слайд 3Управление приоритетами проектов
Эффективные процессы инициации программного проекта минимум наполовину
определяют его будущую успешность.
Недостаточное внимание именно этой фазе проекта
неизбежно приводит к существенным проблемам при планировании, реализации и завершении проекта.
Инициация состоит из процессов, способствующих формальной авторизации начала нового проекта или фазы проекта.
Процессы инициации часто выполняются вне рамок проекта и связаны с организационными, программными или портфельными процессами.
Слайд 4 В ходе процесса инициации уточняются первоначальное описание содержания и
ресурсы, которые организация планирует вложить.
На этом этапе также
выбирается менеджер проекта, если он еще не назначен, и документируются исходные допущения и ограничения.
Эта информация заносится в Устав проекта и, если он одобряется, проект официально авторизуется.
Управление приоритетами проектов
Слайд 5Управление приоритетами проектов
Устав проекта [1] — документ, выпущенный инициатором или
спонсором проекта,
который формально узаконивает существование проекта
и предоставляет менеджеру
проекта полномочия использовать организационные ресурсы в операциях проекта.
В российской практике данный документ чаще называется Концепция проекта.
Концепция (от лат. conceptio – понимание, система), определённый способ понимания, трактовки какого-либо предмета, явления, процесса, основная точка зрения на предмет и др., руководящая идея для их систематического освещения.
Слайд 6Управление приоритетами проектов
В компании, которая принимает решение о старте того
или иного проекта разработки ПО, должна существовать единая система критериев
для оценки его значимости.
Система критериев должна позволять из множества возможных для реализации проектов выбрать наиболее приоритетные для компании.
Слайд 7Управление приоритетами проектов
Приоритет любого проекта должен определяться на основе оценки
трех его характеристик:
Финансовая ценность.
Стратегическая ценность.
Уровень рисков.
Слайд 8Управление приоритетами проектов
Шкала оценки финансовой ценности проекта может выглядеть следующим
образом:
Высокая. Ожидаемая окупаемость до 1 года. Ожидаемые доходы от
проекта не менее чем в 1,5 раз превышают расходы. Все допущения при проведении этих оценок четко обоснованны.
Выше среднего. Ожидаемая окупаемость проекта от 1 года до 3 лет. Ожидаемые доходы от проекта не менее чем в 1.3 раза превышают расходы. Большинство допущений при проведении этих оценок имеют под собой определенные основания.
Слайд 9Управление приоритетами проектов
Средняя. Проект позволяет улучшить эффективность производства в Компании
и потенциально может снизить расходы компании не менее чем на
30%. Проект может иметь информационную ценность или помочь лучше контролировать бизнес.
Низкая. Проект немного снижает расходы компании не менее чем на 10% и дает некоторые улучшения производительности производства.
Слайд 10Управление приоритетами проектов
Например.
Финансовая ценность проектов разработки ПО для коммерческих
структур, может быть оценена как высокая.
Проект планового развития функциональности
продуктов в соответствии с требованиями рынка, инициируемое менеджером продукта, может получить оценку финансовой ценности выше среднего.
Проекты изменения технологических процессов или проекты внутренней автоматизации могут иметь среднюю финансовую ценность.
Слайд 11Управление приоритетами проектов
Одной финансовой ценности для определения приоритета проекта недостаточно.
Например, ни одна компания разработчик ПО не возьмется за автоматизацию
нелегального оборота наркотиков, если это не соответствует стратегии ее бизнеса.
Поэтому, важным показателем приоритета проекта является его соответствие стратегическим целям компании.
Слайд 12Управление приоритетами проектов
Третьим обязательным показателем приоритета проекта должна быть оценка
уровня его риска.
Ни один проект, который имеет даже самую
высокую оценку финансовой выгодности, не будет запущен в производство, если достижение этой сверхвыгоды имеет минимальные шансы.
Слайд 13Управление приоритетами проектов
Если компания уделяет мало внимания управлению приоритетами своих
проектов, то это приводит к переизбытку реализуемых проектов, перегруженности исполнителей,
постоянным авралам и сверхурочным работам и, как следствие, к низкой эффективности производственной деятельности.
При старте нового проекта с высоким приоритетом, компания должна остановить или закрыть менее значимые проекты, чтобы обеспечить новый проект необходимыми ресурсами, а не пытаться сделать все и сразу за счет интенсификации работ, как правило, это не получается.
Слайд 14Концепция проекта
У каждого проекта должна быть концепция. Если проект
небольшой, то для изложения концепции часто достаточно несколько абзацев.
Однако,
стартовать проект без концепции, это все равно, что отправлять корабль в плавание, не определив для него пункт назначения.
Концепция проекта разрабатывается на основе анализа потребностей бизнеса.
Главная функция документа — подтверждение и согласование единого видения целей, задач и результатов всеми участниками проекта.
Концепция определяет что и зачем делается в проекте.
Слайд 15Концепция проекта
Концепция проекта это ключевой документ, который используется для принятия
решений в ходе всего проекта, а также на фазе приемки
— для подтверждения результата.
Она содержит, как правило, следующие разделы:
Название проекта
Цели проекта
Результаты проекта
Допущения и ограничения
Ключевые участники и заинтересованные стороны
Ресурсы проекта
Сроки
Риски
Критерии приемки
Обоснование полезности проекта
Слайд 16Цели и результаты проекта
Цели проекта должны отвечать на вопрос,
зачем данный проект нужен.
Цели проекта должны описывать бизнес-потребности и
задачи, которые решаются в результате исполнения проекта.
Целями проекта могут быть:
Изменения в Компании. Например, автоматизация ряда бизнес-процессов для повышения эффективности основной производственной деятельности
Реализация стратегических планов. Например, завоевание значительной доли растущего рынка за счет вывода на него нового продукта.
Слайд 17Цели и результаты проекта
Выполнение контрактов. Например, разработка программного обеспечения по
заказу.
Разрешение специфических проблем. Например, доработка программного продукта в целях
приведения его в соответствие с изменениями в законодательстве.
Цели должны быть значимыми (направленными на достижение стратегических целей Компании), конкретными (специфичными для данного проекта), измеримыми (иметь проверяемые коли-чественные оценки), реальными (достижимыми).
Четкое определение бизнес-целей важно, поскольку существенно влияет на все процессы и решения в проекте.
Проект должен быть закрыт, если признается, что достижение цели невозможно или стало нецелесообразным.
Слайд 18Цели и результаты проекта
Результаты проекта отвечают на вопрос, что должно
быть получено после его завершения.
Результаты проекта должны определять:
Какие
именно бизнес-выгоды получит заказчик в результате проекта.
Какой продукт или услуга. Что конкретно будет произведено по окончании проекта.
Высокоуровневые требования. Краткое описание и при необходимости ключевые свойства и/или характеристики продукта/услуги.
Слайд 19Цели и результаты проекта
Следует помнить, что результаты проекта должны быть
измеримыми.
Это означает, что при оценке результатов проекта должна иметься
возможность сделать заключение достигнуты оговоренные в концепции результаты или нет.
Слайд 20Допущения и ограничения
Исходные допущения и ограничения, как правило, тесно связаны
с управлением рисками, о котором мы будем говорить далее.
В
разработке ПО часто приходится формулировать риски в виде допущений, тем самым передавая его заказчику.
Например, оценивая проект разработки и внедрения по схеме с фиксированной ценой, мы должны записать в допущения предположение о том, что стоимость лицензий на стороннее ПО не изменится, до завершения проекта.
Слайд 21Допущения и ограничения
Ограничения, как правило, сокращают возможности проектной команды в
выборе решений. В частности они могут содержать:
Специфические нормативные требования.
Например, обязательная сертификация продукта, услуги на соответствие определенным стандартам.
Специфические технические требования. Например, разработка под заданную программно-аппаратную платформу.
Специфические требования к защите информации
Слайд 22Допущения и ограничения
Уместно также сформулировать те требования к системе, которые
могут ожидаться заказчиком по умолчанию, но не включаются в рамки
данного проекта.
Например, в данный раздел может быть включен пункт о том, что разработка программного интерфейса (API) для будущей интеграции с другими системами заказчика не входит в задачи данного проекта.
Слайд 23Ключевые участники и заинтересованные стороны
Одна из задач фазы инициации проекта
это выявить и описать всех его участников.
К участникам проекта
относятся все заинтересованные стороны (stakeholders), лица и организации, например заказчики, спонсоры, исполняющая организация, которые активно участвуют в проекте или чьи интересы могут быть затронуты при исполнении или завершении проекта.
Участники также могут влиять на проект и его результаты поставки.
Слайд 24Ключевые участники и заинтересованные стороны
К ключевым участникам программного проекта, как
правило, относятся:
Спонсор проекта — лицо или группа лиц, предоставляющая
финансовые ресурсы для проекта в любом виде.
Заказчик проекта — лицо или организация, которые будут использовать продукт, услугу или результат проекта. Следует учитывать, что заказчик и спонсор проекта не всегда совпадают.
Пользователи результатов проекта.
Слайд 25Ключевые участники и заинтересованные стороны
Куратор проекта — представитель исполнителя, уполномоченный
принимать решение о выделении ресурсов и изменениях в проекте.
Руководитель
проекта — представитель исполнителя, ответственный за реализацию проекта в срок, в пределах бюджета и с заданным качеством.
Соисполнители проекта. Субподрядчики и поставщики
Слайд 26Ресурсы
Чтобы понять, сколько будет стоить реализация программного проекта, требуется определить
и оценить ресурсы необходимые для его выполнения:
Людские ресурсы и
требования к квалификации персонала.
Оборудование, услуги, расходные материалы, лицензии на ПО, критические ресурсы.
Бюджет проекта. План расходов и, при необходимости, предполагаемых доходов проекта с разбивкой по статьям и фазам/этапам проекта.
Слайд 27Ресурсы
Специфика программного проекта заключается в том, что людские ресурсы вносят
основной вклад в его стоимость.
Все остальные затраты, как правило,
незначительны, по сравнению с этим расходами.
О том, как следует подходить к оценкам трудозатрат на реализацию проекта разработки ПО, мы будем подробно говорить в следующих лекциях.
На фазе инициации хорошей считается оценка трудозатрат с точностью от -50% до +100% [2].
Слайд 28Ресурсы
Необходимо помнить, что помимо непосредственно программирования в проекте разработки ПО
есть много других процессов, которые требуют ресурсы соответствующей квалификации, а
само программирование составляет лишь четверть всех затрат.
Распределение трудозатрат по основным производственным процессам при современном процессе разработки ПО выглядит в среднем следующим образом (рис. 6.1):
Слайд 30Сроки
Ф. Брукс [3] писал: «Чтобы родить ребенка требуется девять месяцев
независимо от того, сколько женщин привлечено к решению данной задачи.
Многие задачи программирования относятся к этому типу, поскольку отладка по своей сути носит последовательный характер».
Там же Брукс приводит исключительно полезную, но почему-то редко применяемую, эмпирическую формулу оценки срока проекта по его трудоемкости.
Формула была выведена Барии Боэмом (Barry Boehm) на основе анализа результатов 63 проектов разработки ПО, в основном в аэрокосмической области.
Слайд 31Сроки
Согласно этой формуле, для проекта, общая трудоемкость которого составляет N
ч.*м. (человеко-месяцев), можно утверждать что:
Существует оптимальное, с точки зрения
затрат, время выполнения графика для первой поставки:
T = 2,5 (N ч.*м.)1/3.
То есть оптимальное время в месяцах пропорци-онально кубическому корню предполагаемого объема работ в человеко-месяцах.
Следствием является кривая, дающая оптимальную численность проектной команды (рис. 6.2).
Слайд 33Сроки
Кривая стоимости медленно растет, если запланированный график длиннее оптимального.
Работа занимает все отведенное для нее время.
Кривая стоимости
резко растет, если запланированный график короче оптимального.
Практически ни один проект невозможно завершить быстрее, чем за 3/4 расчетного оптимального графика вне зависимости от количества занятых в нем! (рис. 6.3)
Слайд 35Сроки
Этот примечательный результат дает менеджеру программного проекта солидное подкрепление, когда
высшее руководство требует принятия невозможного графика.
Для сколь-нибудь серьезного программного
проекта недостаточно определить только срок его завершения.
Необходимо еще определить его этапы — контрольные точки, в которых будет происходить переоценка проекта на основе реально достигнутых показателей.
Слайд 36Сроки
Контрольная точка — важный момент или событие в расписании проекта,
отмечающее достижение заданного результата и/или начало/завершение определенного объема работы.
Каждая
контрольная точка характеризуется датой и объективными критериями ее достижения.
Как мы говорили ранее, современный проект разработки ПО должен реализовываться с применением инкрементального процесса
Слайд 37Сроки
В этом случае контрольные точки должны соответствовать выпуску каждой промежуточной
версии ПО, в которой будет реализована и протестирована определенная часть
конечной функциональности программного продукта.
В зависимости от сложности и масштаба проекта продолжительность одной итерации может составлять от 2 до 8 недель.
Слайд 38Риски
Риск – неопределенное событие или условие, наступление которого отрицательно или
положительно сказывается на целях проекта.
Как правило, в случае возникновения негативного
риска, почти всегда стоимость проекта увеличивается и происходит задержка в выполнении мероприятий, предусмотренных расписанием проекта.
Управлению рисками проекта будет посвящена отдельная лекция.
Слайд 39Риски
На этапе инициации, когда нет необходимых данных для проведения детального
анализа, часто приходится ограничиваться качественной оценкой общего уровня рисков:
низкий,
средний,
высокий.
Слайд 40Критерии приемки
Критерии приемки должны определять числовые значения характеристик системы,
которые
должны быть продемонстрированы по результатам приемосдаточных испытаний
или опытной эксплуатации
и однозначно свидетельствовать о достижении целей проекта.
Слайд 41Обоснование полезности проекта
Этот раздел должен содержать краткое тех-нико-экономическое обоснование проекта:
Для кого предназначены результаты проекта.
Описание текущей ситуации «As Is».
Какие у потенциального заказчика существуют проблемы.
Каким образом результаты проекта решают эти проблемы («To Be»).
Насколько значимо для клиента решение данных проблем (оценка экономического эффекта).
Какие преимущества в итоге из этого может извлечь компания-исполнитель проекта.
Слайд 42Выводы
Эффективные процессы инициации программного проекта во многом определяют его будущую
успешность.
Недостаточное внимание этой фазе проекта неизбежно приводит к существенным
проблемам при планировании, реализации и завершении.
Концепция проекта это ключевой документ, который используется для принятия решений в ходе всего проекта, а также на фазе приемки — для подтверждения результата.
Слайд 43Выводы
Приоритет проекта определяется на основе оценки трех показателей:
Финансовая ценность.
Стратегическая ценность.
Уровень рисков.
Слайд 44Выводы
Концепция проекта (Устав проекта) – это ключевой документ, который используется
для принятия решений в ходе всего проекта, а также на
фазе приемки — для подтверждения результата.
Она содержит, как правило, следующие разделы:
Название проекта
Цели проекта
Результаты проекта
Допущения и ограничения
Ключевые участники и заинтересованные стороны
Ресурсы проекта
Сроки
Риски
Критерии приемки
Обоснование полезности проекта
Слайд 45Контрольные вопросы
1. Что такое инициация проекта и какие документы формируются
на этой стадии?
2. Какие характеристики используются при определении приоритетности проекта?
Что такое шкала оценки финансовой ценности проекта?
3. Какие характеристики используются при определении приоритетности проекта? Что такое шкала оценки стратегической ценности проекта?
4. Какие характеристики используются при определении приоритетности проекта? Что такое шкала оценки уровня риска проекта?
5. Что такое концепция проекта и что должна содержать?
6. Что такое цели проекта и какими они могут быть?
7. Что такое результаты проекта и чем они могут измеряться?
Слайд 46Контрольные вопросы
8. Приведите примеры допущения и ограничения на первоначальной стадии
разработки программного проекта.
9. Кто относится к ключевым участникам и заинтересованным
сторонам программного проекта?
10. Какие ресурсы необходимы для выполнения программного проекта?
11. Как распределяются трудозатраты по основным производственным процессам разработки ПО?
12. Сроки выполнения проекта?
13. Что такое риски выполнения проекта?
14. Что такое критерии приемки проекта?
Слайд 47Проектирование программных систем
Лекция
ИНИЦИАЦИЯ (ЗАПУСК) ПРОЕКА
Король Иван Андреевич