Николай Михайловский

презентация PowerPoint

1. Введение

Каждый IT-менеджер в ходе своей работы сталкивается со множеством ситуаций выбора между различными подходами к решению проблем предприятия. Среди них:

  • Выбор объема и направления автоматизации
  • Выбор между адаптацией готовой системы и построением системы на заказ
  • Выбор между внедрением системы силами собственной организации и внешними консультантами

С аналогичными проблемами выбора сталкиваются и менеджеры проектов и продуктов в организациях-разработчиках информационных систем. Среди таких проблем:

  • Использование готового компонента или разработка функциональности собственными силами
  • Ранний выход на рынок с продуктом ограниченной функциональности или более поздний с более обширным продуктом
  • Детальное тестирование или выпуск бета-версии с возможными ошибками

Существует еще ряд аналогичных вечных вопросов.

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

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

Интегральные затраты на систему могут быть полностью известны только после завершения проекта. В любой момент до завершения проекта интегральные затраты могут быть только оценены. Соответственно, в любой момент проекта приведенные к начальному моменту проекта интегральные затраты могут быть оценены как
(2)
где
- оценка интегральных затрат проекта в момент ;
E - норма дисконтирования;
- дисконтированная сумма фактических интегральных затрат проекта к моменту ;
T - период жизненного цикла системы;
- оценка интегральных затрат на проект в периоде t.

Аналогично, в любой момент проекта , приведенный к начальному моменту проекта интегральный результат проекта можно представить как (3)
где
- оценка интегрального результата проекта в момент ;
E - норма дисконтирования;
- дисконтированная сумма фактического интегрального результата проекта к моменту ;
T - период жизненного цикла системы;
- плановые результаты проекта в периоде t;
- оценка потерь, связанных с эксплуатационными рисками системы в периоде t.

В начальный момент времени в формулах (2) и (3) = 0, так что (1) вырождается в
(4)

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

2. Пример 1. Как тестировать?

Применим вышеизложенное, например, к выбору способа тестирования программного обеспечения. Этот пример, как и остальные в данном докладе, несколько условен, но одновременно и очень жизненен, поскольку достаточно точно отражает один из проектов, которым доводилось руководить докладчику в 1997-1998 годах. Пусть разрабатывается заказной проект стоимостью С со сроком разработки T=12 месяцев, командой разработчиков N=12 человек со средними затратами на человека S. Перед менеджером проекта стоит вопрос: создать группу тестирования из NT=N/4 человек (с затратами в Q=1,5 раза меньше, чем у программистов) и исправлять ошибки по ходу разработки (вариант А), или поручить тестирование программистам, а не найденные ими ошибки найти и исправить на стадии опытной эксплуатации (вариант Б)? Пусть программисты тратят на дополнительное тестирование ТП=1/5 своего времени, а эффективность их тестирования такая же. Из-за затрат времени на тестирование программистами разработка завершится пропорционально позже. Предположим, что разработка оплачивается заказчиком на f=30% после опытной эксплуатации. При каких нормах дисконтирования какой способ тестирования эффективен?

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

Интегральные дисконтированные затраты в варианте А составят

Приведенный к начальному моменту проекта интегральный результат в варианте А

В варианте Б во время проекта программистами на тестирование затрачивается доля ТП их времени, поэтому длительность проекта составит Т/(1-ТП).

Интегральные дисконтированные затраты в варианте Б составят

Приведенный к начальному моменту проекта интегральный результат в варианте Б

Разница между эффектами проекта в случаях А и Б составит

Зафиксируем все параметры формулы, кроме чисто экономических - E и (отношение стоимости последнего этапа к фонду зарплаты разработчиков), и построим график, разделяющий в этих координатах области эффективности вариантов А и Б

(5)

Рисунок 1 - Области предпочтения вариантов А и B, ТП=0.2

 

Из графика парадоксальный вывод: упорядоченное тестирование (вариант А) выгодно, если норма дисконтирования (часто принимаемая равной ставке рефинансирования Центробанка) меньше (для данного проекта) примерно 87 процентов годовых, почти независимо от фонда зарплаты. Качественно данная картина сохраняется для любого проекта.

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

