Аналогия с написанием книги...

Автор: Александр Якима.

В прошлом посте, "Осторожно с аналогиями. Lean и TOC в разработке", мы обсуждали несоответствия в аналогии между "производством" и "разработкой ПО". Как справедливо отметил один из наших читателей, Владимир Дзеба (обсуждение можно посмотреть в LinkedIn-группе Agile Requirements & Quality), действительно хотелось бы предметно представлять, как себя вести с учетом целого ряда несоответствий в одной из общепринятых аналогий. Вопрос хороший и, признаюсь, заставил здорово призадуматься, а какая модель (или аналогия с чем-то) соответствовала бы тому эффекту в разработке ПО, что работа в текущий момент может повлиять на результат уже ранее выполненной работы.

Идея пришла вчера... сама собой, за чтением очередной "дежурной" книги. Наша аналогия - это написание книги (скажем, романа или вообще любого литературного произведения).

И действительно, то, что мы добавим к существующим на данный момент главам, способно совершенно кардинально повлиять на предыдущие главы. К примеру, представим себе, что вдруг взяли и дописали что-то к "Братьям Карамазовым" Достоевского. Если дописать, например, что Иван Карамазов симулировал болезнь, дабы в конечном итоге избежать ответственности, это разрушит всю этическую составляющую романа, все то, что Ф. М. пытался подчеркнуть в человеке. Но это еще куда не шло, просто меняет суть романа. А если дописать в конце, что Грушенька ушла в какое-то реалити-шоу - тут-то и найдет на читателя ступор и такое произведение просто не будет "компилиться" в его голове. Таким образом, и тут, как и в разработке ПО имеем два типа ошибок - физические, при которых даже не "скомпилится" и логические: "компилится, но ведет себя не так, как хотелось бы".

Также получается очевидная параллель между пользователем ПО и читателем. Кстати, как и пользователи по-разному используют один и тот же продукт, так и у разных читателей одна и та же книга может оставить разные впечатления. В первом случае (ПО) многое зависит от профессии, обязанностей, привычек пользователя, во втором же (книга) - от мировоззрения и жизненного опыта. "Пользовательские сценарии" весьма напоминают отдельные "сцены" из сюжета книги. "Сущности" предметной области - это "персонажи" романа. А может быть и не роман вовсе, а стих какой-нибудь... можно понимать как "скрипт" в нашей интерпретации.

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

В одном из интервью братьев Стругацких есть просто "контрольный выстрел" в этом направлении:

ВОПРОС: Бывает ли так, что герои выходят из-под вашего контроля? Ведут себя так, как вы и не предполагали вначале?

А.Н.СТРУГАЦКИЙ: Как только герой, который нам уже понравился, начинает поступать вразрез с нашими намерениями – нужно менять намерения.

Ну... просто концепция "responding to change over following a plan" (Agile Manifesto).

Этой аналогией, как оказывается, вовсю пользуются Тех-писатели - применяют общеизвестные практики из разработки ПО (например, системы контроля версий) и, в частности, гибкие практики в своей работе (инкрементальную доставку) - см. например блог о тех-писательстве.

Наверняка, как и всякая другая аналогия, и у этой удастся обнаружить свои недостатки. Я пока не успел об этом детально поразмыслить, но абсолютно уверен, что они есть... как неоспоримо есть тот суслик из "ДМБ".

Завершим сегодняшние выкладки рекомендациями для "авторов" из тематического форума (оставляем их в оригинале):

Here are a few of my ideas (Content Writing Best Practices):
1. Chunk your content - no long paragraphs
2. Write in an active voice - provides, creates, develops
3. Write for the reader - not the search engines
4. Deliver a clear and concise message - take out the unnecessary words
5. Write call to action statements - prompt the user to take action
6. Create 250-500 word pages - not too long, not too short
7. Edit, rewrite, and edit again

...Как будто Мартина Фаулера читаешь.

Удачи!..

No comments:

Post a Comment

 
Powered by Blogger