2010-12-12

Обзор книги Configuration Management Best Practices

Добрейшего.

Как уже знают постоянные читатели бложика, не так давно я озадачился поиском книжек по управлению конфигурацией ПО. В результате получился обзор литературы по SCM, преимущественно англоязычной. Финалистами стали 3 книжки, которые было решено приобрести и изучить. И первой из них - как по "интересности", так и по авторитетности лично для меня - стала книга Configuration Management Best Practices: Practical Methods that Work in the Real World, написанная Бобом Айелло (Robert Aiello) в соавторстве с Лесли Сакс (Leslie Sachs). На русский название можно перевести как "Лучшие практики управления конфигурацией: практические методы, работающие в реальном мире".



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

Книга поделена на 4 части:

The Core CM Best Practices Framework. Основа, начало начал. Рассказывается, что такое SCM, зачем нужен, из каких базовых практик состоит - коротко и по делу. Интересно, что контроль версий здесь обозначается более общим термином source code management, т.е. управление исходным кодом. Сделано это намеренно, т.к. автор считает, что контроль версий (так традиционно называют эту область) - это лишь одна из функций управления кодом. Немало рассказано и про управление изменениями (change control). Опять же, термин более общий, чем просто традиционное "отслеживание ошибок", потому что речь идет именно о высокоуровневых подходах к вопросу. И, к слову, про эти самые системы отслеживания ошибок - ни слова :), только про запросы на изменения продукта. Немало уделяется и выпуску продукта - а именно выпуску релизов и развертыванию, вместе с контролем зависимостей.

Architecture and Hardware CM. Здесь описывается два отдельных аспекта работы SCM. Во-первых, вводится предположение о том, что разработка архитектуры проекта может быть основана на управлении конфигурацией этого самого проекта. Смелое и странное на первых взгляд предположение, однако изложено интересно.
Во-вторых, поднимается вопрос об управлении конфигурацией аппаратного обеспечения (hardware configuration management). Для разработки систем, где задействованы или разрабатываются аппаратные средства - вещь крайне нужная. Описаны только основы организации HCM, поскольку в каждом случае реализация будет различной.

The People Side of CM. Весь раздел - по сути, рассказ о том, как логичные правила и процедуры сталкиваются с нелогичной и противоречивой человеческой природой. Тут и прагматичное "Rightsizing Your processes" (как сделать процессы не слишком громоздкими), и полное борьбы "Overcoming Resistance to Change", и всепрощающее "Learning From Mistakes That I Have Made". Здесь же - глава, написанная психологом-соавтором Лесли, "Personality and CM: A Psychologist Looks at the Workplace". Названия говорят сами за себя, весь раздел - он про людей и этим всё сказано.

Compliance, Standards, and Frameworks. Как следует из названия, подводится опыт изучения и использования различных стандартов и шаблонов процессов. Ведь сама область SCM существует уже три или четыре десятка лет, поэтому здесь давно уже есть стандартизованные подходы. Про них и ведется рассказ.

Об авторе. Боб Айелло работает в области SCM уже 25 лет (четверть века!). За это время переработал в нескольких компаниях, поучаствовал в куче проектов и проконсультировал уйму народу. В настоящий момент, помимо консультаций, является замруководителя рабочей группы стандарта IEEE 828 по Планированию Управления Конфигурацией. В свободное время - главный редактор CM Crossroads - центрального ресурса по вопросам SCM. Иными словами - игрок высшей лиги, человек и пароход.

О книжке в целом. Если посмотреть в целом, то книга - она про людей, как ни странно. Все описанные подходы описываются с точки зрения здравого смысла и повседневной работы простых инженеров. Много личных примеров, где особенно ценен отрицательный опыт.

Чем ещё ценна - это тем, что в одном источнике собрано то, что раньше можно было прочитать или в стандартах (сухим формальным языком), или в отдельным источниках, где нет общей "картины мира". Эта книжка - приятное исключение. Выпусти Боб книжку пораньше - может быть, и не было бы ни моей серии статей, ни этого бложика тоже - за ненадобностью :)

Кому и зачем нужна книга?

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

Если работаешь релиз-инженером или СМ-инженером - читать обязательно, более общего взгляда на предметную область просто не видел. Цельная картина мира в голове по прочтении - обеспечена. Понимание того, куда надо идти дальше, проявится ещё более четко.

Если руководишь проектом или являешься техлидом - крайне рекомендую прочитать, хотя бы потому, что есть много пересечений с общепроектными видами деятельности. Да и вообще, СМ - это область базовая, а потому именно она создает много узких мест, bottleneck-ов - так что для их преодоления надо знать с какого боку подойти.

В общем, нужная книжка, надо брать.

Update: На RSDN выложили расширенную версию этого обзора.

7 комментариев:

  1. Ну, нам, простым смертным, конечно интересно преломление этого источника в классическом
    http://rsdn.ru/article/Methodologies/CM_basics_part1.xml

    Иными словами, что нужно изменить/добавить в базовом понимании SCM.

    ОтветитьУдалить
  2. Это всё взгляд на одно и то же с разных углов :) Но у него гораздо более полный взгляд. Как я уже писал - выпусти он эту книжку раньше, бложика наверное вообще бы не было :))

    ОтветитьУдалить
  3. Ну, Страуструп вон сколько написал про С++, а ведь скольким людям после него нашлось, что сказать. Пусть и другими словами :)

    Так что, не сумлевайся, что нам Боб Айелло, у нас Aquary имеется. Тонко намекаю продолжать раскрывать материал в бложике ;)

    ОтветитьУдалить
  4. Ай спасиба :) Ну, рассказать всегда найдется про что :) Так что да, посты будут :)

    ОтветитьУдалить
  5. Добрый день.
    Не могу найди версию для скачивания, не могли бы вы поделится ссылкой?

    ОтветитьУдалить
  6. Доброго дня. Я книжку покупал в бумажном виде, не знаю где брать. Разве что на Амазоне, в виде Kindle edition. Стоит всего 18 долларов, читается на любом устройстве, от ПК до айФона.

    ОтветитьУдалить