Основные этапы проекта разработки нового изделия
На этом шаге проводится структурирование последовательности технической реализации проекта.
Планирование содержания работ, формирование последовательности и характеристика этапов выбранных стадий разработки ПО осуществляется в соответствии с ЕСПД ГОСТ 19102-77 применительно к данному проекту. Причем, в содержании указываются конкретные наименования работ, которые имеют законченный результат и выполнение которых может быть возложено на отдельного исполнителя (группу исполнителей).
Перечень работ по стадиям и этапам целесообразно оформлять в виде таблицы, аналогичной указанной в ГОСТе.
Типовыми наименованиями работ могут быть следующие:
1. Разработка алгоритмов (общих алгоритмов), структуры данных, структуры основных и вспомогательных модулей и др., выбор среды программирования, разработка структурной схемы, выбор элементной базы и т.п.;
2. Разработка программных модулей (программного обеспечения), разработка интерфейса, подготовка справочных баз данных, разработка принципиальной схемы устройства, разработка печатной платы и т.п.;
3. Тестирование, отладка и исправление недочетов, разработка методики проведения тестирования, отладка ПО, отладка (испытание) аппаратной части, исправление ошибок и устранение выявленных недостатков и т.п.;
1. Внедрение, предполагающее адаптацию ПО к условиям его использования в информационной среде покупателя. Настройка соответствующих форм, стыковка с используемым ПО покупателя и др.
При разработке комплекса мероприятий по обучению персонала методам использования ПО следует придерживаться следующей последовательности шагов:
1. Определение требований к пользователям ПО: разделение специалистов на группы (администратор, технолог, куратор и т.п.), описание совокупности предварительных навыков и умений, которыми должны обладать пользователи различных групп системы обучения использования ПО;
2. Разработка перечня учебных курсов, формы их проведения (лекции, семинары, практические занятия и т.п.), длительности занятий (учебных часов);
3. Расчет величины затрат на разработку учебно-методического обеспечения учебного процесса (затраты на разработку учебных пособий и их издание);
4. Определение суммы затрат на реализацию системы обучения: затраты на заработную плату тьюторов, затраты на аренду учебных помещений и т.п.;
5. Анализ затрат на переподготовку персонала для работы с ПО.
Расчет трудоемкости проекта
Расчет трудоемкости является основополагающим для определения общих затрат на реализацию проекта, так как через него, в конечном итоге, оценивается один из основных затратных показателей – совокупные затраты на оплату труда исполнителей. Именно поэтому ему должно быть уделено особое внимание.
Общие затраты труда на разработку и внедрение изделия (проекта) определяют следующим образом:
( 1 )
где ti - затраты труда на выполнение i -го этапа проекта.
Полный перечень работ с разделением их по этапам выполнения проекта следует оформить в виде таблицы, фрагмент которой показан на рис. 1.
Рис. 1. Фрагмент таблицы перечня работ проекта
Для заполнения последних двух столбцов таблицы следует воспользоваться одним из известных методов оценки трудоемкости.
Простейший из них – метод прямого хронометрирования, когда продолжительность выполнения отдельных работ фиксируется в процессе их выполнения, т.е. постфактум. Очевидно, что он может использоваться для обоснования произведенных расходов, а не для их прогнозирования.
Прогнозный характер оценки трудоемкости, как этого требует бизнес-проект, обеспечивают метод экспертной оценки, а также метод, базирующийся на сравнении с существующим аналогом (возможно сочетание этих подходов).
При экспертной оценке ожидаемая продолжительность работ вычисляется по следующей формуле:
( 2 )
где Tmin и Tmax - минимальная и максимальная продолжительность работы. Они назначаются в соответствии с экспертными оценками, а ожидаемая продолжительность работы рассчитывается как математическое ожидание для b - распределения.
Во втором случае трудоемкость оценивают на основе известной трудоемкости разработки аналогичного ПО с учетом отличительных особенностей данного проекта, отражаемых введением поправочных коэффициентов. Этот подход предполагает наличие специального Фонда алгоритмов и программ–аналогов, имеющихся в данной отрасли промышленности или у конкретного производителя этой продукции.
Расчет затрат с помощью этого подхода состоит в следующем. Сначала выбирают программу-аналог и относительно нее вводят коэффициент сложности разрабатываемого продукта (nсл). Сложность программы-аналогапринимается за единицу. Затем определяют коэффициент квалификации разработчика (nкв), который отражает степень его подготовленности к выполнению порученной ему работы.
Коэффициент квалификации исполнителя определяют в зависимости от стажа работы: для работающих до 2-х лет - 0,8; от 2 до 3 лет -1,0; от 3 до 5 лет - 1,1 - 1,2; от 5 до 7 лет - 1,3 - 1,4 и свыше 7 лет - 1,5 - 1,7.
Трудоемкость проекта можно рассчитать по следующей формуле:
( 3 )
Так, например, если известна сложность разработки программы-аналога (Qа) в 750 человеко-часов и коэффициент сложности новой программы определить как 1,2 а коэффициент квалификации программистов установить на уровне 1, то трудозатраты на проектирование составят 900 чел/час.
Расчеты по формуле ( 3 ) можно проводить как для всего проекта в целом (в случае наличия полного общего функционального аналога проекта), так и для отдельных сопоставимых частей аналога и разрабатываемого продукта.
В случае полной общей аналогии трудоемкость отдельных работ из перечня (см. табл. Рис. 1) определяется из общей пропорциональным пересчетом, либо экспертной оценкой.
Если же у прототипа только часть работ функционально идентична разрабатываемому продукту, то оценивается трудоемкость именно этой части, а трудозатраты остальных работ (частей) определяются экспертной оценкой, либо через соответствующие коэффициенты пропорциональности.
Так, например, пусть затраты труда на выполнение работ по проекту можно разделить на следующие временные интервалы: время на разработку алгоритма; на непосредственное написание программы; на проведение тестирования, внесение исправлений и на написание сопроводительной документации.
( 4 )
Для вычисления объема трудозатрат следует соотнести их с объемом трудозатрат, необходимых для написания текста программы. Сначала следует определить трудозатраты на алгоритмизацию задачи. Его можно определить используя коэффициент затрат на алгоритмизацию (nА), равный отношению трудоемкости разработки алгоритма по отношению к трудоемкости его реализации при программировании, откуда:
( 5 )
Его значение лежит в интервале значений 0,1 до 0,5. Обычно его выбирают равным nА =0,3 [1].
Для определения t3 следует также найти коэффициенты связи трудозатрат на этом этапе с этапом программирования.
Затраты труда на проведение тестирования, внесение исправлений и подготовки сопроводительной документации определяются суммой затрат труда на выполнение каждой работы этапа тестирования:
( 6 )
где tT - затраты труда на проведение тестирования, tИ - затраты труда на внесение исправлений, tД - затраты труда на написание документации.
Значение t3 можно определить, если ввести соответствующие коэффициенты к значениям затрат труда на непосредственно программирование (t2):
( 7 )
Коэффициент затрат на проведение тестирования отражает отношение затрат труда на тестирование программы по отношению к затратам труда на ее разработку и может достигать значения 50% [1]. Обычно его выбирают на уровне nТ = 0,3.
Коэффициент коррекции программы при ее разработке отражает увеличение объема работ при внесении изменений в алгоритм или в текст программы по результатам уточнения постановки и описания задачи, изменения состава и структуры входной и выводимой информации, а также в процессе улучшения качества программы без изменения ее алгоритмов. На практике, при разработке программы в среднем вносится 3 - 5 коррекции, каждая из которых ведет к переработке 5 - 10 % программы. Коэффициент коррекции программы выбирают на уровне nИ = 0,3.
Коэффициент затрат на написание документации отражает отношение затрат труда на создание сопроводительной документации по отношению к затратам труда на разработку программы может составить до 75 %. Для небольших программ коэффициент затрат на написание сопроводительной документации может составить: nД = 0,35.
Объединив полученные значения коэффициентов затрат в соотношении 6, определяют затраты труда на выполнение этапа тестирования (соотношение 8):
( 8 )
С учетом соотношений 4 и 8 можно записать:
( 9 )
где nА - коэффициент затрат на алгоритмизацию.
Тогда, затраты труда на написание программы (программирование) составят:
(10 )
Для проверки следует внести показанные значения коэффициентов в соотношение 10, тогда значение затрат труда на программирование для объявленного примера составит 400 чел/час.
Поставляя полученное значение для t3 в соотношения 5 и 7, следует получить значения затрат труда на разработку алгоритмов, проведение тестирования, внесение исправлений и написание сопроводительной документации.
Затраты труда на внедрение ПО зависят от времени на осуществление опытной эксплуатации, которое согласовывается с заказчиком и, нередко составляет один месяц или 22 чел/дня. В этом случае при 8-ми часовом рабочем дне этап внедрения может потребовать 176 чел/часов.
Подставляя полученные данные в соотношение 1, определяют общее значение трудозатрат для выполнения проекта:
( 11 )
В том случае, когда отдельные работы могут выполняться одновременно несколькими исполнителями, такая продолжительность (ti)определяется из соотношения 12:
( 12 )
где tpp - расчетная продолжительность работы, Wисп - количество исполнителей, КН - коэффициент выполнения нормы.
«Чистую» продолжительность работ следует рассчитывать исходя из того, что одной работой занят один исполнитель, а коэффициент выполнения нормы равен единице (обычно он составляет 1,0 - 1,2).
Затраты труда по отдельным работам, полученные с помощью соотношения 12, следует занести в таблицу 1 (рис. 1).