Лекция
Привет, сегодня поговорим про инициация проекта управление приоритетами проектов, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое инициация проекта управление приоритетами проектов , настоятельно рекомендую прочитать все из категории Управление разработкой программных IT проектов.
Эффективные процессы инициации программного проекта минимум наполовину определяют его будущую успешность. Недостаточное внимание именно этой фазе проекта неизбежно приводит к существенным проблемам при планировании, реализации и завершении проекта.
Инициация состоит из процессов, способствующих формальной авторизации начала нового проекта или фазы проекта. Процессы инициации часто выполняются вне рамок проекта и связаны с организационными, программными или портфельными процессами. В ходе процесса инициации уточняются первоначальное описание содержания и ресурсы, которые организация планирует вложить. На этом этапе также выбирается менеджер проекта, если он еще не назначен, и документируются исходные допущения и ограничения. Эта информация заносится в Устав проекта и, если он одобряется, проект официально авторизуется.
Устав проекта [1] — документ, выпущенный инициатором или спонсором проекта, который формально узаконивает существование проекта и предоставляет менеджеру проекта полномочия использовать организационные ресурсы в операциях проекта.
В российской практике данный документ чаще называется Концепция проекта. Концепция (от лат. conceptio — понимание, система), определенный способ понимания, трактовки какого-либо предмета, явления, процесса, основная точка зрения на предмет и др., руководящая идея для их систематического освещения.
В компании, которая принимает решение о старте того или иного проекта разработки ПО, должна существовать единая система критериев для оценки его значимости. Система критериев должна позволять из множества возможных для реализации проектов выбрать наиболее приоритетные для компании.
Приоритет любого проекта должен определяться на основе оценки трех его характеристик:
Шкала оценки финансовой ценности проекта может выглядеть следующим образом:
Например. Финансовая ценность проектов разработки ПО, проектов внедрения или сопровождения, которые выполняются в соответствие с заключенными коммерческими договорами, может быть оценена как высокая. Проект планового развития функциональности продуктов в соответствии с требованиями рынка, инициируемое менеджером продукта на основе анализа предложений отделов маркетинга, консалтинга, продаж и технической поддержки, может получить оценку финансовой ценности выше среднего, а проекты изменения технологических процессов или проекты внутренней автоматизации могут иметь среднюю финансовую ценность.
Одной финансовой ценности для определения приоритета проекта недостаточно. Например, ни одна компания разработчик ПО не возьмется за автоматизацию нелегального оборота наркотиков, если это не соответствует стратегии ее бизнеса. Поэтому, важным показателем приоритета проекта является его соответствие стратегическим целям компании.
Шкала оценки стратегической ценности проекта может иметь следующий вид:
Третьим обязательным показателем приоритета проекта должна быть оценка уровня его риска. Ни один проект, который имеет даже самую высокую оценку финансовой выгодности, не будет запущен в производство, если достижение этой сверхвыгоды имеет минимальные шансы.
Примерная шкала оценки уровня рисков проекта может иметь следующий вид:
Если компания уделяет мало внимания управлению приоритетами своих проектов, то это приводит к переизбытку реализуемых проектов, перегруженности исполнителей, постоянным авралам и сверхурочным работам и, как следствие, к низкой эффективности производственной деятельности. При старте нового проекта с высоким приоритетом, компания должна остановить или закрыть менее значимые проекты, чтобы обеспечить новый проект необходимыми ресурсами, а не пытаться сделать все и сразу за счет интенсификации работ, как правило, это не получается.
У каждого проекта должна быть концепция. Об этом говорит сайт https://intellect.icu . Если проект небольшой, то для изложения концепции часто достаточно несколько абзацев. Однако, стартовать проект без концепции, это все равно, что отправлять корабль в плавание, не определив для него пункт назначения.
Концепция проекта разрабатывается на основе анализа потребностей бизнеса. Главная функция документа — подтверждение и согласование единого видения целей, задач и результатов всеми участниками проекта. Концепция определяет что и зачем делается в проекте.
Концепция проекта это ключевой документ, который используется для принятия решений в ходе всего проекта, а также на фазе приемки — для подтверждения результата. Она содержит, как правило, следующие разделы:
В качестве примера, который позволит иллюстрировать теоретическое изложение основ управления проектами, возьмем реальный проект разработки ПО для автоматизации одного из подразделений крупной производственной компании. Назовем его «Автоматизированная система продажи документации».
Краткая легенда проекта. Заказчик ОАО «XYZ» является одним из ведущих производителей сложных технических изделий. Отдел «123», входящий в ОАО «XYZ», отвечает за продажу дополнительной сопроводительной документации для клиентов ОАО.
Дополнительная документация не входит в стандартную поставку, поскольку владелец этого технического изделия не всегда сам его эксплуатирует, а передает в эксплуатацию другой компании, которая становится клиентом «XYZ», и закупает у нее эксплуатационную документацию. Ремонт и техобслуживание конкретного изделия может выполнять третья компания, которой уже потребуется детальная техническая документация по ремонту и обслуживанию. Она также становится клиентом «XYZ» и закупает у нее требуемую продукцию.
Основная функция отдела «123» — получение и обработка заказов на дополнительную документацию, согласно ежегодно рассылаемому каталогу. В связи с переездом отдела «123» в новое здание, была поставлена задача на разработку и поставку системы, автоматизирующей основную деятельность отдела «123».
Текст документа Концепция проекта, который будет приводиться в качестве примера, будем выделять цветом фона.
Цели проекта должны отвечать на вопрос, зачем данный проект нужен. Цели проекта должны описывать бизнес-потребности и задачи, которые решаются в результате исполнения проекта. Целями проекта могут быть:
Цели должны быть значимыми (направленными на достижение стратегических целей Компании), конкретными (специфичными для данного проекта), измеримыми (т.е иметь проверяемые количественные оценки), реальными (достижимыми). Четкое определение бизнес-целей важно, поскольку существенно влияет на все процессы и решения в проекте. Проект должен быть закрыт, если признается, что достижение цели невозможно или стало нецелесообразным. Например, если реальные затраты на проект будут превосходить будущие доходы от его реализации.
Результаты проекта отвечают на вопрос, что должно быть получено после его завершения. Результаты проекта должны определять:
Следует помнить, что результаты проекта должны быть измеримыми. Это означает, что при оценке результатов проекта должна иметься возможность сделать заключение достигнуты оговоренные в концепции результаты или нет.
Соответствующий раздел документа концепция проекта создания «Автоматизированной системы продажи документации» будет выглядеть следующим образом.
1.1. Целью проекта является повышение эффективности основной производственной деятельности отдела «123».
1.2. Дополнительными целями проекта являются:
1.2.1. Установление долгосрочных отношений с важным заказчиком ОАО «XYZ».
1.2.2. Выход на новый перспективный рынок современных B2C систем.
2.1. Снижение затрат на обработку заявок.
2.2. Снижение сроков обработки заявок.
2.3. Повышение оперативности доступа к информации о наличии продукции.
2.4. Повышение оперативности доступа к информации о прохождении заявок.
2.5. Повышение надежности и полноты хранения информации о поступивших заявках и результатах их обработки.
3.1. Прикладное ПО и документация пользователей.
3.2. Базовое ПО.
3.3. Оборудование ЛВС, рабочие станции, сервера и операционно-системное ПО.
3.4. Проведение пуско-наладочных работ и ввод в опытную эксплуатацию.
3.5. Обучение пользователей и администраторов системы.
3.6. Сопровождение системы на этапе опытной эксплуатации.
3.7. Передача системы в промышленную эксплуатацию.
4.1. Авторизация и аутентификация пользователей.
4.2. Просмотр каталога продуктов.
4.3. Поиск продуктов по каталогу.
4.4. Заказ выбранных продуктов.
4.5. Просмотр информации о статусе заказа.
4.6. Информирование клиента об изменении статуса заказа.
4.7. Просмотр и обработка заказов исполнителями из службы продаж.
4.8. Просмотр статистики поступления и обработки заказов за период.
4.9. Подготовка и сопровождение каталога продукции.
Данный раздел описывает исходные допущения и ограничения. Допущения, как правило, тесно связаны с управлением рисками, о котором мы будем говорить далее. В разработке ПО часто приходится формулировать риски в виде допущений, тем самым передавая его заказчику. Например, оценивая проект разработки и внедрения по схеме с фиксированной ценой, мы должны записать в допущения предположение о том, что стоимость лицензий на стороннее ПО не изменится, до завершения проекта.
Ограничения, как правило, сокращают возможности проектной команды в выборе решений. В частности они могут содержать:
В этом разделе также уместно сформулировать те требования к системе, которые могут ожидаться заказчиком по умолчанию, но не включаются в рамки данного проекта. Например, в данный раздел может быть включен пункт о том, что разработка программного интерфейса (API) для будущей интеграции с другими системами заказчика не входит в задачи данного проекта.
Содержание этого раздела для нашего проекта-примера выглядит следующим образом.
5.1. Проектирование прикладного ПО выполняется с использованием UML1.
5.2. Средством разработки ПО является Symantec Visual Cafe for Java2.
5.3. В качестве промежуточного ПО сопровождения и поддержки каталога используется ОО БД «Poet»3.
5.4. Нагрузка на систему не должна быть более 100 одновременно работающих пользователей.
5.5. В рамки проекта не входят:
5.5.1. Защита системы от преднамеренного взлома.
5.5.2. Разработка B2B API и интеграция с другими системами.
Одна из задач фазы инициации проекта это выявить и описать всех его участников. Согласно [1] к участникам проекта относятся все заинтересованные стороны (stakeholders), лица и организации, например заказчики, спонсоры, исполняющая организация, которые активно участвуют в проекте или чьи интересы могут быть затронуты при исполнении или завершении проекта. Участники также могут влиять на проект и его результаты поставки.
К ключевым участникам программного проекта, как правило, относятся:
Содержание этого раздела в концепции-примере будет иметь вид.
6.1. Спонсор проекта — директор Департамента информатизации ОАО «XYZ» В.Васильев.
6.2. Заказчик — начальник Отдела «123» Ф.Федотов
6.3. Пользователи автоматизированной системы:
6.4. Клиенты ОАО «XYZ» (поиск и заказ документации).
6.5. Руководство ОАО «XYZ» (анализ деятельности Отдела «123»).
6.6. Сотрудники производственных департаментов ОАО «XYZ» (сопровождение каталога).
6.7. Сотрудники Отдела «123» (обработка заявок и поставка документации).
6.8. Сотрудники департамента информатизации ОАО «XYZ» (администрирование системы).
6.9. Куратор проекта — начальник отдела заказных разработок И.Иванов.
6.10. Руководитель проекта — ведущий специалист отдела заказных разработок МП П.Петров.
7.1. Поставщик оборудования и операционно-системного ПО — ООО «Альфа».
7.2. Поставщик базового ПО — ООО «Бета».
Для того чтобы понять, сколько будет стоить реализация программного проекта, требуется определить и оценить ресурсы необходимые для его выполнения:
Специфика программного проекта заключается в том, что людские ресурсы вносят основной вклад в его стоимость. Все остальные затраты, как правило, незначительны, по сравнению с этим расходами. О том, как следует подходить к оценкам трудозатрат на реализацию проекта разработки ПО, мы будем подробно говорить в следующих лекциях. На фазе инициации хорошей считается оценка трудозатрат с точностью от -50% до +100% [2].
Необходимо помнить, что помимо непосредственно программирования в проекте разработки ПО есть много других процессов, которые требуют ресурсы соответствующей квалификации, а само программирование составляет лишь четверть всех затрат. Распределение трудозатрат по основным производственным процессам при современном процессе разработки ПО выглядит в среднем следующим образом:
Рисунок 14.Распределение трудозатрат по основным производственным процессам при разработке ПО
Поэтому, если по вашей оценки для реализации требуемой функциональности в проекте необходимо написать 10 KSLOC (тысяч строк исходного программного кода), а ваши программисты пишут в среднем по 100 SLOC в день, то общие трудозатраты на проект будут не 100 чел.*дней, а не менее чем 400 чел.*дней. Остальные ресурсы потребуются на анализ и уточнение требований, проектирование, документирование, тестирование и другие проектные работы.
Прежде, чем определять численность и состав проектной команды для нашего примера, нам необходимо сделать оценку трудоемкости разработки ПО. В нашем случае такая экспертная оценка составила с учетом затрат на гарантийное сопровождение на этапе опытной эксплуатации 9000 чел.*час. Исходя из эмпирической кривой Б. Боэма (Рисунок 15), численность команды, близкая к оптимальной, составила 10 человек, из них
8.1. Требования к персоналу
8.1.1. 1 — руководитель проекта,
8.1.2. 1 — технический лидер (архитектура, проектирование),
8.1.3. 1 — системный аналитик (требования, тест-дизайн, документирование),
8.1.4. 4 — программисты (с учетом работ по конфигурационному управлению),
8.1.5. 3 — тестировщика.
8.2. Материальные и другие ресурсы
8.2.1. Сервер управления конфигурациями и поддержки системы контроля версий
8.2.2. 2 серверных комплекса (для разработки и тестирования):
8.2.3. Сервер приложений с установленным BEA Weblogic AS
8.2.4. Сервер оперативной БД с установленной Oracle RDBMS
8.2.5. Сервер каталога с установленной OODB "Poet"
8.3. Лицензии на средства разработки и тестирования:
8.3.1. Oracle Designer — 1 лицензия
8.3.2. Symantec Visual Cafe for Java — 5 лицензий.
8.3.3. IBM Rational Test Robot (1 лицензия разработчика + неограниченная лицензия на клиент).
8.4. Расходная часть бюджета проекта4
8.4.1. Разработка и сопровождение прикладного ПО:
8.4.1.1. 9000 чел.*час. * $40 = $360 000
8.4.2. Поставка оборудования и операционно-системного ПО:
8.4.2.1. 3 сервера * $10 000 = $30 000
8.4.3. Поставка базового ПО:
8.4.3.1. BEA Weblogic AS $20 000
8.4.3.2. Oracle RDBMS $20 000
Итого: $430 000
1 Проект стартовал в 2000 году, тема UML тогда была на слуху и даже оставались те, кто верил, что из модели на UML можно будет генерировать исходный код.
2 Таково было требование Заказчика, поскольку этот инструмент использовали его программисты, которым предполагалось передавать систему на сопровождение.
3 Еще один пример горячей темы и не оправдавшихся надежд — это объектно-ориентированные базы данных. У заказчика проекта уже были закуплены лицензии на эту базу данных и он очень хотел получить возврат от этих инвестиций. Поэтому ее использование в проекте стало одним из требований. К счастью, нам удалось быть достаточно убедительными и обосновать необходимость дополнительно использовать RDBMS Oracle для решения транзакционных задач. О том, к чему это привело, я подробно рассказал в своей книге: С. Архипенков, "Руководство командой разработчиков программного обеспечения. Прикладные мысли", Москва, 2008.
4 Мы в данном разделе оцениваем себестоимость проекта. Определение продажной цены проекта не входит в рамки данного курса.
Надеюсь, эта статья об увлекательном мире инициация проекта управление приоритетами проектов, была вам интересна и не так сложна для восприятия как могло показаться. Желаю вам бесконечной удачи в ваших начинаниях, будьте свободными от ограничений восприятия и позвольте себе делать больше активности в изученном направлени . Надеюсь, что теперь ты понял что такое инициация проекта управление приоритетами проектов и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Управление разработкой программных IT проектов
Комментарии
Оставить комментарий
Управление разработкой программных IT проектов
Термины: Управление разработкой программных IT проектов