Мы основали книжный клуб по программному обеспечению

И наше первое чтение было «Мифический человеко-месяц».

Мифический человеко-месяц: очерки программной инженерии Фредерика П. Брукса - один из классических текстов по разработке программного обеспечения. Впервые опубликованный в 1975 году, он откровенно рассматривает человеческие элементы программных проектов на основе опыта автора в IBM, руководящего разработкой OS / 360.

Сегодня технологии, обсуждаемые Бруксом (включая саму IBM OS / 360), в значительной степени устарели. Тем не менее, каждый год по-прежнему продается 10 000 новых копий «Мифического человека-месяца». Он по-прежнему широко обсуждается и цитируется как профессиональными программистами, так и руководителями программных проектов.

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

(Брукс, 1975 г.)

Это история о том, что произошло, когда TWG основала книжный клуб «Мифический человеко-месяц», собрав группу энтузиастов разработчиков, менеджеров по продуктам и дизайнеров, чтобы поразмышлять о том, почему MMM по-прежнему является MMM, который необходимо читать всем, кто работает в индустрии программного обеспечения.

Открытие использованных экземпляров книг преподнесло несколько интересных сюрпризов. Закладки, оставленные предыдущими владельцами, включали старинный купон Kellog’s Cornflakes, рекламу картриджа Telstar Arcade и выцветшую квитанцию ​​по кредитной карте за обед из морепродуктов, принадлежащий некому по имени Алекс Бересон.

Для одного из членов нашего книжного клуба азарт охоты был слишком сильным, чтобы устоять ...

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

Я сообщу, если что-нибудь случится.

- Брайан Гилхэм (разработчик мобильных приложений / специализированный интернет-сыщик)

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

В течение двух дней Брайан и Алекс обменялись четырьмя электронными письмами в двух странах, на одном континенте и в четырех часовых поясах.

Создание команд по хирургическому программному обеспечению

Когда мы оправились от волнения, вызванного приключениями Брайана, члены нашего книжного клуба переключились на изучение текста. Брукс предполагает, что для успешного создания больших программных систем участники должны организоваться как хирургическая бригада (а не бригада по разделке свиней).

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

Применима ли идея хирургической бригады к тому, как сегодня организованы гибкие программные проекты? Бен Вендт, один из разработчиков программного обеспечения TWG, подумал:

В чем-то я очень похож на то, что мы делаем здесь. «Хирург», по сути, похож на технического руководителя, хотя некоторые второстепенные роли больше не существуют. Я не думаю, что у кого-нибудь из программистов сегодня есть секретарь.

В книге предполагается, что хирург обладает полными знаниями в предметной области. На самом деле это не так в Agile, где больше внимания уделяется общению с клиентами и заинтересованными сторонами.

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

Если вы делаете операцию на головном мозге, клиент - это пациент. Они не скажут: «На самом деле, это моя вторая доля нуждалась в доработке». Но это действительно происходит с Agile.

(Бен Вендт)

Прокладывая путь для гибкой разработки программного обеспечения

Betamax и лазерный принтер были самыми популярными новыми технологиями на рынке в тот год, когда Мифический человеко-месяц впервые появился на прилавках. Изначально Брукс сформулировал свои идеи задолго до эры электронных коммуникаций, когда даже самые элементарные инструменты цифровой коммуникации не были широко доступны. Например, обсуждая документацию, он ссылается на печатный проект «рабочая тетрадь… толщиной около пяти футов!» и значительная экономия времени и денег, полученная в результате перехода на микрофиши. Большинство процессов разработки программного обеспечения в то время все еще основывались на каскадной модели, хотя было известно, что это неэффективно.

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

Манифест гибкой разработки программного обеспечения, опубликованный в 2001 году, безошибочно перекликается с рядом основных философий, предложенных Бруксом.

Другими словами, идеи Брукса ... можно рассматривать как промежуточные этапы процесса конвергенции к установлению парадигмы гибкой разработки программного обеспечения, широкое применение которой началось примерно в 2000 году. (Орит Хаззан - Did Brooks Envision Гибкий подход 30 лет назад »)

Книга также обновлялась несколько раз с момента ее первоначального издания. Юбилейное издание 1995 года содержит статью «Нет серебряной пули», которую Брукс назвал «лучшей технической статьей, которую он когда-либо писал».

Брукс указал нам на главу 19 этого издания как на обязательное к прочтению, поскольку она включает в себя некоторые размышления о будущем 95-го года и некоторое понимание того, как его мышление развивалось (или оставалось устойчивым) в то время.

Мифический человеко-месяц - любовное письмо к программному обеспечению

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

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

Его любовь к своей работе всегда присутствует в его написании, что делает ее столь же полезной книгой для всех, кто глубоко предан своему избранному делу, будь то программист или нет. Сегодня, хотя Брукс технически на пенсии, он продолжает преподавать. Он Кенан, профессор компьютерных наук в Университете Северной Каролины и лауреат премии Тьюринга.

TWG создает программное обеспечение для стартапов и предприятий. Если хотите присоединиться к нашему книжному клубу, отправьте электронное письмо [email protected].