Научная статья на тему 'Оценка трудоемкости проекта по созданию программного продукта'

Оценка трудоемкости проекта по созданию программного продукта Текст научной статьи по специальности «Экономика и бизнес»

CC BY
5920
311
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
iPolytech Journal
ВАК
Область наук
Ключевые слова
ТРУДОЕМКОСТЬ / ПРОЕКТЫ / РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / ОЦЕНКА ТРУДОЕМКОСТИ ПРОЕКТА / ПЛАНИРОВАНИЕ СРОКОВ ПРОЕКТА / LABOUR-INTENSIVENESS / PROJECTS / SOFTWARE DEVELOPMENT / ASSESSMENT OF PROJECT LABOUR-INTENSIVENESS / PLANNING THE PROJECT DEADLINE

Аннотация научной статьи по экономике и бизнесу, автор научной работы — Нащеева Александра Анатольевна, Гутгарц Римма Давыдовна

Рассмотрены имеющиеся подходы к оценке трудоемкости проектов по разработке программного обеспечения, описана проблема недооценки сроков проекта на стадии планирования. Предложен авторский метод расчета трудоемкости проекта, позволяющий существенно повысить точность оценки. Он включает рекомендации по проведению оценки, а также формулу расчета с описанием коэффициентов и их возможных значений. Данный метод расчета используется в ООО «Ай-Поинт рус» и позволяет существенно снизить процент ошибок.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по экономике и бизнесу , автор научной работы — Нащеева Александра Анатольевна, Гутгарц Римма Давыдовна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ESTIMATION OF LABOUR-INTENSIVENESS OF A PROJECT ON SOFTWARE PRODUCT CREATION

The article discusses the available approaches to assessing the labour-intensiveness of projects on software development. It describes the problem of underestimating the deadline of a project at the planning stage. The author's method of calculating the labour-intensiveness of a project is proposed. The last allows a considerable improvement in the accuracy of assessment and includes recommendations for the assessment realization as well as a calculation formula with the description of coefficients and their possible values. This method of calculation is used in the I-Point Rus LLC and enables to reduce error rates significantly.

Текст научной работы на тему «Оценка трудоемкости проекта по созданию программного продукта»

УДК 331.103.226

ОЦЕНКА ТРУДОЕМКОСТИ ПРОЕКТА ПО СОЗДАНИЮ ПРОГРАММНОГО ПРОДУКТА

А.А. Нащеева1, Р.Д. Гутгарц2

1ООО «Ай-Поинт рус»,

г. Иркутск, ул. Байкальская, 244/1, оф. 70.

Национальный исследовательский Иркутский государственный технический университет, 664074, г. Иркутск, ул. Лермонтова, 83.

Рассмотрены имеющиеся подходы к оценке трудоемкости проектов по разработке программного обеспечения, описана проблема недооценки сроков проекта на стадии планирования. Предложен авторский метод расчета трудоемкости проекта, позволяющий существенно повысить точность оценки. Он включает рекомендации по проведению оценки, а также формулу расчета с описанием коэффициентов и их возможных значений. Данный метод расчета используется в ООО «Ай-Поинт рус» и позволяет существенно снизить процент ошибок. Ил. 1. Табл. 1. Библиогр. 3 назв.

Ключевые слова: трудоемкость; проекты; разработка программного обеспечения; оценка трудоемкости проекта; планирование сроков проекта.

ESTIMATION OF LABOUR-INTENSIVENESS OF A PROJECT ON SOFTWARE PRODUCT CREATION A.A. Nascheeva, R.D. Gutgarts

"I-Point Rus" LLC,

244/1, Baikalskaya St., office 70, Irkutsk. National Research Irkutsk State Technical University, 83, Lermontov St., Irkutsk, 664074.

The article discusses the available approaches to assessing the labour-intensiveness of projects on software development. It describes the problem of underestimating the deadline of a project at the planning stage. The author's method of calculating the labour-intensiveness of a project is proposed. The last allows a considerable improvement in the accuracy of assessment and includes recommendations for the assessment realization as well as a calculation formula with the description of coefficients and their possible values. This method of calculation is used in the "I-Point Rus" LLC and enables to reduce error rates significantly. 1 figure. 1 table. 3 sources.

