2011-12-01

Интервью с техдиром VisualSVN и немного мыслей

Добрейшего.

Набрёл в блоге Якова Сироткина на интервью с Иваном Жаковым, техническим директором VisualSVN, и по совместительству - контрибьютором Subversion.

Интересный пример того, как можно сделать прибыльный проект, используя в качестве базы open source продукты. Сабвершн открыт и бесплатен, однако, как и бОльшая часть оупенсорса - требует или доработки напильником, или хитрой настройки, или гуру, который бы объяснил как надо работать. Парни сделали плагин к Visual Studio, затем свою серверную надстройку над SVN. С них и живут, причём в клиентах у них значатся не последние компании из Fortune 500, а также куча американских госучреждений. В общем, люди определённо добились чего-то на непростом рынке систем контроля версий.

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

Так и с контролем версий. Долгое время стандартом у нас был SourceSafe, просто потому, что шёл вместе со Студией (ибо она повсеместно была хакнутой). CVS, этот стандарт де-факто мира open source того времени, приживался не очень охотно (см. "Так уж здесь повелось"). На этом фоне Subversion стал тем продуктом, который вывел системы контроля версий на новый уровень и его применение стал нормальной практикой не только у нас в стране, но и вообще везде. Это же обстоятельство сыграло против него. Некоторая заторможенность в развитии вылилась в то, что нормальное слияние веток (merge) и его отслеживание ("стрелки мёржа") появилось буквально недавно даже по меркам софтварной индустрии. И если судить по интевью, переименование файлов и директорий будет сделано нормальным образом только в будущем.

Одним словом, появление третьего поколения систем контроля версий стало вопросом времени и оно таки случилось. Новые поколения разработчиков считают стандартом уже не SVN, а git или Mercurial и недоумевают: "как можно работать с *№;%: SVN-ом, когда у меня тут распределённый контроль версий, всё быстро, продвинуто и вообще - Сам Линус его написал!" Флейм комментариев к интервью очень оказателен в этом смысле. Да и спорность некоторых реплик Ивана подливает масла в огонь.

Что сказать - централизованные системы контроля ещё живы и никуда уходить не собираются, взгляните на тот же список клиентов VisualSVN - для них распределённость не является явным плюсом.

Дабы не начинать холивар distributed vs. centralized VCS, на этом и закончу заметку :)

2011-10-23

Перевод // Dear Perforce: f*ck you

Добрейшего!

Кинули тут ссылочку на отличную заметку, буквально крик души человека, измученного нарзаном Перфорсом. Называется он "Dear Perforce: f*ck you", что цензурно можно перевести как "Дорогой Перфорс, иди нахрен", но сведущие в английском поймут, о чём название.

Решил перевести, поскольку сам с недавнего времени работаю с Перфорсом и наступил на некоторые грабли, которые малость испортили нервы. Да и продолжают портить, чего уж там. Замечу, что статья написана в 2007 году и прочитав её в 2011, я не увидел коренных отличий от ситуации на сегодня. Хотя я сам несколько терпимее отношусь к этому продукту :)

Так что ниже - мой перевод исходной заметки, отдельные комментарии показаны в скобочках.

2011-10-12

Осень - время релизов: IBM ClearCase 8.0, SVN 1.7, PlasticSCM 4.0

Добрейшего.

Производители систем контроля версий собирают урожай.

IBM решила тряхнуть стариной и выпустила ClearCase версии 8.0 .
Вот список новых фич, кому интересно. Из заметного - сделали ещё более дружелюбный GUI - как десктопный, так и с веб-интерфейсом.

Ну и не остался в стороне Apache Subversion , он отрелизился до версии 1.7. Обещают ряд вкусностей. Например они таки избавились от папки .svn в каждой директории с подконтрольными файлами. Ну и общее ускорение работы обещают, как без него.

Кстати, очень показателен флейм на Хабре по поводу релиза:
http://habrahabr.ru/blogs/development_tools/130214/
SVN до сих пор вызывает эмоции, значит жив ещё, курилка :)

