Не всё то лебедь, что из воды торчит
Меня часто спрашивают о рекомендованном чтении по управлению проектами по разработке программного обеспечения. Сразу и не вспомнишь всех хороших книг. Тут надо оговориться, что я изучал этот вопрос больше десяти лет назад и учился на тех книгах, что были тогда. Приводить большую часть из них сейчас, наверное, не имеет смысла. Новые книги, конечно, тоже постоянно просматриваю. Нахожу периодически что-то интересное.
Буду собирать на этой страничке рекомендуемые книги по мере того, как буду вспоминать что-то из классики или читать что-то интересное. Конечно же, отсутствие книги в этом списке не означает, что она плохая. Это может также означать, что она не понравилась лично мне или просто, что я не видел этой книги. Всё-таки время на чтение тоже ограничено.
Кроме того для понимания того, как живут проекты необходимо прочесть много книг по близлежащим дисциплинам. Начиная от управления требованиями и заканчивая тестированием. Но перечислить все эти книги будет очень долго. Если возникнет потребность в такой моей рекомендации - пишите. Буду искать время и дополнять.
Итак, что я рекомендую прочитать по менеджменту программных проектов.
Steve McConnell. Code complete
Классика. Кирпич в фундаменте популярной литературы по разработке ПО. Очень системно и ровно обо всём. Я вынес из этого раздела рекомендации по книгам, которые относятся к специфичным знаниям (документирование, разработка, тестирование и т.д.). Но эта книга должна быть прочитана каждым руководителем проекта. Особенно если он сам не прошёл путь разработчика в крупном проекте. Эта книга даёт необходимое понимание о том, что есть программный проект и какие винтики крутятся в этом сложном механизме. Без понимания того, что написано в книге за руководство проектами лучше не браться. И перелистывать её тоже стоит достаточно часто до полной уверенности в том, что "теперь я ничего не упустил".
Larry Richman. Project Management Step By Step
Руководство по управлению проектами для самых маленьких. Если вы только начитаете и хотите понять, о чём тут пойдёт речь - это книга хорошее начало. Там нет многих ненужных деталей и сложностей, которые могут только запутать новичка. Это хороший учебник для общего обзора.
Steve McConnell. Software project survival guide
Если вы хотите понимать, как всё работает в реальной жизни, очень рекомендую эту книгу. Она очень простая и наивная. В ней мало системы, но она показывает, как надо смотреть на задачу и как бороться с проблемами. Мне книга нравится за то, что это хороший обзор реальных подходов в реальном проекте. Главный её недостаток - в ней нет системы, и взгляды автора больше напоминают рефлексию на увиденные проблемы. Мне эта книга попалась очень вовремя и я рад, что прочитал её много лет назад.
Earl Hall, Juliane Johnson. Integrated Project Management
А вот эта книга уже намного сложнее. Здесь всё чётко и системно. Здесь всё так, как должно быть. Жаль, что всё достаточно кратко и близко к справочнику, но зато есть всё главное и правильно излагается. Если хотите, чтобы у вас в голове был порядок, и вы знали, как нужно делать правильно - читайте эту книгу. Жаль только, что в ней нет жизненных примеров, и от этого она остаётся сухой смесью учебника и справочника. Но всё-таки это - хороший учебник.
Эд Салливан. Время - деньги. Создание команды разработчиков программного обеспечения.
Книга практика, который очень хорошо пишет о том, как живут проекты и как делать проекты. Не "как надо делать", а как делать. В этой книге нет "теоретики кайфа", которая в той или иной степени присуща многим книгам из этого списка. Читая эту книгу, я чувствовал, что мы с автором решали одинаковые проблемы и находили сходные пути их решения. И я чувствовал, что он всё написал честно. Ровно на том пределе, до которого реально дошёл сам. Без измышлений "а вот правильно ещё делать так, но я сам не пробовал".
Ф.Брукс. Мифический человеко-месяц или как создаются программные системы.
Читать, конечно же, второе издание. Книге много-много лет. По сути это "Lessons rearned" или "Postmortem" по крупному проваленному проекту. Если вы хотите научиться на чужом бесплатном опыте и научиться делать качественный анализ своих неудач или успехов, читайте эту книгу. Впрочем, читайте её в любом случае обязательно. Многое в ней устарело. Задачи, проблемы, масштабы. Но в ней вечно будет главное - умение думать. И превращать поражения в победы. Но читайте только после хотя бы одного выполненного проекта. До этого вам будет не понять многого, о чём пишет автор. Это не теоретическая книга и не забава "во как провалили проект". Это учебник по мышлению. И его надо принимать вовремя.
Эдвард Йордон. Путь камикадзе.
Весьма себе забавная книга о реальной жизни в проектах. Таких много. От управления командой до всяких книг с исследованием психологии разработчиков. Эта мне попалась первой и показалась забавным шагом в направлении, в котором пока не рискует писать никто - правды о реальной жизни на проектах. Но можно смело сказать, что 5-10% сора из избы автор вынес. Кое-что он рассказал. Большее, увы, можно узнать только в приватных беседах и то только в очень узком кругу. Если хотите сделать первый шаг "real world" - почитайте эту книгу. Дальше всё увидите сами, когда будете работать. К сожалению, я пока не видел книги, где рассказали бы больше. И тому есть вполне понятные причины.
Gary Cokins. Performance Management
Если хотите небольшой "взгляд сверху" на управление проектами, то прочитайте эту книгу. В ней хорошо показано, как в целом работает организация. Поняв место проекта в этой системе, легче будет понять, как и почему принимаются определённые "странные" решения.
Mike Cohn. Agile Estimating and Planning
Книга рассматривает Agile методологию в целом и её влияение на оценки и планирование проектов. Показывают факторы из реальной жизни, оказывающие влияние на сроки работ, планирование, риски и взамосвязь задач. Очень полезная книга для понимания, куда в реальности уходит время и на что надо обращать внимание при планировании и реализации Agile проекта. Многие элементы имеют смысл и в классических проектах, выполнных по подопадной модели.
Steve McConnell. Software Estimation: Demystifying the Black Art
Замачательное простое, полное и систематизированное изложение материала по оценкам и планированию программных проектов. Обязательное чтение для любого начинающего программиста, руководителя группы или проекта.
A Guide to the Project Management Body of Knowledge (PMBOK Guide)
Классический справочник по менеджменту проектов. В данный момент актуальна пятая редакция этого документа. Достаточно подробное и полное изложение основных аспектов менеджмента проектов. Однако, следует понимать, что это не учебник. Это в большей степени справочник. При этом он рассматривает менеджмент проектов как таковой и не концентрируется на программной индустрии. Я рекомендую читать его после остальных книг и после некоторой практики в управлении (например, в роли team lead). Настоятельно рекомендую читать на английском языке, чтобы привыкать к терминологии.