О сравнении методов Scrum и Turnkey при реализации программно-технических организационных проектов     

А.Ю. Заложнев,
г.н.с., д.т.н., проф.,
zalozhnev@yandex.ru
ИПУ РАН, Москва

Д.В. Перемежко,

асп., denis_fa@mail.ru
Финансовый университет, г. Москва

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

 

Important characteristic of the computer project implementation is the project implementation overall time. It depends on the choice of implementation method. The choice of method that allows complete the project for a minimum time is a complex task. It is because there is a lot quantity of approaches to the implementation of such projects. However, for the comparative analysis of Scrum and Turnkey, this problem can be solved by using the approach proposed in this paper.

Введение

Реализация программно-технических организационных проектов, связанных с разработкой и внедрением программного обеспечения и направленных на совершенствование управления предприятием, далее – «компьютерных проектов», может осуществляться на основе различных методических подходов, таких, например, как каскадная методология [1,2], методология Rapid Application Development (RAD) [3] и других.

Методы Scrum и Turnkey занимают, в определенном смысле, крайние положения в спектре методов реализации компьютерных проектов. Метод Turnkey («под ключ») предполагает разработку «с нуля» и продажу покупателю полностью законченного продукта. Это означает, что поставщик (vendor) полностью «закрывает» все стадии жизненного цикла компьютерного проекта. Первой работой, где указанная методология сформулирована в достаточно общем виде, хотя и применительно к строительным инженерным проектам, принято считать работу [4]. Методология Scrum («схватка» – один из способов розыгрыша стандартных положений при игре в регби), впервые сформулированная в [5], предполагает осуществление итеративного процесса пошаговых улучшений (incremental), реализуемого самоорганизующимися (self-organize) командами внутри самой организации-потребителя и/или разработчика. В применении к разработке программного обеспечения метод Scrum является наиболее формализованным из достаточно широкого набора т.н. Agile-методологий – гибких методов реализации компьютерных проектов [6,7].

Формулировка, формализация и исследование проблемы

Важнейшей характеристикой того или иного компьютерного проекта является полное время его выполнения, которое зависит от выбора метода его реализации. Проблема выбора метода реализации компьютерного проекта, позволяющего выполнить проект за минимальное время, является весьма сложной и трудноразрешимой в общем случае, поскольку имеется достаточно большое число подходов к реализации подобного рода проектов. Однако, при сравнительном анализе методов Scrum и Turnkey, как двух, в определенном смысле, «крайних» методических подходов, эта проблема, по-видимому, может быть решена путем развития соображений, предложенных, например, в [8], что и является предметом исследования в данной работе.

Рассмотрим выполнение некоторого компьютерного проекта J (Job). В рамках данной работы предполагается, что его реализация может осуществляться двумя способами: на основе метода Scrum или на основе метода Turnkey. При выполнении проекта на основе метода Turnkey проект от начала и до конца выполняется одним поставщиком (vendor). Выполнение проекта на основе метода Scrum предполагает, что проект дробится на отдельные этапы (итерации или спринты) – ji, i=1,…,m, выполняемые одной и той же или различными рабочими группами. При выполнении проекта на основании любого из методов предполагается, что реализация каждого из этапов проекта J (Scrum) или проекта в целом (Turnkey) состоит из двух фаз: подготовительной фазы и фазы непосредственной реализации. Для метода Turnkey подготовительная фаза представляет собой разработку и согласование технического задания, а для метода Scrum, представляет собой процесс планирования работ текущей итерации или спринта (sprint planning meeting).

Введём следующие обозначения для переменных и параметров, описывающих реализацию проекта:

τTr – случайная величина с математическим ожиданием и среднеквадратическим отклонением sτTr – время разработки и согласования технического задания компьютерного проекта J, реализуемого методом Turnkey;

tTr – случайная величина с математическим ожиданием и среднеквадратическим отклонением stTr – время непосредственного выполнения проекта J, реализуемого методом Turnkey;

t1 – случайная величина с математическим ожиданием и среднеквадратическим отклонением s1 – полное время выполнения проекта J, реализуемого методом Turnkey;

τi, i=1,m случайная величина – время планирования работ для i-й итерации или спринта проекта J, реализуемого методом Scrum;

ti, i=1,m – случайная величина с математическим ожиданием  и среднеквадратическим отклонением si – время выполнения работ для i-й итерации или спринта, реализуемого методом Scrum;