Например, проект, о котором идет речь, выполнялся с мая 1997 по июнь 1998 года. Посмотрим на таблицу ставок рефинансирования ЦБ РФ:

Таблица 1 - Ставки рефинансирования ЦБ РФ и НБУ

ЦБ РФ ЦБ РФ НБУ НБУ
Период действия %
01.01.91-09.04.92 20
10.04.92-22.05.92 50
23.05.92-29.03.93 80
30.03.93-01.06.93 100
02.06.93-21.06.93 110
22.06.93-28.06.93 120
29.06.93-14.07.93 140
15.07.93-22.09.93 170
23.09.93-14.10.93 180
15.10.93-28.04.94 210
29.04.94-16.05.94 205
17.05.94-01.06.94 200
02.06.94-21.06.94 185
22.06.94-29.06.94 170
30.06.94-31.07.94 155
01.08.94-22.08.94 150
23.08.94-11.10.94 130
12.10.94-16.11.94 170
17.11.94-05.01.95 180
06.01.95-15.05.95 200
16.05.95-18.06.95 195
19.06.95-23.10.95 180
24.10.95-30.11.95 170
01.12.95-09.02.96 160
Период действия %
10.02.96-23.07.96 120
24.07.96-18.08.96 110
19.08.96-20.10.96 80
21.10.96-01.12.96 60
02.12.96-09.02.97 48
10.02.97-27.04.97 42
28.04.97-15.06.97 36
16.06.97-05.10.97 24
06.10.97-10.11.97 21
11.11.97-01.02.98 28
02.02.98 -16.02.98 42
17.02.98-01.03.98 39
02.03.98 -15.03.98 36
16.03.98-18.05.98 30
19.05.98-26.05.98 50
27.05.98-04.06.98 150
05.06.98-28.06.98 60
29.06.98-23.07.98 80
24.07.98-09.06.99 60
10.06.99-23.01.00 55
24.01.00-06.03.00 45
07.03.00-20.03.00 38
21.03.00-09.07.00 33
10.07.00-03.11.00 28
04.11.00-08.04.02 25
09.04.02-06.08.02 23
07.08.02-  21
Начало
периода
Конец
периода
%,
02.07.1996 09.01.1997 40%
07.06.1996 01.07.1996 50%
22.05.1996 06.06.1996 63%
25.04.1996 21.05.1996 70%
08.04.1996 24.04.1996 75%
01.04.1996 07.04.1996 85%
26.03.1996 31.03.1996 90%
04.03.1996 25.03.1996 98%
01.01.1996 03.03.1996 105%
01.12.1995 31.12.1995 110%
10.10.1995 30.11.1995 95%
21.08.1995 09.10.1995 70%
15.07.1995 20.08.1995 60%
07.06.1995 14.07.1995 75%
01.05.1995 06.06.1995 96%
07.04.1995 30.04.1995 150%
29.03.1995 06.04.1995 170%
10.03.1995 28.03.1995 204%
25.12.1994 09.03.1995 252%
25.10.1994 24.12.1994 300%
17.08.1994 24.10.1994 140%
01.08.1994 16.08.1994 175%
01.07.1994 31.07.1994 190%
01.01.1994 30.06.1994 240%
Начало
периода
Конец
периода
%,
05.07.2002   8.0%
04.04.2002 04.07.2002 10.0%
11.03.2002 03.04.2002 11.5%
10.12.2001 10.03.2002 12.5%
10.09.2001 09.12.2001 15%
09.08.2001 09.09.2001 17%
11.06.2001 08.08.2001 19%
07.04.2001 11.06.2001 21%
10.03.2001 06.04.2001 25%
15.08.2000 09.03.2001 27%
10.04.2000 14.08.2000 29%
24.03.2000 09.04.2000 32%
01.02.2000 23.03.2000 35%
24.05.1999 31.01.2000 45%
28.04.1999 23.05.1999 50%
05.04.1999 27.04.1999 57%
21.12.1998 04.04.1999 60%
07.07.1998 20.12.1998 82%
29.05.1998 06.07.1998 51%
21.05.1998 28.05.1998 45%
18.03.1998 20.05.1998 41%
06.02.1998 17.03.1998 44%
24.11.1997 05.02.1998 35%
15.11.1997 23.11.1997 25%
01.11.1997 14.11.1997 17%
05.08.1997 31.10.1997 16%
08.07.1997 04.08.1997 18%
26.05.1997 07.07.1997 21%
08.03.1997 25.05.1997 25%
10.01.1997 07.03.1997 35%

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

