Коли ви переходите з чогось іншого на щось інше, вам потрібно визначити лише дві речі:
- Яка ваша мета
- Як дістатися (план міграції)
Перша частина, до жаль, часто забуває або шлях занадто розпливчастими. Ви не можете просто сказати, що у вас є безлад, і ви хочете це організувати. Що це означатиме? У кожного було б різне тлумачення (він же: кожен диявол вважає, що його чи її спосіб робити найкраще).
Швидше за все, всі відділення, які ви маєте, обслуговують або слугували цілі. Без чітко визначеного цільового процесу люди продовжуватимуть робити те, що працює для них так, як їм найкраще (і це правильно).
Наприклад, ваша мета повинна бути визначена так само чітко, як Вінсент Дріссен визначив свою "успішну модель розгалуження Гіта" . Якщо ви подивитеся на цю модель, вона дуже точна: вона говорить про те, де повинен бути стабільний код, і де слід розробити нестабільні функції. Він також говорить про те, як - і коли - розгалужувати, оновлювати та об'єднувати назад. Ви знаєте, для чого кожна галузь, і що з ними робити. Ми використовуємо варіацію того, що висунув Вінсент, і наша варіація визначена у нашій вікі.
Важливим моментом є те, щоб вся команда зрозуміла та погодилась на ціль. Можливо, варто нагадати людям, що ви шукаєте не їхню улюблену модель розгалуження, а модель, з якою всі члени команди можуть погодитись та легко використовувати.
Після досягнення цілі ви зможете розробити план міграції. Цей план може бути таким довгим або коротким, як ви хочете. Я бачив таку модель розгалуження, накладену на ніч; в інших місцях це робилося за 2 або 3 спринти. Для мене це не має великого значення, поки ми вдосконалюємось.
Почати можна з «найбільших» чи важливіших галузей. Напр .: "відтепер майстер повинен завжди знаходитись у стані, який потрібно розгорнути в prod, а гілка dev повинна завжди компілювати" (або будь-які ваші правила). Потім застосуйте гілки версій (випуску). Після цього застосуйте гілки функцій. Після цього накладіть заморожування коду на гілку версії, якщо це має сенс.
DevOps - це все про спілкування, відкритість та ефективність. Ці поняття потрібно пам’ятати та повідомляти протягом усього процесу.
Я б запропонував запросити деяких людей поза командою розробників на засідання процесу в якості спостерігачів. Опс або середній менеджмент може щось сказати про вашу модель. Потребам розробників слід надати пріоритет, але якщо модель розгалуження неможливо узгодити з тим, як керувати справами, вам краще знати зараз, а не через місяць-два.
Якщо у вас справді великі команди, спробуйте включити всіх. З дуже великими командами ви все одно закінчите дві-три зустрічі. Тож запросіть керівників команд у номер, але майте доступну веб-трансляцію та повідомте про це всім. Якщо хтось має пропозицію чи занепокоєння, він зможе озвучити його керівнику своєї команди, і якщо він дійсний, він буде адресований на другій чи третій зустрічі.