t2 – случайная величина с математическим ожиданием  и среднеквадратическим отклонением s2 – полное время выполнения проекта J, реализуемого методом Scrum.

При рассмотрении методологии Turnkey предполагается, что переменные  τTr и tTr являются независимыми и имеют нормальное распределение с параметрами, приведенными выше, в этом случае случайная величина t1 имеет нормальное распределение с математическим ожиданием

                                                                           (1)

и среднеквадратическим отклонением          

                                                           (2)

Методология Scrum предполагает, что продолжительность sprint planning meeting ограничена 8 рабочими часами или 1 рабочим днем. Если время реализации проекта измеряется в рабочих днях, то величина τi 1. В дальнейших рассуждениях будем полагать, что τi = 1, т.е. равно максимально допустимому в рамках данной методологии времени, т.е. будем считать τi детерминированной величиной, среднеквадратическое отклонение которой, очевидно, равно нулю. Если допустить, что все величины ti являются независимыми, то для достаточно больших m при соблюдении определенных реалистичных условий в соответствии с центральной предельной теоремой [9, стр. 241] случайная величина t2 имеет нормальное распределение с математическим ожиданием

                                                                 (3)

и среднеквадратическим отклонением

                                                                     (4)

Если m недостаточно велико, то могут быть сделаны правдоподобные предположения о том, что все ti независимы и имеют нормальное распределение с параметрами и si, фигурирующими в правых частях выражений (3) и (4) [9, стр. 238]. Предполагается также, что коэффициенты вариации для величин t1 и t2 достаточно малы.

Для того чтобы произвести сравнение методов Turnkey и Scrum, зная ожидаемое (желаемое) время выполнения проекта J TJ и используя свойство нормальности распределения случайных величин t1 и t2, следует вычислить значения нормированных величин tJ1 и tJ2:

                                                               (5)           

                                                               (6)

Подставляя значения tJ1 и tJ2 в таблицу значений функции нормального распределения Ф(x) [9, стр.608] вместо x, где Ф(x) задается соотношением (7)   

                                           (7)

найдем вероятности pJ1 и pJ2 выполнения проекта J за время меньшее или равное TJ, соответственно, при использовании методов Turnkey (при подстановке tJ1) и Scrum (при подстановке tJ2).

В случае, если имеет место соотношение (8)      

                                                                   (8)

то при реализации компьютерного проекта J целесообразнее использовать метод Turnkey, если же имеет место соотношение (9)

                                                                               (9)

то при реализации компьютерного проекта J целесообразнее использовать метод Scrum. Следует также отметить, что в отсутствие таблиц или программы расчета функции нормального распределения Ф(x), в силу её монотонности для принятия решения о выборе метода реализации проекта достаточно провести сравнение значений tJ1 и tJ2.

Заключение

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

Литература

1.  ГОСТ 34.601-90. Автоматизированные системы. Стадии создания. / Департамент информационных технологий г. Москвы / Официальный портал мэра и правительства Москвы. URL: http://dit.mos.ru/legislation/metods/ tekhnicheskaya_politika/590462/.

2.  ГОСТ Р ИСО/МЭК 12207-2010 Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств / ПРАВО.RU. URL: http://docs.pravo.ru/document/view/22517272/21979091/.

3.  Martin J. Rapid Application Development. Macmillan Publishing Co., Inc. Indianapolis, IN, USA, 1991. ISBN:0-02-376775-8.

4.  Conference on building and civil engineering law/ Conference first held: Perth, 18 Sept. 1984 / by I.N. Duncan Wallace. Turner, N.S.W.: Master Builders' Federation of Australia, 1984. 70 p.

5.  Takeuchi H.; Nonaka I. New New Product Development Game / Harvard Business Review. 1986 № 86116. Pp.137–146.

6.  Manifesto for Agile Software Development. DNS: http://agilemanifesto.org.

7.  AgileDays. URL: http://agiledays.ru.

8.  Заложнев А.Ю., Положишников В.Б. Выбор правила доставки при организации перевозки груза по железной дороге // Шестая Всероссийская мультиконференция по проблемам управления // Материалы мультиконфереренции в 4 т. – Ростов-на-Дону: Издательство Южного федерального университета, 2013. Т.3. ISBN 978-5-9275-1135-8. С. 153-156.

9.  Крамер Г. Математические методы статистики. / Пер. с англ. по ред. А.Н. Колмогорова. М.: Изд. «МИР», 1975.