Ну и ещё Plastic SCM, про который я много писал, также решил обрадовать обновлениями. У них там много всего нового, судя по периодическим новым заметкам в блоге, так что даже не могу выделить однозначно что-то большее, слишком много интересного.

2011-09-29

eTraxis вышел на новую орбиту

Добрейшего!

За суетой чуть не забыл о важном. Как известно постоянным читателям бложика, я пристально слежу за развитием eTraxis - системы для управления задачами, отслеживания ошибок, да и вообще трекинга чего угодно. Так вот, он сделал ещё один шаг вперёд! Его онлайн-версия, etraxis.com, о которой я уже писал, теперь стала полноценным продуктом.

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

Конечно же, бесплатный онлайн-трекинг всё также доступен и в нём по-прежнему действует ограничение на 2 активных шаблона записей и 5 пользователей. Если заказчику нужно больше пространства для манёвра - достаточно заплатить, например через банковскую карту. Сейчас после регистрации в сервисе по умолчанию создается шаблон с типовым сценарием работы над проблемой и группы пользователей. Так что дополнительная настройка workflow - это уже шаг на усмотрение пользователя.

Open source версия всё также никуда не делась. Она по-прежнему доступна и активно поддерживается. Новые версии как выходили, так и будут продолжать выходить стабильно. Функциональность open source решения полностью поддерживается онлайн-сервисом и опробуются именно там.

Итак, заходим, пробуем, ну и конечно же покупаем :)

Впечатления от работы с Perforce

Добрейшего.

Как уже писал чуть ранее, я по роду деятельности после смены места работы активно осваиваю новое пианино - Perforce. Часто его сокращённо называют P4.

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

Общие основы

Perforce - типичная централизованная система контроля версий. Есть сервер, который хранит историю изменений подконтрольных сущностей в репозиториях, которые называются depot. Читается как "дипоу", но вообще - просто депо, типа как трамвайное. Клиент, подключаясь к серверу, берет нужную часть сущностей к себе на локальную машину. С этого момента программа-клиент П4 создает т.н. workspace, т.е. рабочее пространство.

2011-08-08

Второй раз в ту же реку

Добрейшего.

Как-то за суетой забыл совсем - не так давно я вернулся на предыдущее место работы. Я теперь снова - СМ-инженер. Снова большая корпорация, снова embedded-системы, снова контрактор. Всё как я люблю, в общем. :) Как поется в шлягере гражданина Бадди Гая: "Back to the same old place..."

Основной инструмент теперь - Perforce, а также JIRA, не считая ещё нескольких инструментов. В ближайшее время будет пост про личные впечатления от Перфорса. Откровений, шокирующих подробностей и скриншотов не ждите, ибо NDA никто не отменял. Следите за RSS-лентой, что ещё сказать.

P.S. Теперь, спустя 2 года после заведения блога с записками отставного сиэмщика, впору его как-нибудь переименовать. Но не стану. Меня вот уже и в поиске по этому позывному находят.

2011-08-04

Как закрыть задачу в Redmine

Добрейшего.

Ко мне в бложик часто заходят люди по запросам, связанным с закрытием задачи в Рэдмайне. Им в Redmine надо отметить задачу, как выполненную. Видимо, при всей навороченности этой системы, простейшие операции по началу вызывают недоумение. Хотя всё довольно просто и проистекает из идеологии всей системы. Если вы прочитали предыдущие заметки про Redmine, всё должно быть понятно. Но читали их не все (хотя и стоило бы).

Чтоб, как говорится, два раза не вставать - пишу здесь отдельным постом.

2011-07-26

Version Control by Example - свежая книжка про контроль версий

 Добрейшего!

Рад сообщить, что вышла книга Version Control by Example (Управление версиями в примерах). Поскольку я пристально слежу за книгами по SCM, появление новых трудов всегда интересно.


