Знать решение и уметь его найти — разные вещи
«Я это уже делал у ваших конкурентов» — подрядчик, скорее всего, в это верит. Почему готовое решение портится быстрее, чем кажется, и четыре вопроса, которые стоит задать до договора.
На первой встрече опытный подрядчик часто произносит фразу, которая звучит как лучшая новость дня: «Я это уже делал — у ваших конкурентов. Сделаю так же, только лучше: все шишки уже набиты». Заказчик выдыхает. Человек знает дорогу, рисковать не придётся.
Скорее всего, он не врёт. Он правда это делал и правда в это верит. Вопрос в другом: верно ли это до сих пор — и верно ли это про вас. Знать решение и уметь его найти — два разных умения, и платите вы за второе. Дальше — почему первое портится быстрее, чем кажется, и как отличить одно от другого до того, как подписан договор.
Полгода назад было лето
Представьте, что едете в город, где были полгода назад. Дорогу помните, повороты помните. Шансы доехать тем же путём велики. Только полгода назад было лето. Паром с тех пор могли снять до весны, мост — закрыть на ремонт, трассу — сделать платной. Вы этого не знаете и не узнаете, пока не посмотрите.
Построить маршрут — десять минут. И важно, когда именно вы узнаёте про ремонт. Заранее — сворачиваете на объезд и теряете полчаса. У бетонных блоков поперёк дороги — разворачиваетесь, едете обратно к развилке и оплачиваете этот отрезок второй раз, бензином и временем.
С решениями в софте и процессах то же самое, только бензин дороже.
Что успевает измениться
Решение, выстраданное в прошлом проекте, стареет сразу с трёх сторон.
Изменились правила. Регуляторы переписывают требования чаще, чем кто-либо успевает к ним привыкнуть: маркировка, персональные данные, электронные документы — везде за последние годы правила меняли не по разу. То, что год назад было правильным ходом, сегодня может оказаться не просто устаревшим, а недопустимым.
Изменились инструменты. То, ради чего год назад писали код на заказ, сегодня входит в стандартную поставку. Бывает и наоборот: продукт, на котором всё держалось, сняли с поддержки.
Изменилась компания — потому что это другая компания. С конкурентом вас роднит рынок, а не устройство. У него другие продукты, другая схема продаж, свои отношения с дилерами, а производство может стоять в другой стране. Подрядчик начнёт вникать и обнаружит, что у вас всё иначе. Хорошо, если раньше, чем построит «как у них».
Одинаковое решение честно работает в одном случае: когда всё, чего оно касается, жёстко зарегулировано, и регулирование не менялось. Кассовый аппарат можно ставить в любой магазин — он везде обязан делать одно и то же. И даже тут есть оговорки: у одного в номенклатуре двадцать позиций, у другого двадцать тысяч, и один и тот же экран им удобен по-разному.
Почему он в это верит
Здесь мне есть на кого сослаться, кроме себя.
В 2009 году Даниэль Канеман и Гэри Кляйн — два психолога, которые годами спорили, можно ли доверять чутью профессионала, — написали совместную статью о том, в чём они всё-таки согласны (Conditions for Intuitive Expertise). Интуиции эксперта можно верить при двух условиях. Среда должна быть достаточно предсказуемой, чтобы в ней было чему учиться. И у человека должна была быть возможность эти закономерности выучить. Пожарный и анестезиолог в таких условиях работают. Внедренец, который переходит из компании в компанию, — нет: у него каждый раз новая среда. И отдельной строкой в выводах: то, насколько человек уверен в своём суждении, ничего не говорит о том, насколько оно точно.
Вторая работа объясняет, почему опытный человек искренне не замечает, что не проверил. Шахматным мастерам давали позицию, где есть знакомое решение и есть более короткое, но менее привычное (Bilalić, McLeod, Gobet, 2008). Найдя знакомое, игроки говорили, что продолжают искать лучшее. Запись движения глаз показала другое: они смотрели на те же поля, что относились к уже найденному ходу. Человек уверен, что перебирает варианты, а смотрит всё туда же.
Отсюда и «я точно знаю, как надо». Это не обман. Это знакомый ход, который заслонил доску.
Сколько стоит не проверить
Бент Фливбьерг и Александр Будзье разобрали 1 471 ИТ-проект (Harvard Business Review, 2011). В среднем бюджет превышали на 27% — неприятно, но пережить можно. Опасность в хвосте: каждый шестой проект вышел за бюджет в среднем на 200% и почти на 70% — по срокам.
Откуда берутся такие проекты, знает любой, кто строил систему в три захода. Сначала делают простое — учёт: всем очевидно, как он должен работать. Потом автоматизируют то, что учли. Потом доходят до отчётов и выясняют, что для них нужны данные, которые на первом этапе никто не собирал: про отчёты тогда не думали. Возвращаются к первому этапу и перелопачивают. По сути, платят второй раз за ту же работу.
У этого эффекта есть известная оценка: исправить ошибку после сдачи системы часто стоит в сто раз дороже, чем на этапе требований (Boehm, Basili, 2001). Авторы сами оговариваются, что для небольших систем разница ближе к пяти разам. Но и пять раз — это пять раз.
Здесь же ответ на вопрос, зачем в проекте аналитик и почему он стоит дорого. Не затем, что программист не умеет говорить по-человечески, — просьбу «дайте нам программиста, мы сами ему всё расскажем» я слышу регулярно. Аналитик бережёт время программиста, такого же дорогого, а иногда и дороже. Он держит в голове и бизнес, и систему, накладывает желания на возможности и строит маршрут — тот самый, в котором отчёты третьего этапа учтены на первом. О том, почему и этот труд нередко пропадает зря, у меня есть отдельная заметка.
Коробки в кладовке
Крайний случай готового решения — когда его приносит продавец. В большую компанию приходит большой вендор: «Вам это точно нужно». Стоит дорого — наверное, вещь хорошая. Покупают.
Я знаю компанию из нефтяной отрасли, которая так купила целую учётную систему за космические деньги. Коробки с дистрибутивом потом лежали у них в кладовке нераспечатанными. У явления есть название — shelfware, «софт на полке»: оплачено, поставлено, не используется. И ведь никто никого не обманывал. Просто решение появилось раньше, чем кто-то разобрался в задаче.
Четыре вопроса тому, кто точно знает
Отказываться от опытных людей не нужно. Нужно понять, что именно вы у них покупаете. Вот вопросы, по ответам на которые это видно.
«Когда вы делали это в последний раз — и что с тех пор изменилось?» В правилах, в инструментах, в ценах. В хорошем ответе есть конкретика. Плохой звучит так: «да ничего, там всё стабильно».
«Чем мы отличаемся от тех, у кого это сработало?» Если ответ «ничем» — он ещё не смотрел.
«Что должно оказаться правдой про нас, чтобы ваше решение подошло, — и как мы это проверим до основных денег?» Проверка — отдельный короткий этап со своим результатом, а не абзац в коммерческом предложении.
«Где на этом маршруте вы ждёте объезд?» Тот, кто умеет искать решение, назовёт два-три места, где может не сойтись. Тот, кто знает ответ, скажет, что всё будет нормально.
И последнее — уже к вам. Дайте на проверку время. Это самая нетерпеливая точка проекта: все хотят «уже начать», и неделя на маршрут выглядит как неделя простоя. Она окупается первым же ремонтом дороги, о котором вы узнали заранее.
Итого
Опыт — это не готовый маршрут. Это знание, где обычно перекопано, и привычка смотреть карту перед выездом. Гарантии проверка тоже не даёт: ошибиться можно и с ней. Зато ошибка выходит дешёвой — вы сворачиваете за километр до блоков, а не упираетесь в них.
Себя я проверяю по тем же четырём вопросам. В том числе там, где «точно знаю». Особенно там.
იცანით თქვენი ტკივილი? → დიაგნოსტიკა
ყველა ჩანაწერი