Deadline. Роман об управлении проектами - Том Демарко 10 стр.


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

— А теперь изобразим на нашей модели канал для потока увольняющихся… на клапане напишем, какова доля увольняющихся… Исходная цифра — четыре человека в месяц.



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



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

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



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

Доктор Джамид задумался.

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

— Да, что-что, а арифметический анализ в голове или желудке не проведешь, — засмеялся мистер Томпкинс, — Я, кажется, начинаю понимать, что вы имели в виду.

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

— Ну, хорошо, — повернулся мистер Томпкинс к своему новому другу, — допустим, вы меня убедили, Абдул. Что мне теперь делать с этими моделями? Как мне начинать использовать их в работе, в настоящих задачах?

— Давайте сделаем так: возьмем одно какое-нибудь предчувствие, какую-нибудь интуитивную уверенность из вашей «базы», и проверим его на прочность. Скажем, я выдвину какое-то вопиющее утверждение, а потом вы мне расскажите, почему оно кажется вам неправильным.

— Отлично, давайте начнем.

— Итак, я ваш начальник. Вы говорите мне, что десять человек разработают программное приложение за один год. Но я хочу, чтобы вы справились быстрее, поэтому предлагаю вам взять в проект двадцать человек вместо десяти и закончить его за полгода. Что скажете?

Мистер Томпкинс помимо воли нахмурился:

— Скажу, чтобы вы пошли на озеро и утопились.

— То есть вам кажется, что двадцать человек не смогут сделать за полгода ту работу, которую десять человек сделают за год?

— Нет, мне не кажется, — вознегодовал помимо воли мистер Томпкинс. — Я абсолютно в этом уверен.

Доктор Джамид взял листок бумаги и стал быстро чертить на нем какую-то схему. Через несколько секунд он подвинул листок к мистеру Томпкинсу, чтобы тому было видно.



— То есть эти две схемы не эквивалентны друг другу?

— Конечно же, нет!

— Вы хотите сказать, что производительность одной команды будет отличаться от производительности другой?

— И даже очень.

Доктор Джамид хитро улыбнулся:

— Э… и насколько же?

— Простите?

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

— Меньше, чем тысячу.

— А насколько меньше?

— Намного!

— Намного — это на сколько?

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

— Конечно, ясно. Вебстер, я ведь не спорю с вами, я просто пытаюсь выразить вашу интуитивную уверенность в цифрах. Так насколько же меньше успеет сделать большая команда за шесть месяцев?

Мистер Томпкинс всплеснул руками.

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

— Вы это серьезно? — улыбнулся доктор Джамид.

— Но я же действительно не знаю, сколько они сделают. То есть я хочу сказать, я не знаю точной цифры.

— Даже с точностью до второго знака?

— Почему вас это так веселит?

— Потому что, как руководитель, вы просто обязаны это знать. Поиски компромисса между количеством людей в команде и скоростью работы — это то, с чем менеджеры сталкиваются чуть ли не каждый день. И вы тоже постоянно с этим сталкиваетесь. Как же вы это делаете?

— У меня возникает ощущение…

— Это ощущение и есть модель. Видите ли, где-то внутри вас возникает модель, но на нее невозможно ни посмотреть самому, ни показать другим. Все, что нам нужно, — это вывести ее на поверхность. Давайте посмотрим, как можно смоделировать ваши ощущения по поводу того, как изменится производительность команды, если количество человек в ней удвоится.

— Ну что ж, давайте.

— Вы будете рассказывать мне о своих ощущениях, а я постараюсь перенести их на модель так, чтобы она смогла все понять и обработать. Итак, что происходит, когда в команду приходит новый сотрудник?

Мистер Томпкинс на мгновение задумался.

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

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

— Постепенно новичок становится полноценным членом команды, — теперь мистер Томпкинс взял листок бумаги и быстро нарисовал на нем простой график. — Вот что-то вроде этого:



Доктор Джамид посмотрел на схему. Он еще пару раз щелкнул мышкой и что-то ввел с клавиатуры — и схема была внесена в модель.