Автор книги - Eric Sink (Эрик Синк), человек и пароход, который живет именно системами контроля версий и другими девелоперскими инструментами уже не один десяток лет. Сейчас он вместе с командой создает Veracity, распределенную систему контроля версий.

Текст выложен в виде HTML и PDF, в скором времени будут доступны бумажные копии и версия для Kindle.

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

Что внутри?

2011-05-26

Контроль версий и SCM в Google

Добрейшего.

Давно ищу разную информацию, касающуюся SCM в Google. Всегда ведь интересно знать, как работают крупные команды. Были разрозненные данные, и вот не так давно появился повод подытожить то, что известно. Нашелся хороший человек, который там работает, он не смог дать подробную инфу в силу NDA (что вполне понятно и ожидаемо), однако дал подсказки для раскопок общедоступных данных, за что ему спасибо.

Итак, Гугл использует Perforce. Использует практически на всех внутренних проектах. Есть сведения, что в Youtube его создатели использовали Subversion до покупки Гуглом, но наверняка сейчас их перевели на общую платформу.
Для "наружного применения" компания выдаёт все популярные open source системы. В первую очередь это git - через него идёт предоставление исходников платформы Android. Ну а Google Code предоставляет централизованный канонический Subversion и распределённые Mercurial и git (из DVCS сначала выбирали между Hg и git).

Над Perforce располагается широкая прослойка из инструментов, заточенных под работу именно на гугловыми проектами. Вплоть до того, что командой для работы с системой является не "p4", а "g4". Многие  костыли или workarounds, сделанные из-за недостатка функционала, до сих пор работают, несмотря на то, что в самом Перфорсе это уже давно реализовано. Работает старый принцип "работает - не трогай", ведь переделывать инфраструктуру - дело непростое, и зачастую очень богатое на ошибки. Так что после выхода очередной версии P4 её сначала разворачивают на отдельном оборудовании, накатывают сверху все внутренние тулзы, а уж потом, когда всё настроится и заработает, выкатывают это всем остальным.

Сам Perforce работает на системе серверов в режиме 24/7. Оно и понятно, над исходниками проектов работают круглые сутки со всех точек мира. И конечно, его сопровождением занимается выделенная команда инженеров.

Работа ведется без использования веток. Уж не знаю, чем это вызвано - сложностями работы с Перфорсом или другими соображениями - однако оно вот так. Для того, чтобы на транке не появлялись глючные изменения, их необходимо проверять перед тем, как помещать под контроль версий. Долгое время это делалось посредством обмена email-ами и работой через NFS, где расшаривалось рабочее пространство всех пользователей. Потом в 2006 году в компанию пришёл Гвидо ван Россум, создатель языка Python, и сделал систему ревью кода под названием Mondrian. Она позволяет по-прежнему инспектировать изменения до их помещения под контроль версий, но сейчас до коммита вся информация о дельте и комментариях к ней лежит в BigTable (гугловая система ранения). Конечно, удобный веб-интерфейс (Python + JavaScript) сильно упрощает работу, но вот вводить лишнюю сущность для хранения просто потому, что не принято класть изменения на ветки - по меньшей мере странно. Но - им виднее.

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

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

Данные брались из разных материалов, однако основой служат 2 презентации:
Кстати, ван Россум сделал из Mondrian отдельное приложение, которые можно взгромоздить поверх Subversion и Google App Engine, называется Rietveld.

Если есть кому что добавить - велкам.

P.S. Для сравнения можно прочитать Немного об SCM в Microsoft и Windows. A Software Engineering Odyssey.

2011-05-24

Git в картинках на RSDN

Добрейшего.

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

Сегодня увидел как раз такую - Git в картинках за авторством Игоря Ткачёва, одного из родоначальников и апологетов сообщества RSDN. Название говорит само за себя - объясняется на картинках, как работать с git через git extentions (оконную надстройку над гитом). Объяснение простое и доходчивое, даже я понял что к чему.

