Доктор Джамид задумался.
— Я тоже не могу ответить с ходу. Может быть, придется постоянно обучать все больше людей? Мне кажется, даже такую тривиальную задачу сложно решить без вспомогательных инструментов. А модель учитывает все взаимодействующие факторы и без труда проводит тот арифметический анализ, с помощью которого и решается такая задача.
— Да, что-что, а арифметический анализ в голове или желудке не проведешь, — засмеялся мистер Томпкинс, — Я, кажется, начинаю понимать, что вы имели в виду.
Доктор Джамид молчал, и мистер Томпкинс задумчиво уставился куда-то в потолок. Как все эти эксперименты с моделированием помогут ему в Моровии, где ему предстоит за два гола разработать шесть программных продуктов? Как моделирование поможет ему закончить все проекты в срок? Ответов пока не было, но он уже начинал ощушать, что в недалеком будущем моделирование предчувствий и интуитивных ощущений окажет ему большую услугу.
— Ну, хорошо, — повернулся мистер Томпкинс к своему новому другу, — допустим, вы меня убедили, Абдул. Что мне теперь делать с этими моделями? Как мне начинать использовать их в работе, в настоящих задачах?
— Давайте сделаем так: возьмем одно какое-нибудь предчувствие, какую-нибудь интуитивную уверенность из вашей «базы», и проверим его на прочность. Скажем, я выдвину какое-то вопиющее утверждение, а потом вы мне расскажите, почему оно кажется вам неправильным.
— Отлично, давайте начнем.
— Итак, я ваш начальник. Вы говорите мне, что десять человек разработают программное приложение за один год. Но я хочу, чтобы вы справились быстрее, поэтому предлагаю вам взять в проект двадцать человек вместо десяти и закончить его за полгода. Что скажете?
Мистер Томпкинс помимо воли нахмурился:
— Скажу, чтобы вы пошли на озеро и утопились.
— То есть вам кажется, что двадцать человек не смогут сделать за полгода ту работу, которую десять человек сделают за год?
— Нет, мне не кажется, — вознегодовал помимо воли мистер Томпкинс. — Я абсолютно в этом уверен.
Доктор Джамид взял листок бумаги и стал быстро чертить на нем какую-то схему. Через несколько секунд он подвинул листок к мистеру Томпкинсу, чтобы тому было видно.
— То есть эти две схемы не эквивалентны друг другу?
— Конечно же, нет!
— Вы хотите сказать, что производительность одной команды будет отличаться от производительности другой?
— И даже очень.
Доктор Джамид хитро улыбнулся:
— Э… и насколько же?
— Простите?
— Насколько будут различаться производительности первой и второй команд разработчиков? Предположим, что команда из десяти человек может разработать за год приложение величиной в тысячу единиц (каких единиц, я пока не знаю, их еще не изобрели, но пусть это будут некие условные единицы). Так вот, если десять человек за год вырабатывают тысячу единиц, то сколько единиц сделает за полгода команда из двадцати человек, предположительно такой же квалификации?
— Меньше, чем тысячу.
— А насколько меньше?
— Намного!
— Намного — это на сколько?
— Очень много. Поймите, эти двадцать человек будут постоянно зацикливаться на своих взаимоотношениях. Они не смогут сделать столько, сколько сделает меньшая команда за больший промежуток времени, — мистер Томпкинс уже начинал сердиться. — Неужели вам самому это неясно?
— Конечно, ясно. Вебстер, я ведь не спорю с вами, я просто пытаюсь выразить вашу интуитивную уверенность в цифрах. Так насколько же меньше успеет сделать большая команда за шесть месяцев?
Мистер Томпкинс всплеснул руками.
— Ну, не знаю, может быть, половину работы. Нет, скорее всего, четверть. Нет, не знаю.
— Вы это серьезно? — улыбнулся доктор Джамид.
— Но я же действительно не знаю, сколько они сделают. То есть я хочу сказать, я не знаю точной цифры.
— Даже с точностью до второго знака?
— Почему вас это так веселит?
— Потому что, как руководитель, вы просто обязаны это знать. Поиски компромисса между количеством людей в команде и скоростью работы — это то, с чем менеджеры сталкиваются чуть ли не каждый день. И вы тоже постоянно с этим сталкиваетесь. Как же вы это делаете?
— У меня возникает ощущение…
— Это ощущение и есть модель. Видите ли, где-то внутри вас возникает модель, но на нее невозможно ни посмотреть самому, ни показать другим. Все, что нам нужно, — это вывести ее на поверхность. Давайте посмотрим, как можно смоделировать ваши ощущения по поводу того, как изменится производительность команды, если количество человек в ней удвоится.
— Ну что ж, давайте.
— Вы будете рассказывать мне о своих ощущениях, а я постараюсь перенести их на модель так, чтобы она смогла все понять и обработать. Итак, что происходит, когда в команду приходит новый сотрудник?
Мистер Томпкинс на мгновение задумался.
— Первоначальный результат будет отрицательным, — начал он. — Новичок еще ничего не знает, поэтому в первый день он не произведет ничего полезного, да еще и отнимет время у окружающих, потому что будет просить их ввести его в курс дела и задавать вопросы. Итак, получается, что совокупная производительность команды поначалу упадет.
Пока мистер Томпкинс говорил, доктор Джамид за ноутбуком быстро исправлял и достраивал модель.
— Постепенно новичок становится полноценным членом команды, — теперь мистер Томпкинс взял листок бумаги и быстро нарисовал на нем простой график. — Вот что-то вроде этого:
Доктор Джамид посмотрел на схему. Он еще пару раз щелкнул мышкой и что-то ввел с клавиатуры — и схема была внесена в модель.
— Вот только есть один нюанс, — продолжал между тем мистер Томпкинс. — Если этот новенький был седьмым в команде, то толку от него будет меньше, чем если бы, скажем, он был шестым или пятым. Потому что, как мне кажется, при увеличении команды всегда нужно учитывать «поправку на рост». Чем больше людей в команде, тем больше им нужно времени на разговоры. Следовательно, тем больше рабочего времени мы теряем.
— Ну-ка, напрягитесь еще раз. Нарисуйте мне график того, что вы только что описали.
— Ну вот, смотрите, — мистер Томпкинс перевернул листок и стал рисовать на обратной стороне. — Если мы примем общую производительность за функцию от размера команды, то идеалом будет прямая под углом в сорок пять градусов. В таком случае каждый новый сотрудник делал бы столько же, сколько и предыдущий, то есть увеличение команды вдвое дало бы удвоение производительности. При этом «поправка на рост» была бы равна нулю. Однако на самом деле все обстоит не так. На самом деле все происходит приблизительно вот так.
— То есть отклонение от идеального графика, или разница между действительностью и недостижимым идеалом, и есть «поправка на рост».
Доктор Джамид посмотрел на рисунок.
— Понятно. Сейчас я перенесу ваш график в модель, — он показал на среднюю часть кривой, изображающей реальную производительность. — Скажите, пожалуйста, для команды какого размера поправка составляет треть от идеальной производительности?
— Что?
— Я выбрал на кривой то место, где «поправка на рост» составляет приблизительно половину всей реальной производительности. То есть в этой точке напрасно расходуется около трети времени, которое мы приняли за идеал.
— Так, это мне понятно.
— И сколько человек будет работать в команде в этот момент?
— Понятия не имею.
— Ну конечно же, вы не можете назвать точную цифру. Но мы и не пытаемся сейчас добыть из вас точные знания. Мы пытаемся понять ваши ощущения. Спросите у своей интуиции: сколько человек должно работать в команде программистов, чтобы треть всего времени уходила на общение и тому подобные вещи?