Добрейшего.
Как уже знают постоянные читатели бложика, не так давно я озадачился поиском книжек по управлению конфигурацией ПО. В результате получился обзор литературы по 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 выложили расширенную версию этого обзора.
Как уже знают постоянные читатели бложика, не так давно я озадачился поиском книжек по управлению конфигурацией ПО. В результате получился обзор литературы по 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 выложили расширенную версию этого обзора.
Ну, нам, простым смертным, конечно интересно преломление этого источника в классическом
ОтветитьУдалитьhttp://rsdn.ru/article/Methodologies/CM_basics_part1.xml
Иными словами, что нужно изменить/добавить в базовом понимании SCM.
Это всё взгляд на одно и то же с разных углов :) Но у него гораздо более полный взгляд. Как я уже писал - выпусти он эту книжку раньше, бложика наверное вообще бы не было :))
ОтветитьУдалитьНу, Страуструп вон сколько написал про С++, а ведь скольким людям после него нашлось, что сказать. Пусть и другими словами :)
ОтветитьУдалитьТак что, не сумлевайся, что нам Боб Айелло, у нас Aquary имеется. Тонко намекаю продолжать раскрывать материал в бложике ;)
Ай спасиба :) Ну, рассказать всегда найдется про что :) Так что да, посты будут :)
ОтветитьУдалитьДобрый день.
ОтветитьУдалитьНе могу найди версию для скачивания, не могли бы вы поделится ссылкой?
Доброго дня. Я книжку покупал в бумажном виде, не знаю где брать. Разве что на Амазоне, в виде Kindle edition. Стоит всего 18 долларов, читается на любом устройстве, от ПК до айФона.
ОтветитьУдалитьБлагодарю.
Удалить