Схемы на салфетке

Люблю неформальный подход. Все эти всратые схемы на салфетках и объяснение сути в нескольких коротких, но ёмких предложениях. Кажется, что я могу эффективно работать только с такой информацией. Когда вижу формализованные схемы, сиквенс-диаграммы и аккуратно оформленные документы, меня клонит в сон. Мне физически тяжело их читать.

Вместо чтения развесистых документов от аналитиков, мне проще созвониться и за две минуты услышать всю суть задачи в паре предложений на человеческом языке. Даже Джо Армстрог — разработчик языка Erlang — тоже с трудом понимает документы, и вместо чтения идёт общаться с живым человеком.

Документ — это серьёзно. Социально неприемлемо, чтобы документ состоял из нескольких предложений и фотографии схемы на салфетке. Если документ, то обязательно большой, содержательный и красиво оформленный. И это проблема, потому что рабочий процесс должен быть живым, творческим и немного неказистым. Если творить внутри формализованного шаблона и красивого документа, получается неповоротливая выстраданная ерунда. Формализм приводит к борьбе за форму, вместо борьбы за суть.

Есть и другая проблема. Чем больше сил вложено в документ или схему, тем сильнее сопротивление к изменениям. Я сам столкнулся с подобным эффектом, когда работал по TDD. Выбросить салфетку со схемой и нарисовать новую ничего не стоит. С документом не так. Не могу себе представить, насколько эмоционально-прокаченным нужно быть, чтобы без сожаления и сопротивления избавиться от красивого большого документа.

У документов тоже есть своё место. Они отлично работают как точка синхронизации большого количества людей. RFC и PEP — это пример крутой документации. Но поддерживать такой уровень внутри продуктовых компаний в большинстве случаев избыточно.

Я видел много проектов с разной документацией. Её качество минимально влияло на продукт и скорость разработки. Но если в команде не было людей, которые могут нарисовать схему продукта на салфетке и объяснить его суть в нескольких ёмких предложениях, тогда проблемы были и в продукте, и в качестве, и в коде.

Короче говоря, я выбираю схемы на салфетке, а что выбираешь ты?