Świat się zmienia. Zarządzanie usługami IT też. To co dziesięć lat temu wydawało się dobre i skuteczne dzisiaj stało się trochę skostniałe i mało elastyczne. Nie znaczy, że całkowicie jest niepotrzebne ale wymaga odświeżenia i dostosowania do istniejących warunków. Tak dzieje się np z ITIL, który w tym roku wprowadza czwartą wersję swojej biblioteki. Zanim jednak Axelos odkryje wszystkie karty postanowiłem bliżej przyjrzeć się DevOps. W tym celu nabyłem książkę „DevOps – Światowej klasy zwinność, niezawodność i bezpieczeństwo w twojej organizacji”. Autorami są Gene Kim, Jez Humble, Patrick Debois i John Willis. Zacząłem ją zgłębiać i chciałbym się podzielić podstawową wiedzą o trzech drogach w DevOps.
Trzy drogi
Jako fundamentalne zasady DevOps wprowadza pojęcie trzech dróg:
- Pierwsza droga – Zasady przepływu pracy
- Druga droga – Zasady sprzężenia zwrotnego
- Trzecia droga – Zasady ciągłego uczenia się i eksperymentowania
Pierwsza droga – Zasady przepływu pracy
Pierwsza droga mówi o zasadach związanych z przepływem pracy od jej rozpoczęcia do zakończenia. W przypadku strumienia wartości technologii, czyli działu wytwarzania oprogramowania, początkiem przepływu pracy jest zdefiniowanie wymagań biznesowych a końcem wdrożenie oprogramowania zawierającego funkcjonalności dotyczące tych wymagań na produkcję. Proces ten obejmuje przejście od developmentu do operacji (utrzymania). Jakoś nie lubię terminu operacje, bo źle mi się kojarzy i wolę używać „utrzymanie”. Według mnie lepiej odzwierciedla funkcje tej aktywności.
Zasady z pierwszej drogi koncentrują się na zwiększeniu przepływu pracy, tak aby czas od rozpoczęcia do zakończenia pracy był jak najkrótszy. Najważniejsze elementy to:
- Zwiększenie widoczności praca, które najlepiej wykonać poprzez tablicę kanban, umieszczoną w miejscu pracy zespołu
- Zmniejszenie rozmiaru partii, sprowadza się do dzielenia pracy, na jak najmniejsze, niezależne zadania
- Zmniejszenie interwału pracy, poprzez skracanie okresów wydań oprogramowania z miesięcy do tygodni, dni i godzin.
- Tworzenie jakości poprzez przeciwdziałanie przekazywania defektów, pomiędzy poszczególnymi etapami wytwarzania oprogramowania. Jednym słowem usuwanie błędów jak tylko się pojawią.
- Stałe optymalizowanie pracy, poprzez dążenie do ciągłego zwiększania efektywności i usuwania wąskich gardeł
Druga droga – Zasady sprzężenie zwrotnego
Druga droga skupia się na szybkim i stałym przepływie informacji zwrotnych. Najważniejsze jest aby wszystkie informacje, które mogą przyczynić się do skutecznego usuwania problemów były przekazywane na bieżąco z zespołu operacji (utrzymania) do zespołu developerskiego. Celem takiego działania jest:
- Zapobieganie występowaniu podobnych problemów w przyszłości
- Zwiększenie efektywności procesów wykrywania problemów i eliminowania ich skutków.
Budujemy w ten sposób mechanizmy pracy, które mogą rozwiązywać problemy na wczesnym etapie i zapobiegać ich katastrofalnym skutkom.
Trzecia droga – Zasady ciągłego uczenia się i eksperymentowania
Trzecia droga koncentruje się na:
- Dynamicznym, zdyscyplinowanym i naukowym podejściu do eksperymentowania i podejmowania ryzyka
- Czerpaniu nauki z sukcesów jak i porażek
- Ciągłym skracaniu i wzmacnianiu pętli sprzężenia zwrotnego
Poszukujemy takich usprawnień w naszym codziennym działaniu, które będzie można zastosować globalnie i przyczynią się do poprawy działania innych osób w zespole.
Podsumowanie
Trzy drogi to dopiero początek mojej drogi w DevOps. Podane zasady wyglądają na proste i zrozumiałe. Pozostaje tylko zastosować je w praktyce i zweryfikować jak się sprawdzają. Do zobaczenia na dalszej drodze w odkrywaniu tajników DevOps.