Вывод приложим не только к странам типа России и Украины. Интернет-бум 1998-2000 года также принес с собой относительно высокую реальную цену денег, с приоритетом раннего выхода на рынок. Результат - невиданное доселе количество сырых продуктов и IT-услуг, выпущенное на рынок в этот период.

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

Построим график зависимости от E при ТП = 1/20 (см. Рисунок 2):

Рисунок 2 - Области предпочтения вариантов А и B, ТП=0.05

 

Обратите внимание на масштаб по оси ! При всех разумных размерах фонда заработной платы необходимо тестирование. Из рисунка следующая мораль:

Мораль 2: тестирование всегда необходимо. Однако, если проект уже убыточен, то нет смысла нанимать новых людей.

Мораль 3: Если за завершение проекта выплачивается лишь малая часть его стоимости, тестировать смысла нет.

3. Пример 2. Как внедрять?

Рассмотрим аналогичный пример на стороне заказчика. Пусть надо внедрить, например, CRM-систему стоимостью C в банке. Выбор состоит между внедрением системы силами собственной организации (вариант 2) и внедрением системы внешними консультантами (вариант 1). Пусть для внедрения требуется N = 4 человека на TI = 4 месяца. Пусть ожидается, что система будет приносить в среднем I в течение T = 48 месяцев с момента принятия решения о внедрении. При использовании консультантов придется платить по SK = 4000 US$ за человекомесяц. Предположим, что оплата производится по половине в начале и в конце проекта. Стоимость собственных специалистов, с учетом налогового бремени и накладных расходов, составляет QS = 0.5 стоимости консультантов. Предположим, что эффективность собственных специалистов будет в KE = 1.5 раза меньше, чем у консультантов. При внедрении собственными силами персонал надо нанимать. На это уйдет ТН = 2 месяца, а агентству придется заплатить HF = 1/10 годовой зарплаты нанимаемых специалистов. После того, как проект по внедрению закончен, эти люди еще ТУ = 3 месяца промаются, и уйдут от скуки в другое место.

Опуская общую для обоих вариантов составляющую (в частности, стоимость самой системы), получаем дисконтированные затраты в варианте 1

а в варианте 2

Приведенный к начальному моменту проекта интегральный результат в варианте 1

в варианте 2

Разница между эффектами проекта в случаях 1 и 2 составит

Зафиксируем все параметры формулы, кроме чисто экономических - E и (отношение ежемесячного экономического эффекта к фонду оплаты консультантов), и выразим одно через другое

С другой стороны экономический эффект внедрения силами консультантов определяется соотношением

Принимая для простоты , получаем

откуда

Построим оба графика на одном рисунке

Рисунок 3 - Области предпочтения вариантов 1 и 2 и область эффективности системы

 

На рисунке квадратиками заштрихована область эффективности внедрения системы, розовым цветом окрашена область предпочтения варианта 2, зеленым - область предпочтения варианта 1. Из анализа графиков получаем следующие выводы:

Мораль 4. Если заказчик и так знает, что и как ему делать, консультанты не нужны. Значимость консультантов - в привнесении знания, что и как следует делать.

Мораль 5. Чем стабильнее экономика, тем выгодней использование консультантов.

Мораль 6. Чем ниже стоимость продукта по отношению к стоимости услуги, тем выгоднее использование консультантов.

Как пример к последней морали приведу себя. Компания "Лаборатория НТР" распространяет ядро CRM-системы для малого и среднего бизнеса NTR Bcom бесплатно, в открытых кодах.

Один комментарий к “Фактор времени и экономическая эффективность”

  1. NTR Lab » Николай Михайловский и Антон Мальков приняли участие в конферен:

    […] Фактор времени и экономическая эффективность. Сравнение методов оценки стоимости проектов по разработке информационных систем. Оценка экономической эффективности внедрения автоматизированной CRM-системы. Архитектура информационной системы, оценка рисков и совокупная стоимость владения. […]

Оставьте отзыв!