Всем привет. Приход весны привёл к существенному продлению светового дня, что привело к тому, что перед походом на работу стало появляться время почитать десяток страниц чего-нибудь интересного, до чего раньше руки не доходили. В результате, я осилил две достаточно интересных книги, о которых раньше часто слышал: Алан Купер «Психбольница в руках пациентов», Фредерик Брукс «Мифический человеко-месяц». От прочтения обоих книг я получил большое удовольствие и некоторые интересные инсайды, которыми не переставал делиться с коллегами по работе и готов поделиться с вами.

«Мифический человеко-месяц»

Эта достаточно старая книга. Её прочтение мною постоянно сопровождалось сравнением современных реалий разработки ПО с теми, которые описывал автор (оригинал вышел в 1975 году). Это был очень занятный экскурс в историю. Многие идеи, принципы и методики разработки ПО совсем не потеряли актуальность, другие просто немного осовременились (пример с рабочими тетрадями, которые сейчас заменяют современными инструментами документации).

Одними из самых значимых идей книги является объяснение тезиса, вынесенного в название книги (почему люди и месяцы – не взаимозаменяемые элементы, которые можно перемножать, получая «человеко-месяцы», которыми так любят оперировать).

Вторым интересным тезисом является избитая, но скорее всего далеко не всеми понимаемая фраза «Серебряной пули не существует». Происхождение этой фразы – это отдельная красивая мысль, предложенная автором. Вы когда-нибудь вообще задумывались – почему именно «серебряная пуля»? Ею собирались кого-то убить? И почему именно серебряная, а не золотая? Почему не «Золотой молоток», который многие ищут, а некоторые уверены, что уже и нашли?

Самая статья про «cеребряную пулю» поднимает фундаментальные вопросы: почему у нас так всё не просто с программированием и в какие стороны нужно копать, чтобы стало принципиально лучше. Так же в книге затрагиваются вопросы построения больших и малых эффективных команд.

В общем, несмотря на почтенный возраст книги и некоторые свойственные для того времени проблемы мы порешали (которые успешно заменяются новыми 😄), но актуальность в целом она не потеряла. Значит ли это то, что мы продолжаем топтаться на месте? Хороший вопрос.

«Психбольница в руках пациентов»

Бывают произведения, по названию которых ну совсем не понятно о чём оно. В моём случае, эта книга Купера как раз стала жертвой излишнего креатива автора в выборе названия, который не добавил книге шансов быть прочитанной раньше. Конечно, по прочтению книги становится понятен смысл этой фразы или если быть знакомым с его второй известной книгой – «Об интерфейсе», то догадаться тоже наверно можно было. Но, блин, слоооожнааа.

Эта книга является введением в проблематику построения UI, указывает на фундаментальную проблему разработки ПО, которое порождает огромное количество «танцующих медведей» (смысл этой красивой метафоры законно удостаивается отдельной главы этой замечательной книги) и предлагает её решение. После чего за конкретикой в реализации UI можно уже проследовать во вторую книгу автора.

Внимательный читатель может подумать: «С каких пор разработка UI должна интересовать PM-ов»? В этом и есть одна и из проблем, что её часто отдают полностью на откуп разработчикам, ведь в конечном итоге они ближе всего к реализации (где то тут становится понятно название книги). Именно вовремя принятые меры снаружи позволяют существенно улучшить качество получающегося продукта.

По себе замечаю, что становиться по другую сторону продукта и думать не как программист непросто, но меня автор убедил, что именно это выигрышная стратегия.

Помимо этих книжек сейчас ещё неплохим «расширителем сознания» для меня выступает переход на разработку на Clojure и ClojureScript, где всё очень необычно. Но это уже отдельная история…

В общем, читайте и пробуйте разное, а не похожее или аналогичное вашему прошлому опыту. Специализация, конечно, важна, но расширять кругозор не менее полезно.