Лекции по управлению программными проектами

         

Ресурсы


Для того чтобы понять, сколько будет стоить реализация программного проекта, требуется определить и оценить ресурсы необходимые для его выполнения:

  • Людские ресурсы и требования к квалификации персонала.
  • Оборудование, услуги, расходные материалы, лицензии на ПО, критические компьютерные ресурсы.
  • Бюджет проекта. План расходов и, при необходимости, предполагаемых доходов проекта с разбивкой по статьям и фазам/этапам проекта.

Специфика программного проекта заключается в том, что людские ресурсы вносят основной вклад в его стоимость. Все остальные затраты, как правило, незначительны, по сравнению с этим расходами. О том, как следует подходить к оценкам трудозатрат на реализацию проекта разработки ПО, мы будем подробно говорить в следующих лекциях. На фазе инициации хорошей считается оценка трудозатрат с точностью от -50% до +100% .

Необходимо помнить, что помимо непосредственно программирования в проекте разработки ПО есть много других процессов, которые требуют ресурсы соответствующей квалификации, а само программирование составляет лишь четверть всех затрат. Распределение трудозатрат по основным производственным процессам при современном процессе разработки ПО выглядит в среднем следующим образом:


Рисунок 14.Распределение трудозатрат по основным производственным процессам при разработке ПО

Поэтому, если по вашей оценки для реализации требуемой функциональности в проекте необходимо написать 10 KSLOC (тысяч строк исходного программного кода), а ваши программисты пишут в среднем по 100 SLOC в день, то общие трудозатраты на проект будут не 100 чел.*дней, а не менее чем 400 чел.*дней. Остальные ресурсы потребуются на анализ и уточнение требований, проектирование, документирование, тестирование и другие проектные работы.

Прежде, чем определять численность и состав проектной команды для нашего примера, нам необходимо сделать оценку трудоемкости разработки ПО. В нашем случае такая экспертная оценка составила с учетом затрат на гарантийное сопровождение на этапе опытной эксплуатации 9000 чел.*час.
Исходя из эмпирической кривой Б. Боэма (Рисунок 15), численность команды, близкая к оптимальной, составила 10 человек, из них



  1. Ресурсы проекта

    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 Мы в данном разделе оцениваем себестоимость проекта. Определение продажной цены проекта не входит в рамки данного курса.


Содержание раздела