В общем, кто давно хотел подружится с git, но боялся ч0рной командной строки и непонятного английского - это для вас.

2011-05-04

10 заповедей хорошего контроля версий

Добрейшего.

Подкинули ссылку на хорошую статью из серии "10 тут-написать-самое-важное". Не смог пройти мимо, т.к. речь - о контроле версий! Называется The 10 commandments of good source control management, или "10 заповедей хорошего контроля версий".

Надо бы её перевести, но пока - перечень Важных Вещей:
  1. Если используете VSS - бросьте сейчас же. Прям щас!
  2. Если что-то не лежит под контролем версий - этого не существует.
  3. Делайте коммиты раньше, чаще и не откладывая.
  4. Всегда проверяйте изменения перед коммитом.
  5. Помните про психопата с топором перед написанием комментариев.
  6. Делайте коммиты сами, не перекладывая на других.
  7. Версионности БД избежать не получится.
  8. Результаты компиляции не кладутся под контроль версий.
  9. Никому не интересны ваши личные настройки.
  10. Зависимости надо тоже пристроить.
Как-то так. Просто и понятно. Да ещё и написано с юмором, так что рекомендую.

2011-04-20

gihub для совместной работы студентов

Добрейшего!

На Хабре опубликовали интересную заметку - Системы управления версиями как инструмент совместной работы студентов. Ещё один интересный пример использования гитхаба не по прямому назначению :) про другой я недавно писал.

Мне, как преподавателю, решение представляется интересным. Повторю здесь то, что написал в комментариях.


Положительные стороны:
- Централизованное хранилище заданий и результатов. Во многих ВУЗах этого до сих пор нет, а тут - всё под рукой. И не будет типичных проблем накануне сессии из серии "у меня вчера вылетел жесткий диск, что смог, то восстановил, поставьте-хотя-бы-тройку!!!" :)
- Обучение системам контроля версий и багтрекингу. Очень правильно.
- Практика командного взаимодействия. Сначала - между преподом и студентом, потом обязательно начинается работа внутри группы. К тому же многие учебные программы имеют курсовые или лабораторные, прямо предназначенные для коллективной работы.

Отрицательные стороны:
- Необходимость наличия интернета. Да, для многих ВУЗов это до сих пор проблема. Кроме того, есть компьютерные классы, где выход в интернет запрещён или невозможен по техническим причинам.
- Привязка с конкретному инструменту. git и те тулзы, которые доступны на гитхабе - на них свет клином не сошелся. Есть, к примеру, ещё и централизованные VCS, они всё ещё имеют немалое право на существование, особенно коммерческие решения. В общем, получится очень однобоко, а это не есть правильно с точки зрения учебного процесса.
- Работа на стороннем сервисе. Пользователь не контролирует данные, находящиеся на сервисе. Но поскольку данные эти - не несут коммерческой инфы и их утрата не окажет большого влияния на учебу в целом (есть локальные копии), то минус это небольшой.
- Нет гарантии, что гитхаб не изменит свою политику и не ограничит подобные варианты использования.

А вообще - интересно.

2011-04-13

Узелок на память: upgrade Mercurial 1.8 для Ubuntu 10.04

Добрейшего.

Набрёл на относительно недавний свой коммент к статье, решил, что стоит запомнить исходную статью в бложике.

Вводная. В общем, не так давно я таки поставил себе Убунту и начал с энтузазизьмом её заселять и осваивать на предмет замены Виндоуз в кажестве десктопа. И поскольку с некоторых пор активно использую для личных нужд Mercurial (параллельно с Subversion, да) - поставил и его туда.

Проблема. С Убунтой 10.04 (на мой новый ноут встала только она, 10.10 залазить не хотела) идет Ртутный версии то ли 1.5, то ли 1.6. Я же использовал к тому времени 1.8 и, как выяснилось, старые версии с репами от более новых версий работать отказываются. Убунтовый тул для апгрейда показывал, что в Убунтовых репозиториях доступна только старая версия.