Key words: labour-intensiveness; projects; software development; assessment of project labour-intensiveness; planning the project deadline.

В сфере разработки программного обеспечения (ПО) существует серьезная проблема, связанная с отставанием проектов от запланированных сроков. Основная причина - в неправильной оценке сроков проекта на этапе планирования. Рассмотрен разработанный автором метод оценки трудоемкости проекта, который на практике доказал, что позволяет обеспечить желаемую точность в расчетах.

Сначала определимся с понятием трудоемкость. «Трудоемкость - это экономический показатель, характеризующий затраты рабочего времени на производство единицы продукции или на выполнение конкретной технологической операции; один из показателей производительности труда. Трудоемкость исчисляется делением затраченного времени на количество произведенной продукции или объем выполненных работ» [1, с. 96].

<2 = ^

* V'

где О - трудоемкость; T - количество затраченных

человеко-часов; V - количество произведенной продукции.

Различают фактическую и плановую трудоемкость. Фактическая трудоемкость отражает действительные затраты труда и определяется на основе фактических данных об отработанном в отчетном периоде времени и количестве произведенной продукции. Расчет фактической трудоемкости не представляет большой проблемы, если в компании существует информационная система, позволяющая накапливать статистику по трудозатратам. В данной статье будет уделено внимание расчету плановой трудоемкости.

Единицей измерения трудоемкости является время (в часах, днях и т.п. в зависимости от размера проекта). Иногда ее измеряют в человеко-часах. Для разработки ПО лучше принять за единицу измерения трудоемкости часы (человеко-часы), так как при расчете плановой трудоемкости задачи целесообразно разбивать настолько мелко, чтобы на реализацию одной задачи уходило не более восьми часов (стандартный рабочий день). В данной статье будем в качестве измерителя трудоемкости использовать чело-

1Нащеева Александра Анатольевна, исполнительный директор, тел.: 89148881003, e-mail:nasheeva@gmail.com Nascheeva Alexandra, Managing Director, tel.: 89148881003, e-mail: nasheeva@gmail.com

2Гутгарц Римма Давыдовна, доктор экономических наук, профессор кафедры автоматизированных систем, тел.: 89643596493, e-mail:gut@istu.edu

Gutgarts Rimma, Doctor of Economics, Professor of the Department of Automated Systems, tel.: 89643596493, e-mail: gut@istu.edu

веко-часы, чтобы было понятно, что имеется в виду час работы одного сотрудника.

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

1. Алгоритмическое моделирование. Метод основан на анализе статистических данных о ранее выполненных проектах. При этом определяется зависимость трудоемкости проекта от какого-нибудь количественного показателя программного продукта (это может быть размер программного кода, количество функциональных точек - реализуемых функций). Проводится оценка этого показателя для проекта, после чего с помощью соответствующей модели прогнозируются будущие затраты.

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

3. Оценка по аналогии. Этот метод используется в том случае, если в данной области применения создаваемого ПО уже реализованы аналогичные проекты. Метод основан на сравнении планируемого проекта с предыдущими проектами, имеющими подобные характеристики. Он использует экспертные данные или сохраненные данные о проекте. Эксперты вычисляют оптимистичную, пессимистичную и наиболее вероятную оценку трудоемкости, основываясь на различиях между новым и предыдущими проектами. Оценка может быть достаточно детальной, в зависимости от глубины аналогий. Слабость модели заключается в том, что степень подобия нового проекта и ранее выполненных проектов, как правило, не слишком велика.

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

Каждый метод оценки имеет слабые и сильные стороны. А.М. Вендров отмечает, что «Для работы над большими проектами необходимо применить несколько методов оценки для их последующего сравнения. Если при этом получаются совершенно разные результаты, значит, информации для получения более точной оценки недостаточно. В этом случае необходимо воспользоваться дополнительной информацией, после чего повторить оценку, и так до тех пор, пока результаты разных методов не станут достаточно близкими» [2, с. 425].

