В течение нескольких дней наш помощник по кодированию отвечал на каждый запрос одной и той же жалобой. Попросите его что-то исправить, и он будет переживать по поводу мелкой, незначительной ошибки, о которой он споткнулся в процессе. Попросите его просмотреть какую-то работу, и он снова застрянет на той же самой ошибке. Один из членов команды начал тему с заголовком просто: "У помощника одна мысль". Забавная часть в том, что помощник даже не был неправ. Он действительно снова и снова получал эту ошибочную мелочь, как будто это и был вопрос. Посредник, сидящий перед ним, тот маленький переводчик, которого мы написали, чтобы позволить двум системам общаться, все время хватал самую последнюю вещь в стопке и представлял ее как свежий запрос человека. Таким образом, помощник искренне спрашивался снова и снова, что делать с крошечной ошибкой, о которой никто на земле не заботился.
Вот та часть, которая заняла у нас на день дольше, чем следовало бы, чтобы её усвоить. Переводчик делал все, что хороший, добросовестный переводчик должен делать. Он сортировал вещи по типу. Он приводил в порядок историю. Он сокращал стопку до разумного недавнего фрагмента, что звучало ответственно. Он отфильтровывал носитель, который судил как шум. Каждое из этих решений было честным и обоснованным само по себе. В совокупности они произвели нечто, что скрывало реальный вопрос человека, выбрасывало записку, которая говорила помощнику, кто он вообще, и пересылало случайную ошибку, как будто это был весь разговор. Умный посредник, глупый результат.
Изменение в мышлении было небольшим и немного смиряющим. Мы написали переводчика так, как будто он был полезным редактором, убирающим и сокращающим в интересах помощника. Его следовало сделать глупой трубой, с одной работой: передавать другой стороне точно то, что она запросила, ни больше, ни меньше. На другом конце уже был точный, четко сформулированный контракт о том, какова последняя намерение человека и что представляет собой всё остальное в порядке. Пытаясь подводить итоги и экономить, переводчик продолжал угадывать, какой фрагмент имел значение. Помощник уже знал. Мы все это время отслеживали его.
Исправление было почти полностью уменьшением. Мы остановили переводчика от фильтрации записи, которая давала помощнику его идентичность и инструкции. Мы убрали хорошо замысловатую обертку, которая тихо сбрасывала большие объемы контекста каждую итерацию. Мы научили его действительно искать последнее сообщение человека и передавать его, вместо того чтобы слепо хватать то, что случайно оказывалось последним в очереди. Мы упростили, как он отличал текущую историю от живого вопроса. И мы научили его распознавать, что приходящие данные могут быть более богатыми, чем простые строковые значения. Ни одно из этих изменений не добавляло функцию. Каждое из них убирало немного хитрости.
Если вы управляете малым бизнесом и соединяете инструменты, это ловушка. Ваши соединения — не место, где нужно быть умным. Маленький посредник между вашими платежами и вашими контактами, между вашей системой бронирования и вашей электронной почтой, между формой на вашем веб-сайте и таблицей, которую ваш бухгалтер открывает в понедельник: каждое из этих мест соблазняет наводить порядок с данными по пути. Уберите поле, которое вы считаете ненужным. Обрежьте длинную заметку. Пропустите часть, которая выглядит как беспорядок. Каждая такого рода очистка — это утренний момент, когда запись назначения клиента приходит с неправильным номером телефона, и вы тратите час, доказывая, что он был правильным, когда они его вводили.
Противоречивый шаг — сделать ваш клей преднамеренно скучным. Пропускайте все через него. Изменяйте только то, что принимающая сторона явно требует, в точно той форме, в какой требуется. Храните полное копирование того, что пересекает границу, чтобы, когда что-то пойдет не так, вы могли положить то, что пришло, рядом с тем, что вышло, и мгновенно заметить разницу. Сопротивляйтесь искушению вставить разумный стандарт или целесообразный лимит внутри трубы. Стандарты принадлежат концам, где люди, которые контролируют каждый конец, могут спорить о них вслух. Лимиты должны находиться в системе, которая фактически несет затраты. Посредник, который тихо отбрасывает одно сообщение, чтобы сэкономить немного усилий, — это посредник, который в день, который вы не можете предсказать, уронит одно сообщение, которое имело значение. Мы это узнали, и это встроено в то, как мы строим.
Самая дешевая вещь, которую вы когда-либо создадите, — это то, что не делает ничего, что не было запрошено.