— Ну, если не найдем чего-нибудь получше, можно взять и многозначные коды. Способность выполнять поставленные задачи контролируется клапаном под названием «Общая производительность труда». Чем выше ее значение, тем быстрее работа перемещается из первого резервуара во второй. Естественно, общая производительность должна выражаться в тех же единицах, что и количество работы в резервуарах.
— Понятно… — протянул мистер Томпкинс, хотя на самом деле был в этом далеко не уверен.
— Вот эти тонкие стрелочки — зависимости. Они показывают, например, что общая производительность зависит от четырех вещей: от размера команды; от того, сколько в ней новичков, которые еще не вошли в курс дел; от «поправки на рост» и от «стоимости интеграции».
— А стоимость интеграции, если я правильно понимаю, — это отношение производительности, которую команда теряет при появлении в ее составе новых членов, к скорости работы?
— Да. А теперь я напишу уравнение или построю графическое определение для каждого клапана и каждого измерителя. Например, вот как я определяю значение «поправки на рост».
— Как видите, ее начальное значение — ноль, и к тому времени, когда у вас в команде появляется четыре человека, оно вырастает приблизительно на треть. А дальше — это просто мои догадки относительно того, какой вы хотели бы видеть эту кривую.
Мистер Томпкинс уставился на модель. Интересно, это и есть графическое представление его догадки о том, как влияет на работу команды увеличение числа программистов?
Доктор Джамид, казалось, умел читать мысли.
— Пока мы играем с этой моделью, вам, может, захочется что-то в ней изменить. Может быть, в этой вот кривой, а может, даже перестроить всю модель целиком.
— Да, чтобы она соответствовала тому, что мне подсказывает интуиция.
— Абсолютно верно.
— Так вот, как раз сейчас моя интуиция подсказывает мне, что в эту модель необходимо внести некоторые исправления. А именно — ее не устраивает, что значение «поправки на рост» остается неизменным. Может быть, оно должно выражаться динамической функцией от времени. В конце концов, с течением времени люди привыкают работать вместе.
Доктор Джамид согласно кивнул.
— Расскажите мне об этом поподробнее, пожалуйста.
Мистер Томпкинс помолчал и задумчиво начал:
— Иногда мне кажется, что команды могут достигать такой слаженности в работе, что значение «поправки на рост» с течением времени становится отрицательным. Происходит нечто, после чего команда становится единым целым — ее производительность становится больше, чем сумма производительности ее членов. Все начинают работать вместе… и… даже не знаю, как сказать точнее… происходит слияние.
Через несколько минут Абдул повернул монитор к мистеру Томпкинсу:
— Что-то в этом роде?
— Да, похоже. В командах действительно может наблюдаться «эффект слияния», как вы это называете. А теперь можно вернуться к стоимости интеграции и переопределить ее значение.
— Разумеется.
Мистер Томпкинс молча рассматривал модель на экране ноутбука.
— Как только вернусь, сразу куплю такой и себе.
— Я использую Ithink, — ответил доктор Джамид13, — но покупать его вам не нужно. Разрешите мне вам его подарить, — и он достал из сумки запечатанную коробочку.
— О, Абдул. Ну зачем же?! Я бы прекрасно мог и сам…
Доктор Джамид протестующе поднял руки.
— Пожалуйста, Вебстер. Это просто дополнение к тому, о чем мы говорили, ко всем моим моделям и схемам. Кроме того, он стоил мне меньше, чем тот замечательный обед, которым вы меня угостили сегодня в Риме, поверьте. — С этими словами он протянул мистеру Томпкинсу коробочку, и когда тот взял подарок, снова полез в сумку и достал оттуда дискету. — А здесь вы найдете все модели, которые мы с вами разработали за два дня. Это вам пригодится для начала…
— …для начала работы над моделированием всех наших интуитивных предположений, — продолжил за него мистер Томпкинс. — И мы будем этим заниматься, пока не опишем их все. Обещаю вам, Абдул. Обещаю, мы это сделаем.
Моделирование процесса разработки
1. Моделируйте свои предположения и догадки о том, как пойдет процесс работы.
2. Обсуждайте эти модели вместе с партнером, чтобы лучше понимать процесс работы и вносить необходимые исправления.
3. Предсказывайте результаты работы с помощью модели.
4. Сравнивайте результаты, полученные а процессе моделирования, с реальными.
Глава 11
Зловредный министр Бэллок