К сожалению, на практике очень часто преобладает четвертый способ оценки - «с целью выиграть контракт». Именно поэтому мы имеем плачевную статистику по количеству успешных проектов: команда бе-

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

Но и слишком растягивать сроки при оценке проекта тоже не рекомендуется, поскольку следует иметь в виду закон Паркинсона, согласно которому усилия, затраченные на работу, распределяются равномерно по выделенному на проект времени.

На основе собственного опыта оценки трудоемкости проектов, а также опыта работы с использованием технологии Scrum нами была разработана собственная технология. Она во многом опирается на принципы Planning Pocker из Scrum, описанные в [3], но и имеет ряд дополнений, которые пришлось добавить для улучшения результата оценки.

Следует отличать этап оценки трудоемкости от этапа планирования. Практика показывает, что заказчику на этапе принятия решения о работе с конкретной командой, или при выборе разработчиков из нескольких вариантов, или даже на этапе принятия решения о реализации идеи требуется получить от команды примерную оценку по срокам и стоимости разработки. Проанализируем наиболее общую ситуацию, когда, не имея четкого технического задания, требуется дать оценку трудоемкости.

1. Изначально делается оценка категории проекта. Категории могут быть следующих видов:

1) небольшие проекты: проектная команда включает менее 10 человек, проект длится от 3 до 6 месяцев;

2) средние проекты: проектная команда включает от 20 до 30 человек, протяженность проекта составляет 1 -2 года;

3) крупномасштабные проекты: проектная команда включает от 100 до 300 человек, протяженность проекта составляет 3-5 лет;

4) гигантские проекты: в проекте участвует армия разработчиков от 1000 до 2000 человек и более (включающая, как правило, консультантов и соисполнителей), протяженность проекта составляет 7-10 лет.

2. Желательно так организовать процесс оценки, чтобы заказчик либо его представитель, ответственный за формулирование требований, хорошо понимающий цель разрабатываемой системы, лично либо удаленно мог отвечать на вопросы, возникающие в результате оценки. Это позволит в случае неопределенности не делать предположений, которые, скорее всего, будут ошибочными, а руководствоваться реальными знаниями, полученными со стороны заказчика.

3. Оценка должна проводиться двумя либо большим количеством будущих разработчиков системы.

4. В зависимости от категории проекта, единицей измерения трудоемкости является:

1) небольшие проекты - человеко-час;

2) средние - человеко-час, человеко-день;

3) крупномасштабные и гигантские - человеко-неделя.

5. Этап разбиения на задачи. Проводится сов-

местно представителями разработчика и заказчика. Оформляется список подлежащих реализации задач на бумажном носителе либо в Excel.

6. Оценка времени на каждую задачу. Здесь используется технология Planning poker из Scrum.

7. Необходимо отметить, что на этапе оценивания каждой задачи оценки даются без учета рисков, в «чистых» часах разработки. Если задача получается крупнее 40 часов разработки, то ее необходимо разбить. Лучше всего иметь задачи с оценкой не более восьми часов - такая разбивка точнее и имеет меньше ошибок в сроках.

8. При использовании в проекте новых технологий

Коэффициенты для расчета трудоемкости выполнения проекта по разработке ПО

Коэффициент Экономический смысл Возможные значения

К„т (коэффициент новых технологий) Относительное число используемых в проекте новых технологий число новых использумых технологий - общее число используемых технологий

К„3 (коэффициент новых задач) Число новых для команды задач относительно общего числа задач число задач, которые команда раньше не решала - общее число задач в проекте

К< (коэффициент сработанности команды) Работала ли команда проекта в таком же составе над другим проектом (проектами), насколько успешно 0 < Кк < 1

Ко (коэффициент ошибки) Показывает вероятность допущения ошибки, зависит от количества неопределенности на этапе оценки трудоемкости проекта 0 < К0 < 1

—— Итоговая оценка — — Изначальная оценка

О 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9

Кнт

График изменения итоговой оценки трудоемкости проекта в зависимости от коэффициента

новых технологий

необходимо отдельно оценивать время на изучение данных технологий.

