Чотири команди. Нуль узгодженості. Так починався один із моїх enterprise-проєктів — і саме він навчив мене того, чого не пишуть у вакансіях: справжня робота DevOps — це узгодити крос-функціональні команди, а не зібрати pipeline. З pipeline усе було гаразд. Люди, які через нього котили релізи, гребли в чотири різні боки.
Product хотів фічі ще вчора. Security блокував кожен деплой, що не пройшов рев'ю. Cloud engineering жив за власним планом міграції. TechOps ставив стабільність понад усе. І кожен із цих пріоритетів був по-своєму слушним. А коли їх ніхто не пов'язував — кожна команда тихо ставала вузьким місцем для трьох інших.
DevOps — це не команда. Це міст.
Коли ти — точка контакту з DevOps одразу на кількох enterprise-проєктах, твою цінність міряють не в комітах. Її міряють у тому, чи зможуть чотири команди із суперечливими інтересами викотити одне й те саме без політичного скандалу. Бували місяці, коли я проводив на зустрічах з узгодження більше часу, ніж писав код, — і раніше мене це дратувало. Доки я не побачив, що стається, коли я перестаю це робити.
Найкращі DevOps-інженери не просто деплоять код. Вони деплоять узгодженість. А узгодженість дається важче за будь-який Helm chart, що я коли-небудь писав.
Першим лагодиться не pipeline, а карта відповідальності
За вісім років і з десяток індустрій я навчився першого дня ігнорувати тулінг. Перше, що я збираю, — це framework координації, і він до незручного простий:
- Межі відповідальності. Хто за що відповідає — записано, без різночитань. Половина всіх міжкомандних конфліктів — це коли двоє впевнені, що «цим займається та команда».
- Спільні терміни з явно прописаними залежностями. Не Gantt-діаграма для галочки, а чесний список «X не стартує, поки не викотять Y».
- Зрозумілі шляхи ескалації. Щоб, коли все стало, ти ескалював конкретній людині, а не в порожнечу Slack, і нікого не ставили перед фактом.
- Щотижневі крос-командні синки з логом рішень. Не протокол. Рішення. Хто що вирішив, коли й хто був у кімнаті.
Я, чесно, ненавиджу зустрічі. Але одна година узгодження економить десять годин «стоп, я думав, ЦИМ займається ТВОЯ команда». Жодних зустрічей без результату. Кожне рішення записане й роздане всім.
Перелом на тому проєкті стався на третьому тижні — коли люди почали читати лог рішень раніше, ніж писати мені. Ось тоді це перестало триматися на моїй голові і стало системою.
Розблоковуй залежності, поки вони не стали блокерами
Справжня суперсила — не гасити пожежі, а побачити зіткнення за два тижні й тихо його прибрати:
- Security потрібне policy review — ставимо його в календар заздалегідь, до вікна міграції, а не вранці того ж дня.
- Cloud engineering змінює API — product-команда дізнається про це того ж дня, а не з упалого білда.
- TechOps порушує питання стабільності — воно йде в architecture review, поки не перетворилося на продакшн-інцидент о другій ночі.
Без людини, яка це робить, команди сидять заблоковані й чекають одна на одну, а кожна затримка накопичується. З такою людиною воркстріми йдуть паралельно, і рішення реально ухвалюються.
Стек змінюється. Людська проблема — ні.
Цей самий сценарій я проганяв у геть різних доменах:
- FinTech — узгодити рев'ю на відповідність PCI DSS так, щоб воно не звалювалося як сніг на голову перед релізом.
- AdTech — звести multi-tenant міграцію на GCP по 8 проєктах і кільком групам стейкхолдерів, які до того взагалі не спілкувалися.
- Manufacturing — стикувати глобальні commerce-команди і cloud-інфраструктуру через таймзони, що майже не перетиналися.
Технічний стек змінювався щоразу. Людський виклик — ніколи. Найважчі задачі в DevOps — це проблеми людей у костюмі інженерних проблем. А довіру не автоматизуєш.
Чотири команди, чотири пріоритети, один pipeline
Той перший проєкт поїхав у прод. Не тому що pipeline став кращим — з ним увесь цей час було нормально, — а тому що чотири команди нарешті подивилися в один бік. Я провів в узгодженні більше годин, ніж у терміналі, і саме це дало доставку.
Тож ось питання, яке я ставлю собі — і поставлю тобі: скільки у твоєму тижні насправді коду, а скільки — узгодження? Бо чим довше я в професії, тим сильніше підозрюю, що саме друге число й викочує продукт.