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