Какво не е наред с ИТ

Или как да преминем от борба с пожарите към процес на непрекъснато подобрение

Горан Ангелов, CEO на "IBS България"
Горан Ангелов, CEO на "IBS България"
Горан Ангелов, CEO на "IBS България"
Горан Ангелов, CEO на "IBS България"
Автор: Горан Ангелов, CEO на "IBS България"

Сигурен съм, че бизнес лидерите в много организации си задават този въпрос. Чувството, че нещо не е съвсем наред с ИТ отделите, не е от вчера. Нуждата от ускорение на дигитализацията в периода на пандемията повдига този въпрос все по-често, почти ежедневно.

"Не доставя според очакванията", "твърде скъпи", "твърде бавни" - това са все фрази, които чуваме от бизнес лидерите по отношение на ИТ отделите. Организациите полагат сериозни усилия да превъзмогнат тези трудности - правят се реорганизации, въвеждат се agile практики, търсят се нови технологии, но въпреки всички вложени ресурси резултатите са незадоволителни и проблемите се задълбочават.

Как стигнахме дотук

Добро определение дават авторите на The DevOps Hanbook, които разглеждат низходящата спирала на ИТ в три действия:

Първо действие започва в ИТ Операции. В ежедневната работа много от проблемите се дължат на приложения и инфраструктура, които са сложни, лошо документирани и невероятно крехки. Това е техническият дълг, с който живеем постоянно, като винаги обещаваме, че ще поправим бъркотията, когато имаме време. Но това време никога не идва и ние продължаваме да работим на ръба на хаоса.

Вторият акт започва в ИТ Развитие. Това са случаите, когато компенсираме поредното неизпълнено обещание и нашият технически дълг нараства, за да изпълним поне приблизително заложената дата за доставка.

Трето и последно действие. Вече всичко става малко по-трудно. Постепенно всички стават по-заети, работата отнема повече време, а опашките от чакащи задачи - по-дълги. Изисква се повече комуникация, координация и одобрения. Екипите трябва да се изчакват взаимно. Качеството продължава да се влошава. Каквото и да опитваме, нещата, изглежда, се влошават - вече не сме в състояние да реагираме бързо на променящата се конкурентна среда, нито сме в състояние да предоставим стабилно и надеждно обслужване на клиентите.

Попаднали сме в капан

Бизнесът изисква от нас конкурентно предимство, а ние сме заети да гасим пожари. Системите ни приличат на топка от косми и ние непрекъснато пропиляваме ресурсите си. Екипите ни са пренатоварени, обезкуражени и прогресивно губят мотивация. Всяка промяна е нежелана и се посреща враждебно.

Какво е решението

Решението винаги е било едно и също: Да се изпълняват ИТ практиките като разработка, интеграция, управление на промените, корпоративна архитектура и управление на проекти по дисциплиниран начин.

Чакайте малко! Нали от години именно това правим - правила, политики, стандарти, ред! Нали това ни докара дотук! Истината е, че какъвто и ред да сме се опитвали да въдворяваме в хаоса, каквито и стандарти да сме опитвали да налагаме, ИТ дейността винаги е била предимно "гасене на пожари". Дали е инцидент в продуктивна среда, или е поредният просрочен проект, ние всички непрекъснато тичаме след ежедневния критичен пожар. Защото сме се объркали. Управляваме проекти, докато всъщност имаме задачата да управляваме производство.

Да подредим фабриката

Разглеждането на ИТ дейностите като вид производство с непрекъснати поточни линии, които осигуряват продукти и услуги за крайните клиенти, ни дава възможност да търсим целеви оперативен модел за непрекъснатото му подобрение.

Позволява ни да се възползваме и от почти един век натрупано знание в управлението на производствени процеси, като вземем най-доброто и го адаптираме за нашите цели.

DevOps практиката е добър наръчник от методологии и принципи, организирани в единна система за управление, чиято цел е именно да обърне посоката на спиралата на ИТ дейностите.

