Вот простой процесс поставки программных проектов, который работает. Сначала разложите проект на поток (я имею в виду «поток» в смысле языка программирования — бесконечный список элементов с возможностью открывать по одному за раз) заголовков. Затем выберите агрессивную дату отправки первого заголовка и работайте как проклятые, чтобы уложиться в эту дату. Пусть все работают только над одним заголовком — предстоящим. Игнорируйте все остальное. Не работайте ни над чем, что не поможет вам поставить этот заголовок. Как только заголовок будет отправлен, переключитесь на следующий заголовок в потоке и повторите. Вот и все, можете увольнять своего agile-консультанта.
Заголовок (Headline) — это очень короткое предложение, которое содержит только самый важный бит, а все остальные биты отсеиваются. Представьте, что вы столкнулись с кем-то на улице после того, как не виделись несколько месяцев, и он спрашивает, чем вы занимались. Какие ответы хорошо работают в этой ситуации? «Я путешествовал по Юго-Восточной Азии», «Я сменил работу», «Я женился». Точно так же работают заголовки о выпуске программного обеспечения. «Теперь вы можете арендовать виртуальные машины через API», «Мы развернули FSD автопилот», «Монеты доступны в Индии».
Разработка на основе заголовков работает очень хорошо по трем причинам.
Во-первых, заголовки — это то, как люди обрабатывают изменения. Если вы когда-нибудь обнаруживали, что ваши пользователи запутались, ваш босс расстроен, инвесторы обеспокоены, коллеги равнодушны — все эти проблемы исчезают, когда вы организуете общение вокруг потока заголовков. Но это не сработает, если вы будете думать только о себе. Общаться с помощью заголовков, но развиваться каким-то другим способом — все равно что вести двойную жизнь. Это становится слишком запутанным. Поэтому, чтобы общаться с помощью заголовков, нужно и развиваться с помощью заголовков.
Во-вторых, это облегчает безжалостную расстановку приоритетов. Если вы можете убедительно представить заголовок без чего-то, сократите это что-то. Например, предположим, вы работаете над заголовком о походе по Юго-Восточной Азии и планируете посетить шесть стран. Сможете ли вы убедительно сказать своим друзьям: «Я совершил поход по Юго-Восточной Азии», только посетив пять стран вместо шести? Очевидно, да. Поэтому одна из стран отпадает. Как насчет четырех стран? Повторите это упражнение и остановитесь до того, как достоверность заголовка окажется под угрозой. Вы хотите выполнить минимально возможный объем работы, чтобы заголовок оставался правдоподобным.
В-третьих, эффект дедлайна реален. Большая часть работы в колледже происходит в полночь перед сдачей проекта. В реальной жизни все иначе. Поэтому симуляция классных заданий оказывается очень эффективным способом быстрой отправки. Вам нужен дискретный кусок работы с произвольным сроком выполнения (заранее объявите кандидатам произвольные сроки и позвольте самоотбору сделать свое волшебство) и бинарным результатом. Это можно получить с помощью заголовков — заголовок либо отправлен к заданной временной отметке, либо нет.