— Вот только есть один нюанс, — продолжал между тем мистер Томпкинс. — Если этот новенький был седьмым в команде, то толку от него будет меньше, чем если бы, скажем, он был шестым или пятым. Потому что, как мне кажется, при увеличении команды всегда нужно учитывать «поправку на рост». Чем больше людей в команде, тем больше им нужно времени на разговоры. Следовательно, тем больше рабочего времени мы теряем.

— Ну-ка, напрягитесь еще раз. Нарисуйте мне график того, что вы только что описали.

— Ну вот, смотрите, — мистер Томпкинс перевернул листок и стал рисовать на обратной стороне. — Если мы примем общую производительность за функцию от размера команды, то идеалом будет прямая под углом в сорок пять градусов. В таком случае каждый новый сотрудник делал бы столько же, сколько и предыдущий, то есть увеличение команды вдвое дало бы удвоение производительности. При этом «поправка на рост» была бы равна нулю. Однако на самом деле все обстоит не так. На самом деле все происходит приблизительно вот так.



— То есть отклонение от идеального графика, или разница между действительностью и недостижимым идеалом, и есть «поправка на рост».

Доктор Джамид посмотрел на рисунок.

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

Доктор Джамид посмотрел на рисунок.

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

— Что?

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

— Так, это мне понятно.

— И сколько человек будет работать в команде в этот момент?

— Понятия не имею.

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

— Но мой ответ будет очень и очень приблизительным.

— Давайте, давайте, говорите. Сколько?

— Я бы сказал — около четырех человек.

— Иными словами, «чистая производительность» четырех человек, работающих в одной команде, будет приблизительно на треть меньше, чем «производительная мощность» человека, работающего над проектом в одиночку, помноженная на четыре?

Мистер Томпкинс пожал плечами.

— Разумеется, я не могу говорить с полной уверенностью, но мне кажется, так оно и есть.

— Хорошо, — доктор Джамид опять обратился к ноутбуку и стал вносить в модель необходимые дополнения. Еще через несколько минут дело было сделано. Доктор Джамид повернул экран к мистеру Томпкинсу. — Вот она, модель ваших интуитивных ощущений относительно размеров команды.



— Что-то вроде многозначных кодов?

— Ну, если не найдем чего-нибудь получше, можно взять и многозначные коды. Способность выполнять поставленные задачи контролируется клапаном под названием «Общая производительность труда». Чем выше ее значение, тем быстрее работа перемещается из первого резервуара во второй. Естественно, общая производительность должна выражаться в тех же единицах, что и количество работы в резервуарах.

— Понятно… — протянул мистер Томпкинс, хотя на самом деле был в этом далеко не уверен.

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

— А стоимость интеграции, если я правильно понимаю, — это отношение производительности, которую команда теряет при появлении в ее составе новых членов, к скорости работы?

— Да. А теперь я напишу уравнение или построю графическое определение для каждого клапана и каждого измерителя. Например, вот как я определяю значение «поправки на рост».



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

Мистер Томпкинс уставился на модель. Интересно, это и есть графическое представление его догадки о том, как влияет на работу команды увеличение числа программистов?

Доктор Джамид, казалось, умел читать мысли.

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

— Да, чтобы она соответствовала тому, что мне подсказывает интуиция.

— Абсолютно верно.

— Так вот, как раз сейчас моя интуиция подсказывает мне, что в эту модель необходимо внести некоторые исправления. А именно — ее не устраивает, что значение «поправки на рост» остается неизменным. Может быть, оно должно выражаться динамической функцией от времени. В конце концов, с течением времени люди привыкают работать вместе.

Доктор Джамид согласно кивнул.

— Расскажите мне об этом поподробнее, пожалуйста.

Мистер Томпкинс помолчал и задумчиво начал:

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

Через несколько минут Абдул повернул монитор к мистеру Томпкинсу:

— Что-то в этом роде?

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

— Разумеется.

Мистер Томпкинс молча рассматривал модель на экране ноутбука.



— Как только вернусь, сразу куплю такой и себе.