За онези, които вникнат задълбочено в основните принципи и идеология, DevOps е пълна промяна на играта. Това е кардинално нов подход в управлението на ИТ, който обаче се базира на доказали се в практиката методи за управление на производството.

В DevOps са синтезирани практики от Theory of Constraints (TOC), LEAN management, JIT и други, които и днес се прилагат ефективно в управлението на най-добрите производствени предприятия.

Изграждането на CI/CD (Continues Integration/Continues Delivery) процес е нашата поточна линия. Най-важното, което трябва да постигнем с нашия конвейер, е да визуализираме целия поток от работа в неговите етапи и стъпки до свършена работа. Само по този начин бихме имали възможността да анализираме и вземаме информирани управленски решения, да обхванем обратната връзка и да си изградим система за непрекъснато подобряване на продуктите и услугите ни.

CI/CD линии могат да се изграждат не само в разработката на софтуер, а и в интеграциите, в управлението на данни (DataOps), в разработката и прилагането на AI (MLOps). По аналогия с производството целта ни е да постигнем оптимална производителност, затова трябва да вложим сериозни усилия в автоматизацията на нашата CI/CD линия.

Организация на труда

В едно производствено предприятие изграждането на поточната линия не е достатъчно условие за успех. Трябва да се организират и непрекъснато подобряват ефективността на използването на ресурсите, логистиката, обратната връзка от работните центрове, контролът по качеството и натрупването на знание в целия процес. Всичко в името на една цел - повече и по-качествен доставен продукт за единица време.

Ролите в нашата нова фабрика не се различават много от тези в предхождащата я "пожарна команда". Изключение може би са само DevOps инженерите, чиято основна грижа е гладкото функциониране на поточната ни линия.

Все пак трудът е организиран различно. Не само, че инженерите от операции и развитие работят рамо до рамо, те го правят в името на осъзната обща цел, като отчитат нуждите на всяка роля за постигането на тази цел. С повишаване на степента на автоматизация на CI/CD линията и задълбочаването на мониторинга на поведението на продуктивните ни системи крайната ни цел е максимално кратък производствен процес, където инженер от разработка да може да внедри директно в продукция и това да става няколко пъти на ден, но в напълно контролирана и сигурна среда.

Култура на успешната фабрика

"Културата изяжда стратегията за закуска." Към тази крилата фраза на Питър Дръкър можем спокойно да добавим "и за обяд, и за вечеря". Дори и най-добре организираният производствен процес продължава да зависи от компетентността, екипната работа и мотивацията на своите инженери. За успеха на нашата фабрика фактор номер едно е именно вътрешната корпоративна култура на екипа.

Тук идва и основната роля на мениджмънта - да осигури най-добрите условия и среда за работа на инженерите. Начинът и методите за управление влияят изключително много върху формирането на вътрешната култура на екипите. DevOps обръща специално внимание на този аспект, като дефинира петте идеала и принципа, към които трябва да се стремим и придържаме в работата си: локалност и опростеност; фокус, поток и радост; подобрение в ежедневната работа; психологическа сигурност и фокус към клиента.

Как да положим основите

Противно на досегашната ни практика, поставянето на основите на фабриката ни е добре да започне отдолу, а не да бъде спуснато отгоре. Също така фабриката ни е добре да започне с висока степен на локалност и опростеност.

Какво имам предвид? Всяка фабрика е различна! Затова няма точна формула за изграждането ѝ. Шаблони има, ала те не отразяват задължително вашите нужди и специфика. Вие ще трябва просто да построите своята фабрика. Това може да стане в рамките на някой по-малък отдел или пък в контекста на нов проект. Установява се практика и когато се постигне успешен модел, може да започне привличане на други отдели и да се подсигури постепенното проникване в цялата ИТ организация.

От съществено значение е определянето на правилните KPI за управление на фабриката. Тези индикатори трябва да са свързани с производителността и качеството, защото именно това са основните ни цели.

Не правете грешката да търсите аналогии между DevOps и Agile или подобни практики. DevOps е модел на организация на труда, който се стреми да обедини процеси, хора и данни в обща философия за управление към непрекъснато подобрение.

Още от Капитал