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