phdru.name / Russian / Software

Программирование и управление разработкой ПО: литература

Очень краткие рецензии на небольшой список книг по программированию и управлению разработкой.

Программирование и дизайн

Стив Макконнелл, "Совершенный код"

Книга про разработку, программирование и написание кода. Планирование, проектирование, программирование, отладка, оформление кода, написание комментариев, интеграция проекта и инструменты для работы с кодом. Обязательное чтение. Более того, рекомендуется иметь эту книгу на книжной полке на расстоянии вытянутой руки и регулярно перечитывать отдельные главы, имеющие отношение к текущему этапу разработки.

Джефф Раскин, "Интерфейс: новые направления в проектировании компьютерных систем"

Джефф Раскин - специалист по дизайну интерфейса, даже более того - специалист по разработке человеко-машинного взаимодействия. Инициатор проекта Apple Macintosh. Рекомендуемое чтение.

Питер Сейбел, "Кодеры за работой. Размышления о ремесле программиста"

Интервью с 15 величайшими программистами мира. В числе подвергшихся: Джейми Завински, владелец ночного клуба; Бред Фицпатрик, некромант; Брендан Айк, гомофоб; Фрэн Аллен, женщина; Дональд Кнут, музыкант, печатник, создатель лучших в мире подставок под мониторы; ну и всякая мелюзга - Гай Стил, Питер Норвиг и пр. Все интервью построены примерно по одному образцу - рассказ о детстве и юности персонажа (не о босоногом детстве, а о первых программах); первые профессиональные работы; наивысшие достижения; способы отладки - в отладчике или с помощью отладочной печати. Русский перевод хромает в области терминов, особенно не повезло Фицпатрику (у него в интервью терминов больше).

Эндрю Хант, "Программист-прагматик. Путь от подмастерья к мастеру"

Неплохая книга о прагматических (т.е. лишённом идеологии) подходах к выбору инструментов, проектированию, программированию и отладке. В конце каждой главы - задачи, некоторые, скорее, философские. Рекомендуемое чтение. Перевод в целом приемлем, хотя встречаются и ляпы. Самый заметный - регулярные отсылки к адмиралу Грейсу Хопперу.

Камаев В. А., Костерин В. В., "Технологии программирования"

Толстый и скучный учебник для студентов. Я не представляю, чтобы кто-то по нему чему-то выучился. Большинство примеров кода - на Turbo Pascal и Turbo C для DOS, хотя есть упоминания и о более свежих технологиях.

Проектирование и управление разработкой ПО

Фредерик Брукс, "Мифический человеко-месяц или Как создаются программные системы"

Классика. К сегодняшнему дню несколько устарела, поэтому читать надо второе издание (включающее "Серебряную пулю") в таком порядке: первые 15 глав пролистать по диагонали, а начиная с 16-ой (собственно "Серебряная пуля") читать медленно, вдумчиво. Обязательное чтение.

Алан Купер, "Психбольница в руках пациентов"

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

Вывод - программисты не годятся для разработки человеко-машинного взаимодействия. У них мозги по-другому устроены.

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

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

Кент Бек, "Экстремальное программирование"

Книга, с которой началось победное шествие экстремального программирования и других гибких методов. Сравнительно свежая - 99-ый год, а уже стала классикой. Глубина и тщательность рассмотрения методов XP, как по отдельности, так и во взаимодействии, без сомнения, одна из причин популярности XP. Обязательное чтение.

Борис Вольфсон, "Гибкие методологии разработки"

Краткое введение в гибкие методы разработки. В основном про Scrum. Рекомендую ознакомиться.

Том ДеМарко, "Deadline. Роман об управлении проектами"

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

Том ДеМарко, "Человеческий фактор: успешные проекты и команды"

Управление человеческими ресурсами. Люди и команды, общение, помещения и атмосфера.

Том ДеМарко, "Вальсируя с медведями"

Управление рисками в проектах по разработке ПО.

Мерилин Буш, "Модель зрелости процессов разработки программного обеспечения"

Чудовищно толстая и невыносимо скучная книга. Подробно, в микроскопических деталях описаны 5 уровней модели зрелости процессов разработки (Capability Maturity Model): 1) полный хаос; 2) лёгкий бардак; 3) частичная упорядоченность; 4) полная упорядоченность; 5) совершенство во всех отношениях. Рекомендую поверхностное ознакомление.

Рейнвотер Дж. Ханк, "Как пасти котов. Наставление для программистов руководящих другими программистами"

Мне эта книга показалась заурядной книгой по управлению проектами. Любыми, не только ПО. Ничего специфического для управления программистами ("котами") я не заметил. Наверное, невнимательно читал, надо будет перечитать.

Эд Салливан, "Время - деньги. Создание команды разработчиков программного обеспечения"

Управление проектами на примерах из жизни одной конкретной фирмы. Написано живо, русский перевод неплох, но ничего особенного.

Эрик Брауде, "Технология разработки программного обеспечения"

Толстенный, но при этом даже не очень скучный учебник по разработке ПО. Анализ требований, архитектура, проектирование, программирование, тестирование, интеграция, сопровождение.

Об переводы

Отдельно хочу погоревать о переводах названий. Вот как "Code complete" превратился в "Совершенный код"? А "Software engineering: an object-oriented perspective" в "Технологию разработки программного обеспечения"?

С другой стороны, "The inmates are running the asylum" перевели как "Психбольница в руках пациентов". Это мне кажется примером удачного перевода.


Эта страница https://phdru.name/Russian/Software/software_engineering_books.html была сгенерирована 14.07.2021 в 00:38:08 из шаблона CheetahTemplate software_engineering_books.tmpl; Некоторые права зарезервированы. Вы можете узнать о технических аспектах этого сайта.