Цель записывания – не в том, чтобы записать все , а сделать это с такой же экономностью и элегантностью, как в хорошей программе. Скотт Амблер, пропагандист гибкой разработки, считает, что программисты должны не тратить массу времени на написание документации к своим программам, а делать ее всего лишь «достаточной, но минимальной» (Just Barely Good Enough – JBGE) [90] Scott Ambler, “Just Barely Good Enough Models and Documents: An Agile Best Practice,” Agile Modeling , http://agilemodeling.com/essays/barelyGoodEnough.html.
. Это не означает, что она должна быть неэффективной или «не очень хорошей», а наоборот – «максимально эффективной». То есть документация должна содержать столько информации, сколько большинство людей действительно готовы прочитать .
В духе JBGE я умолкаю.
Не делай идеально,
Просто делай.
Летним днем 1999 года Аллен Дауни сидел в своем офисе в колледже Колби и делал нечто радикальное: он начал писать учебник по программированию. Конечно, в написании учебника для колледжа нет ничего радикального, если ты несколько лет работал, у тебя есть команда рецензентов и терпеливый редактор. Цель Дауни была иной: написать учебник до начала занятий… за две недели .
«Большинство учебников нечитабельны, слишком объемны и скучны, – сказал мне Дауни. – Это тысячестраничные книги без индивидуальности». Учебников для его курса программирования на языке Java было множество, но каждая глава занимала страниц пятьдесят, а то и больше, и многие студенты быстро теряли интерес. Кроме того, материал был плохо организован: первые несколько глав были простыми, но «потом открывалась дверь ловушки, и студенты падали в нее» [91] Allen B. Downey, personal interview, Nov. 7, 2014.
.
«Я с легкостью мог предсказать, что на главе 5 головы студентов взорвутся, – вспоминал Дауни. – Всего было слишком много, все было слишком новым, все было слишком быстро». И он начал писать собственный учебник за четырнадцать дней. Для этого он использовал новый подход.
«Я видел свой учебник, как складную трибуну, – объяснял он. – Если встречается трудная идея, то она может стать стеной. А может стать складной трибуной, которую можно потянуть на себя, чтобы позволить студентам перепрыгнуть через нее. Если я знаю, что в пятой главе появится стена, я могу потянуть какой-то материал вперед, чтобы студенты подобрались к нему в главе 2 и еще в главе 3. И когда мы дойдем до трудного места, они с легкостью его преодолеют».
Невероятно, но он сумел закончить свой учебник к началу занятий. Тринадцать дней подряд он писал по главе объемом десять страниц [92] Allen B. Downey, “Free Books, Why Not?” Green Tea Press , http://www.greenteapress.com/free_books.html.
. «Это объясняется накопившимся раздражением, – смеется Дауни. – Я точно знал, чего хочу, поэтому сумел все записатьочень быстро». В духе JBGE он сжал каждую главу до десяти страниц, стараясь максимально просто объяснить каждую идею. И поскольку у него был учебник, он мог сконцентрироваться на том, чтобы сделать его лучше.
Каждую неделю он проводил опрос по недельному чтению и получал обратную связь, чтобы оценить эффективность. «Теперь я нахожусь в жестком цикле обратной связи. Если студенты читают главу 3, и все проходят опрос, я могу двигаться дальше. Если все читают главу 3, но никто не проходит опрос, я понимаю, что в этой главе что-то не так и это нужно исправить».
В терминах гибкого программирования учебник Дауни можно назвать «минимально приемлемым продуктом»: мы быстро выпускаем продукт, который можно испытывать, изучать и совершенствовать. Сравните это с иным подходом, который можно назвать «максимально идеальным продуктом»: то есть выпустить мы можем программное обеспечение, на 100 % свободное от багов, идеально отредактированную книгу – и личные цели, которые доведены до абсолютного совершенства.
Несмотря на все недостатки, Дауни понял, что его учебник гораздо лучше тех, которыми он пользовался. «Цикл быстрой обратной связи» помогал ему оперативно все корректировать. Когда он провел два-три курса по этому учебнику, у него получился вполне рабочий вариант. В великолепном примере мета-творения Дауни применил известную программную мудрость: «Выпускай быстро, выпускай часто, получай обратную связь и совершенствуй».
Но это лишь один фактор, который делает экспериментальный учебник Дауни столь радикальным. Второй заключается в том, что он раздавал свой учебник бесплатно. В последующие годы он сделал несколько учебников, в том числе «Как мыслить, словно настоящий компьютерщик», и распространил их по лицензии Ричарда Столлмена как всеобщее достояние. Читатели вправе копировать, корректировать и распространять его книги бесплатно. Дауни создал собственное издательство, работающее под девизом: « Студенты должны читать и понимать учебники. И все » [93] Allen B. Downey, “The Textbook Manifesto,” Green Tea Press , Jan. 6, 2010, http://www.greenteapress.com/manifesto.html.
.
Читать дальше
Конец ознакомительного отрывка
Купить книгу