Решение. Немного погуглив, нашел отменный рецепт решения, и довольно простой, в убунтовом стиле, я бы даже сказал. Собственно, это 3 строчки

> sudo add-apt-repository ppa:mercurial-ppa/releases
> sudo apt-get update
> sudo apt-get install mercurial


Проверяем результат с помощью

> hg --version


Кому надо ещё проапгрейдить TortoiseHg - в статье и про это есть.

2011-04-12

Пример описания процесса создания релизов

Добрейшего!

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

Упоминавшаяся там команда Ф - достаточно обособленная, но самая крупная, и задачи решает самые разнообразные. Так вот, один из разработчиков нашел время и описал процесс построения билдов и всего, что с этим связано. Фактически, описан процесс выпуска релизов от  получения исходников до начала развёртывания. Применяется много практик из continuous integration, но ими не ограничивается, а сам процесс описывается для Java.

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

2011-03-10

eTraxis теперь доступен в облаке

Добрейшего

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

Собственно, хотелось поделиться радостной новостью - eTraxis теперь доступен не только в виде исходников для самостоятельного развертывания у себя в команде. Теперь это ещё и сервис, работающий по модели SaaS - https://www.etraxis.com/.

Любой желающий может зарегистрироваться и получить свой поддомен (т.е. проект), где он получит возможность создавать до двух шаблонов своего workflow и до 5 пользователей. Специально для сервиса была переработана документация - теперь это несколько онлайн-презентаций с рассказами о том, как надо работать с системой. Можно заимпортировать готовый шаблон и начать работу.

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

Да, кстати, регистрация и использование - бесплатны. Что, конечно же, не мешает ткнуть благодарным пользователям на кнопочку Donate и перечислить малую толику :)

В общем - не сидим, регаемся и начинаем работу. :)

2011-03-01

SCM - в массы, или Книжка, которую пишут в github

Добрейшего.

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

По итогу порадовал сам факт, что контроль версий начал выходить за рамки традиционного применения. Фраза "разветвление сюжета" заиграла новыми красками :)

Конечно, инициатору ещё предстоит столкнуться с массой проблем, порождённых таким демократическим подходом. Чего будут стоить "форки" сюжета, заe которыми будет трудно уследить даже дотошному читателю. Однако - может получиться занятно.

Начинаю ждать кино, выложенное в Mercurial на Google Code через YouTube ;)

P.S. И почему мне упорно вспоминается "t" Пелевина? :)

2011-02-13

Управление изменениями и кессонная болезнь проектов

Добрейшего!

Давно зрела мысль написать что-нибудь разумное, доброе, вечное. Бойся своих желаний!

Итак, для сайта OpenQuality.ru написал программную статью Управление изменениями и кессонная болезнь проектов. Получилось много и подробно - спасибо редактору сайта Юрию за правильно поставленные вопросы и предложения. Статья, как можно понять из названия - про то, как управлять изменениями в проекте и как изменяющийся масштаб проекта влечет за собой то, что у людей принято называть декомпрессионной болезнью (кессонкой).

В общем, читаем и высказываемся в комментариях к статье.

2011-02-12

Используем git для управления сайтом

Добрейшего.

Я достаточно давно работаю в отрасли разработки приложений для веба, поэтому всегда с двойным интересом читаю материалы о применении SCM для веб-разработки. Поэтому этот материал особенно порадовал: Using Git to manage a web site, что означает примерно "Как с помощью гита управлять веб-сайтом".

Идея, в общем-то, не нова. Берём git, создаем репо у себя и репо на сервере, где лежит сайт. Далее с помощью напильника и механизма хуков (hooks) настраиваем, чтобы при получении очередной дельты через push, локальная копия исходников сайта обновлялась из репозитория. Разработчик меняет код, делает push на сервер, там срабатывает хук, который разворачивает новые исходники в ту директорию, где у вашего сайта DocumentRoot.

Думаю, что-то аналогичное можно придумать и для Mercurial.

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

2011-02-05

