Управление командой разработчиков на этапе исполнения IT-проекта с использованием метода критической цепи

УДК 004.832.28

А. В. Будыльский, И. Ю. Квятковская

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

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

Ключевые слова: проект, управление проектом, метод критической цепи, буферы проекта, нечеткие множества, нечеткое управление.

Введение

Известно, что большинство проектов по разработке информационных систем в настоящее время не завершаются в срок, превышают бюджет или сдаются с недостаточной функциональностью для того, чтобы системой можно было пользоваться. Согласно отчету Chaos Report о положении дел в разработке IT-проектов, выполненному компанией Standish Group [1], каждый пятый проект заканчивается неудачно, каждый второй не укладывается в срок либо выполняется с худшим качеством или неполным функционалом (рис. 1).

60

50

40

30

20

10

49 51 11*. 53 .1А 51 5Ї  ,

1 44 44 I | I иш

,28 28 I 2- > 1 Ї 1  50

ГРІІПІШ *1! 11*111 1

Успешный

1998 2000 2002 2004 2006 2008 2009 2010 2011 2012

Год

- Невыполненный

Выполненный с недостаточной функциональностью

Рис. 1. Характеристика успешности выполнения 1Т-проектов

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

Одной из задач по управлению 1Т-проектами является задача управления исполнением проекта [2]. Сложность данной задачи обусловлена тем, что, как правило, что-то идет не по плану, например нарушаются сроки и бюджет, причинами могут являться и такие факторы, как недооценка сложности задач, низкая производительность разработчиков и т. д. [3]. Для решений, принимаемых на данной стадии, характерен повышенный субъективизм. Принятие некорректных решений может привести к нарушению сроков проекта и (или) превышению бюджета.

Одним из механизмов управления проектом на этапе исполнения является метод критической цепи [4].

Метод критической цепи

Настоящим прорывом в области по управлению неопределенностью и рисками в управлении проектами явился метод критической цепи, предложенный Э. М. Голдраттом. Критическая цепь - самая длинная последовательность зависимых задач, у которых устранен конфликт ресурсов. Отсутствие конфликта ресурсов является главным отличием метода критической цепи от метода критического пути. Метод основан на теории ограничений [5], а также законах статистики [6]. Голдратт показал, что для борьбы с рисками в проекте необязательно закладывать подстраховку в каждую задачу, ее необходимо закладывать в сам проект. Для этих целей Г олд-ратт предложил использовать буферы времени - буфер проекта и буфер слияния путей.

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

Выделяют следующие виды оценок:

- Е0 - минимально возможное время исполнения задачи (оптимистическая оценка);

- Е1 - наиболее вероятная оценка;

- ЕР - пессимистическая оценка вероятности (все риски реализовались);

- Еа - оценка с вероятностью исполнения задачи 50 %.

Размер буфера цепочки задач определяется на основании правила суммирования отклонений:

где

я,2

Я. = Ем - ЕА,

і - номер задачи.

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

і=1

100

80

60

40

20

0

Выполнение задачи, %

Рис. 2. Мониторинг состояния буферов

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

Цели и задачи исследования

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

Таким образом, цель наших исследований - описание модели управления проектом на этапе исполнения для поддержки принятия решений менеджером проекта. Поскольку большая часть информации по управлению проектами, в связи с высокой вероятностью рисков, носит неопределенный или неточный характер (в частности, сроки завершения задачи и, как результат, - потребление буфера), то для данной системы необходимо применение нечетких множеств [7-9].

Предлагаемое решение

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

Дефаззификацию нечеткого числа можно выполнить при помощи индекса соответствия (agreement index) [10]. В результате получаем оставшуюся длительность выполнения задачи di. Количество выполненной работы рассчитывается по формуле

skrt = Duration(wi, fj) - dt,