9. После оценки всех задач считается суммарная оценка. Конечный результат рассчитывается по формуле

п — YN Т V (1 Кнт+Кнз+Кк+К<л

2 = и=1 Тзад. I х ( 1 + - ),

где 2 - итоговая оценка (в человеко-часах); Тзад. 1 -оценка времени выполнения для /'-ой задачи проекта; N - общее количество задач в проекте; М - коэффициент, представляющий собой числовое значение, равное в частном случае 2. Это значение было полу-

чено эмпирическим путем на основе анализа 20 проектов, выполненных в компании ООО «Ай-Поинт рус». Для проектов, выполняемых другими командами, данный коэффициент может принимать другие значения; К - коэффициенты, особенности которых приведены в таблице.

Посмотрим, как будет меняться итоговая оценка при изменении коэффициента новых технологий от 0 до 0,95. Начальные данные: оценка - 320 ч; Ко - 0,5; Кнз - 0,5, Кк - 0, 6. График изменения итоговой оценки

приведен на рисунке.

Итак, проанализированы способы оценки трудоемкости программных проектов, предложен авторский метод расчета, позволяющий существенно повысить точность (опробовано в компании ООО «Ай-Поинт рус»). Применение данного метода для оценки трудоемкости проектов по разработке ПО в ООО «Ай-Поинт рус» позволило сократить ошибки оценки в среднем с 50-100% до 20%.

Библиографический список

1. Заяц И.Н., Кружкова Р.В., Петренко И.А. Экономика, организация и планирование винодельческого производства. М.: Пищевая промышленность, 1969. 415 с.

2. Проектирование программного обеспечения экономических информационных систем: учебник. 2-е изд., перераб. и

доп. М.: Финансы и статистика, 2006. 544 с. 3. Хенрик Книберг. «Scrum и XP: заметки с передовой» / в переводе сообщества Agile Ukraine. URL: http://www.infoq.com/minibooks/scrum-xp-from-the-trenches.

УДК 330.342.146

СОЦИАЛЬНО-ЭКОНОМИЧЕСКОЕ ИЗМЕРЕНИЕ БЛАГОСОСТОЯНИЯ ГОСУДАРСТВА, ОРГАНИЗАЦИЙ И ГРАЖДАН

О.А. Пак1

Кубанский государственный университет, 350040, г. Краснодар, ул. Ставропольская, 149.

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

Табл. 4. Библиогр. 5 назв.

Ключевые слова: благосостояние; показатель; индекс; аналитический инструмент; показатели уровня жизни; индекс Гувера; индекс Аткинсона; индекс развития человеческого потенциала (ИРЧП).

SOCIO-ECONOMIC MEASUREMENT OF THE WELFARE OF STATE, ORGANIZATIONS AND CITIZENS O.A. Pak

Kuban State University,

149, Stavropolskaya St., Krasnodar, 350040.

One of important tasks of the economic welfare theory is to improve the qualitative and quantitative measurement of welfare, suitable for practical use. The challenge lies in the fact that the concept of welfare is referred simultaneously to philosophy, ethics, economics and sociology. The broad interpretation of welfare reflects people's satisfaction with their lives in respect to different needs and interests expressed through the indicators of the level and quality of life. 4 tables. 5 sources.

Key words: welfare; indicator; index; analytical tool; indicators of standards of life; Hoover index; Atkinson index; development index of human potential.

Измерение - непременный атрибут любой деятельности и действий людей в обыденной жизни и в научных исследованиях.

Для оценки благосостояния населения могут использоваться традиционные аналитические инструменты социально-экономической политики, которые позволяют оценить реальную ситуацию в обществен-

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

- комплексно исследовать и реально оценить потенциал развития населения, возможности его наращивания, а также эффективность его использования;

- оценить величину общего бремени и ее сораз-

2Пак Ольга Анатольевна, кандидат экономических наук, доцент кафедры теоретической экономики, тел.: 89183868910, e-mail: p.o.a08@mail.ru

Pak Olga, Candidate of Economics, Associate Professor of the Department of Theoretical Economics, tel.:89183868910, e-mail: p.o.a08@mail.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.