Как выбирали между Mercurial и git для Google Code

Добрейшего.

Некоторое время назад наткнулся на заметку в справке Google Code, посвященную тому, как выбирали распределённую систему контроля версий для этого проекта. Ссылка давно ждала удобного повода, но его не нашлось, так что лучше поздно, чем никогда.

С самого начала своей работы проект Google Code поддерживал только Subversion. Надо полагать, в виду его распространённости - ведь после заката CVS именно он стал стандартом де-факто среди бесплатных систем контроля версий. Проблемой выбора распределённой VCS команда озадачилась в 2008 году, в результате чего появилось вот это эссэ: Analysis of Git and Mercurial. Для тех, кто до сих пор поленился хоть немного изучить английский, есть народный перевод. Несмотря на мелкие неточности и стилистические ошибки, вполне можно понять, о чём речь.

Как видно на сайте Гугл.Кода, выбор пал на Ртутного. Причины - в тексте. Также встречал примерно следующее мнение - мол, приверженцы Subversion обитают на SourceForge, фанаты git - на github, ну и Гугл решил в чужой огород не лезть и взял под крыло Hg. Почему бы нет. К тому же, Python, на котором написана бОльшая часть Hg, весьма любим в компании.

P.S. Первый же коммент к оригинальному тексту вопрошает - почему Bazaar даже не рассматривали? Думаю, в первую очередь из-за его меньшей распространённости. Однако, прочитав очередной Bazaar hate speech, подумал, что не только поэтому :) Хотя это субъективное мнение, конечно.

Update: git таки появился среди поддерживаемых систем, не прошло и полгода: http://code.google.com/p/support/wiki/ChoosingAVersionControlSystem

2011-01-18

Книги // Software Configuration Management Patterns

Добрейшего.

Атака на книжную полку продолжается. На этот раз под раздачу попала ещё одна книжку из числа тех, что выбрал себе для детального ознакомления. Называется Software Configuration Management Patterns: Effective Teamwork, Practical Integration, авторы - Стёпа Берчук (Stephen P. Berczuk) и Брэд Эпплтон (Brad Appleton). На русский можно перевести как "Шаблоны управления конфигурацией ПО: Эффективная работа команды, практическая интеграция."



Тема шаблонов в разработке софта прорабатывается уже достаточно давно. Причем, как выяснилось, начало своё она берет из архитектуры. Сергей Тепляков не так давно рассказал на страницах RSDN Magazine об истоках этого направления, почитайте (после этой заметки, конечно же).

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

2011-01-05

Книги // Adapting Configuration Management for Agile Teams

Cigarettes and coffee, man, that's a combination.
(c) "Coffee and Cigarettes", Jim Jarmush

Сам я не курящий, однако для книжки, про которую пойдет речь, это вполне подходящий эпиграф. Потому как книжка - про соединение двух очень связанных областей - это гибкие методологии разработки (a.k.a. Agile) и управление конфигурацией (a.k.a. SCM).

Однако, обо всём по порядку. Не так давно я делал обзор книг по SCM. Заинтересовавшие книжки приобрёл и начал планомерно с ними знакомиться. В первую очередь ознакомился с трудом Боба Айелло Configuration Management Best Practices. Книжка была стоящей, как и ожидалось. Боб, как выяснилось, немного знает русский (работал волонтёром в ER и часто бывал на Брайтон Бич ;) ) и с помощью знакомого русофила ознакомился с отзывом, после чего сильно благодарил.

Следующей в прочтение попала книга Adapting Configuration Management for Agile Teams: Balancing Sustainability and Speed за авторством Марио Морейры (Mario E. Moreira). Название можно перевести как "Применение SCM в командах с гибкими методиками разработки: в равновесии между устойчивостью и скоростью". Что по-русски, что по-английски - одинаково громоздко, однако смысл понятен.
Перед прочтением опасался, что книжка будет похожа на героев старого анекдота про морскую свинку, однако опасения были напрасными.