где Duration(wi, rj) - функция, возвращающая плановую длительность выполнения ресурсом f задачи w{, k - номер цепи.

Количество плановой работы в некоторый момент времени t рассчитывается по формуле

skpt =t - Begin( w, h

где Begin(wi) - функция, возвращающая дату и время начала выполнения задачи.

Разница в количестве плановой и выполненной работы, т. е потребление буфера, определяется по формуле

Asf = spt - skrt.

Степень потребления буфера определяется по формуле

0, Ask ^ 0,

% .100,

Sk

uf =

где ^ - размер буфера для цепи к.

Степень завершения работ для цепи к рассчитывается по формуле

к Begin

Fk =

Duration

где СиггепЮр (ґ, k) - функция, возвращающая задачу, которая выполняется в текущий момент времени ґ для цепи к; Begin(Chк) - функция, возвращающая дату начала выполнения задач цепи; Dшation(Chk) - функция, возвращающая плановую длительность выполнения задач цепи. Схематически данные характеристики приведены на рис. 3.

Ask

Ask

-А-

As:

Ch.

Duration

B:

_л_

As*

Begin(Cht) Begin(wt) 1

Рис. 3. Расчет выполнения плана и потребления буферов

Время

На основании данных об уровне буферов (% потребления) и степени завершения задач получаем состояние цепи.

В качестве сигнала выступает значение лингвистической переменной «Состояние цепи». Терм-множеством данной переменной являются следующие значения:

- «С опережением графика» (Ahead);

- «В соответствии с оптимистической оценкой» (Optimistic);

- «Все хорошо» (Normal);

- «В соответствии с пессимистической оценкой» (Pessimistic);

- «Небольшой сбой» (Fault);

- «Отставание» (Lag);

- «Серьезное отставание» (Huge Lag).

Функция принадлежности значения «С опережением графика» является функцией принадлежности класса L, «Серьезное отставание» - у, остальных - t (рис. 4).

Рис. 4. Функции принадлежности лингвистической переменной «Состояние цепи» Аргументом функции принадлежности является

£ - UL

F*

В качестве информации о ресурсе выступает значение лингвистической переменной «Производительность ресурса». Терм-множеством данной переменной являются следующие значения:

- «Высокая производительность» (High);

- «Средняя производительность» (Medium);

- «Производительность ниже средней» (Bellow);

- «Низкая производительность» (Low).

Функция принадлежности значения «Высокая производительность» является функцией принадлежности класса L, «Низкая производительность» - у, остальных - t (рис. 5).

Рис. 5. Функции принадлежности лингвистической переменной «Производительность ресурса» Аргумент функции принадлежности

History(r. ) trk (tpk +

x —

Bk * Duration

-------------------~)

Duration

Q(r,) -

Bk * Duration

History

где History (rj) - функция, возвращающая историю выполнения задач ресурсом r.. Данная функция возвращает множество пар вида (tr, tp), где tr - фактическое время исполнения задачи; tp -плановое время исполнения задачи.

Выходным сигналом является лингвистическая переменная «Заменяемость ресурса». Терм-множеством данной переменной являются следующие значения:

- «Замена не требуется» (None);

- «Единичная замена» (Single);

- «Частичная замена» (Partial);

- «Полная замена» (Full).

Функция принадлежности значения «Замена не требуется» является функцией принадлежности класса L, «Полная замена» - у, остальных - t (рис. 6).

Рис. 6. Функции принадлежности лингвистической переменной «Заменяемость ресурса»

Аргументом функции принадлежности является относительный объем работ ресурса, требующий замены.

k

Общая модель нечеткого управления [11] представлена на рис. 7.

Рис. 7. Модель нечеткого управления

База правил - лингвистическая модель - представляет собой множество нечетких правил Л(т) вида

Л1'”'1: если

Примеры правил приведены в таблице.

Список правил

Номер правила Посылка Следствие

Состояние цепи Производительность ресурса Заменяемость ресурса

1 Ahead Medium None

2 Ahead Low None

3 Pessimistic Medium Single

4 Fault Medium Partial

5 Fault Low Full

Отметим, что предложенная нами база правил представляет собой жесткий набор правил, самообучаемость системы нами не рассматривалась.

Заключение

Таким образом, нами предложено расширение метода критической цепи, представляющее собой модель нечеткого управления, которая позволяет оперативно определять ресурсы, требующие замены, а также степень их замены. С целью упростить управление учитываются лишь два фактора: потребление буфера и производительность ресурса. Для развития данной системы можно добавить также прогноз проекта, который будет указывать предполагаемую дату завершения проекта. Из рисков, со «срабатыванием» которых борется система, учитывается лишь риск «Низкая производительность». В случае дальнейшего развития системы можно добавить риск «Неправильная оценка».

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

Для дальнейшего развития модели предполагается включение информационной поддержки принятия решений при управлении [12, 13], а именно генерация и ранжирование альтернатив. Альтернативами будут являться заменяемые ресурсы.

СПИСОК ЛИТЕРАТУРЫ

1. Официальный сайт Standish Group // URL: http://blog.standishgroup.com/ (дата обращения: 15.G5.2G14).

2. A Guide to the Project Management Body of Knowledge. Project Management Institute, 2G13 // URL: http://www.pmi.org/.

3. ДеМарко Т. Вальсируя с медведями / Т. ДеМарко, Т. Листер. Компания p.m.Office, 2GG5. 196 с. // URL: http://www.pmo.ru/.

4. Голдратт Э. М. Критическая цепь / Э. М. Голдратт. М.: ТОС Центр, 2006. 272 с.

5. Детмер У. Теория ограничения Голдратта / У. Детмер. М.: Альпина Паблишир, 2012. 443 с.

6. Применение статистического анализа в ИТ // URL: http://www.omniway.ru/news/primenenie_ statiches kogo_analiza_v_it. (дата обращения: 14.05.2014).

7. Moselhi O. Fuzzy Set-based Contingency Estimating and Managemen / O. Moselhi, A. Salah // URL: http://spectrum.library.concordia.ca/973994/7/Salah_MASc_F2012.pdf (дата обращения: 14.05.2014).

8. Morovatdar R. Fuzzy Network Analysis for Projects with High Level of Risks - Uncertainty in Time and Structure International / R. Morovatdar, A. Aghaie, S. Haji Yakhchali // Journal of Industriiall Engineering & Productiion Research. 2011. Vol. 22, N 1. P. 73-82.

9. Хоменко Т. В. Применение алгоритма выбора лучших технических решений чувствительных элементов систем управления в нечеткой среде / Т. В. Хоменко, М. А. Мурыгин // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика. 2010. № 2. С. 111-116.

10. Kaufman A. Introduction to fuzzy arithmetic, theory and application / A. Kaufman, M. M. Gupta. New York: Van Nostrand Reinhold Company Inc., 1985. 350 p.

11. Рутковская Д. Нейронные сети, генетические алгоритмы и нечеткие системы / Д. Рутковская, М. Пилиньский, Л. Рутковский. М.: Горячая Линия - Телеком, 2007. 452 с.

12. Жирнова А. В. Информационная поддержка оперативного управления телекоммуникационной компанией / А. В. Жирнова, В. Ф. Шуршев // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика. 2014. № 2. С. 84-89.

13. Попов Г. А. Формирование состава методов, минимизирующих суммарные затраты на решение задач управления / Г. А. Попов, Е. А. Попова // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика, 2012, no. 2, pp. 156-160.

Статья поступила в редакцию 11.06.2014

ИНФОРМАЦИЯ ОБ АВТОРАХ

Будыльский Александр Викторович - Россия, 414056, Астрахань; Астраханский государственный технический университет; аспирант кафедры «Прикладная информатика в экономике»; alexandrvictor88@mail.ru.

Квятковская Ирина Юрьевна - Россия, 414056, Астрахань; Астраханский государственный технический университет; д-р техн. наук, профессор; зав. кафедрой «Информационные технологии»; i.kvyatkovskaya@astu.org.

A. V. Budylskiy, I. Yu. Kvyatkovskaya

MANAGEMENT OF THE GROUP OF PROGRAMMERS AT IT-PROJECT REALIZATION USING THE CRITICAL CHAIN METHOD

Abstract. The paper considers the tasks on management of the group of programmers at it-project realization using the fuzzy sets and the critical chain methods. The statistics on the effective realization of the projects on development of the software for the last 15 years is given. The main problems the project manager faced are determined. The article explains the criticality of the rightness of the decisions that the project manager makes while realizing the project. The critical chain method suitability is justified here. The fuzzy sets theory is justified, as well. The study contains the fuzzy control model, including the rule base. Information about the project buffers and information about the developer’s productivity are the inputs of this model, while information about the percent ratio of the operations made by the developer and the operations subjected to forwarding is the output of the model. The study presents the main linguistic variables and describes the graphical representation of their functions. The list of the rules is given as an example.

Key words: project, project management, critical chain method, project buffers, fuzzy sets, fuzzy control.

REFERENCES

1. Ofitsial’nyi sait Standish Group [Standish Group official site]. Available at: http://blog.standishgroup. com/ (accessed: 15.05.2014).

2. A Guide to the Project Management Body of Knowledge. Project Management Institute, 2013. Available at: http://www.pmi.org/.

3. DeMarko T., Lister T. Val'siruia s medvediami [Waltzing with the bears]. Moscow, Kompaniia p.m.Office, 2005. 196 p. Available at: http://www.pmo.ru/.

4. Goldratt E. M. Kriticheskaia tsep' [Critical chain]. Moscow, TOS Tsentr, 2006. 272 p.

5. Detmer U. Teoriia ogranicheniia Goldratta [Goldratt’s theory of constraints]. Moscow, Al'pina Pab-lishir, 2012. 443 p.

6. Primenenie statisticheskogo analiza v IT [Application of statistical analysis in IT]. Available at: http://www.omniway.ru/news/primenenie_staticheskogo_analiza_v_it. (accessed: 14.05.2014).

7. Moselhi O., Salah A. Fuzzy Set-based Contingency Estimating and Management. Available at: http://spectrum.library.concordia.ca/973994/7/Salah_MASc_F2012.pdf (accessed: 14.05.2014).

8. Morovatdar R., Aghaie A., Yakhchali S. Haji. Fuzzy Network Analysis for Projects with High Level of Risks - Uncertainty in Time and Structure International. Journal of Industrial Engineering & Production Research, 2011, vol. 22, no. 1, pp. 73-82.

9. Khomenko T. V., Murygin M. A. Primenenie algoritma vybora luchshikh tekhnicheskikh reshenii chuvstvitel'nykh elementov sistem upravleniia v nechetkoi srede [Application of the algorithm of choosing the best technical solutions of the finite elements of the control systems in a fuzzy set]. Vestnik Astrakhanskogo go-sudarstvennogo tekhnicheskogo universiteta. Seriia: Upravlenie, vychislitel’naia tekhnika i informatika, 2010, no. 2, pp. 111-116.

10. Kaufman A., Gupta M. M. Introduction to fuzzy arithmetic, theory and application. New York, Van Nostrand Reinhold Company Inc., 1985. 350 p.

11. Rutkovskaia D., Pilin'skii M., Rutkovskii L. Neironnye seti, geneticheskie algoritmy i nechetkie sistemy [Neuron networks, genetic algorithms and fuzzy systems]. Moscow, Goriachaia Liniia - Telekom, 2007. 452 p.

12. Zhirnova A. V., Shurshev V. F. Informatsionnaia podderzhka operativnogo upravleniia tele-kommunikatsionnoi kompaniei [Information support of operational control of telecommunication company]. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriia: Upravlenie, vychislitel’naia tekhnika i informatika, 2014, no. 2, pp. 84-89.

13. Popov G. A., Popova E. A. Formirovanie sostava metodov, minimiziruiushchikh summarnye zatraty na reshenie zadach upravleniia [Formation of the method structure, minimizing the total costs on control task solution]. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriia: Upravlenie, vychislitel’naia tekhnika i informatika, 2012, no. 2, pp. 156-160.

The article submitted to the editors 11.06.2014

INFORMATION ABOUT THE AUTHORS

Budylskiy Alexander Viktorovich - Russia, 414056, Astrakhan; Astrakhan State Technical University; Postgraduate Student of the Department "Applied Informatics in Economy"; alex-andrvictor88 @mail.ru.

Kvyatkovskaya Irina Yurievna - Russia, 414056, Astrakhan; Astrakhan State Technical University; Doctor of Technical Sciences, Professor; Head of the Department "Information Technologies"; i.kvyatkovskaya@astu.org.