— Я использую Ithink, — ответил доктор Джамид13, — но покупать его вам не нужно. Разрешите мне вам его подарить, — и он достал из сумки запечатанную коробочку.

— О, Абдул. Ну зачем же?! Я бы прекрасно мог и сам…

Доктор Джамид протестующе поднял руки.

— Пожалуйста, Вебстер. Это просто дополнение к тому, о чем мы говорили, ко всем моим моделям и схемам. Кроме того, он стоил мне меньше, чем тот замечательный обед, которым вы меня угостили сегодня в Риме, поверьте. — С этими словами он протянул мистеру Томпкинсу коробочку, и когда тот взял подарок, снова полез в сумку и достал оттуда дискету. — А здесь вы найдете все модели, которые мы с вами разработали за два дня. Это вам пригодится для начала…

— …для начала работы над моделированием всех наших интуитивных предположений, — продолжил за него мистер Томпкинс. — И мы будем этим заниматься, пока не опишем их все. Обещаю вам, Абдул. Обещаю, мы это сделаем.


Из дневника мистера Томпкинса

Моделирование процесса разработки

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

2. Обсуждайте эти модели вместе с партнером, чтобы лучше понимать процесс работы и вносить необходимые исправления.

3. Предсказывайте результаты работы с помощью модели.

4. Сравнивайте результаты, полученные а процессе моделирования, с реальными.

Глава 11

Зловредный министр Бэллок

Прохладным весенним утром мистер Томпкинс шагал на работу, хотя еще не было и семи. Когда погода великолепная и утро обещает еще один чудесный день, хорошо пройтись пешком, любуясь окрестным пейзажем и никуда особо не торопясь. От резиденции мистера Томпкинса до места работы было не больше мили, причем дорога пролегала по исключительно живописной местности: с одной стороны простирались виноградники, с другой — журчал ручей. И каждый день по дороге на работу мистер Томпкинс задавал себе один и тот же вопрос: почему развитые страны так преуспели в создании материальных благ, но не могут при этом обеспечить человеку прекрасный пейзаж по дороге из пункта А в пункт Б? Вот в Моровии дороги потрясающе красивы, где бы ни находились пункты А и Б.

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

Присев на скамейку, мистер Томпкинс блаженно вздохнул. Его охватило чувство спокойствия и удовлетворения. Да, пожалуй, никогда в жизни он не был так счастлив, как за три месяца пребывания в Моровии. Получается, что увольнение стало для него благом, перевернуло всю его жизнь? Нет, не совсем так. В конце концов, многие люди в таких условиях заканчивают куда как хуже, чем он. Но дело все же не в увольнении. Ему повезло, что его похитила Лакса Хулигэн.

Вдруг раздался всплеск, а через секунду — радостное птичье пение из ветвей дерева, что росло у самой воды. Мистер Томпкинс очень медленно и осторожно потянулся к рюкзаку, вытащил оттуда энциклопедию о птицах и бинокль, которые купил как раз для этой цели. Разглядеть певца не составило большого труда — мистер Томпкинс сразу увидел пичугу с ворохом зеленых перьев на голове. Ему даже не понадобилась энциклопедия: конечно же, перед ним опоясанный пегий зимородок. Записав в блокнот «4 апреля, опоясанный зимородок», мистер Томпкинс положил все принадлежности рядом на скамейку на случай, если ему посчастливится увидеть еще кого-нибудь.

Теперешнее расслабленное состояние вовсе не означало, что у мистера Томпкинса совсем не было проблем. Конечно же, проблемы были — а как же без них, когда ты управляешь командой талантливых разработчиков! Проблемы с руководством программистами есть всегда, и моровийские программисты в данном смысле ничуть не отличаются от своих западных коллег. Более того, хорошие программисты это прекрасно знают и нередко напоминают об этом начальству. Конечно, некоторые из них заставили мистера Томпкинса помучиться, но он уже много лет назад выучил одно полезное правило: уважать любого, даже самого вредного из своих подчиненных.

Назад Дальше