DevOps – jak przekonać zarząd

Oszacowanie zwrotu z inwestycji w projekty IT często sprawia trudność i wdrożenia realizowane zgodnie z DevOps nie są od tej reguły wyjątkiem. Tymczasem w przypadku automatyzacji wdrożeń i zarządzania wersjami wyliczenie stopy zwrotu (ROI) może być dość proste.

Organizacje IT najczęściej podejmują decyzje o realizacji określonego projektu na podstawie kalkulacji ROI. Jest to parametr pokazujący stosunek przychodów do kosztów. W przypadku DevOps po jednej stronie mamy koszty związane z wdrożeniem tego podejścia (m.in. przygotowania narzędzi automatyzujących prace), a po drugiej zaś zyski (np. korzyści płynące ze wzrostu wydajności). Obliczenie obu tych wartości zależeć będzie od specyfiki organizacji klienta.

Chcąc przekonać kierownictwo do wdrożenia DevOps, dyskusję należy zacząć nie od kwestii kosztów, lecz wyjaśnienia, jakie są cele projektu i jakie przyniesie on korzyści. Najlepiej posługiwać się konkretnymi kwotami. Ważne jest również przedstawienie ram czasowych, w jakich możliwe jest osiągnięcie tych korzyści. To esencja tego, co potrzebne jest do obliczenia ROI dla określonego projektu.

Przygotowanie kalkulacji ROI

Jak jednak przygotować kalkulację ROI, aby przekonać kierownictwo, że warto wdrożyć DevOps? Jednym z istotnych czynników decydującym o sukcesie jest dobór odpowiedniego projektu. Na początku sprawdzą się te o krótkim czasie realizacji, raczej niż projekty, których efekty rozłożone są na kilka lat.

Kolejnym krokiem jest otwarta dyskusja na temat niezbędnych inwestycji oraz potencjalnych korzyści. Z tymi obszarami wiążą się różne niewiadome i zagrożenia, a poszczególne osoby mogą mieć różne priorytety, w zależności od własnych doświadczeń. Dla jednych kluczową kwestią będą zmiany kulturowe i organizacyjne, podczas gdy inne skupią się na rozwiązaniach technologicznych. Jeszcze inna grupa uczestników projektu zwróci uwagę na zmiany w procesach, rolach czy zakresach odpowiedzialności. Dlatego otwarta dyskusja umożliwi zrozumienie tego, co należy wyeksponować, przygotowując założenia dla wdrożenia DevOps.

Droga do sukcesu

Aby przyspieszyć procesy tworzenia i wdrażania oprogramowania, potrzebna jest automatyzacja. Zatrudnianie kolejnych osób z reguły powoduje nadmierny przyrost działań związanych z komunikacją i koordynacją, co spowalnia te procesy.

Powinno się automatyzować, ograniczać, a nawet eliminować zadania, które nie tworzą wartości (jak wspomniana komunikacja), są prozaiczne i wykonywane manualnie, lub są powtórzeniami wykonywanymi z powodu wystąpienia błędów. Koniecznie do podjęcia kwestie to:

  • ograniczenie pisania skryptów i zarządzania nimi poprzez używanie prekompilowanych paczek zamiast własnych skryptów i narzędzi tworzonych do przeprowadzania wdrożeń. Rozwiązania budowane samodzielnie generują znaczne, często niedoszacowane koszty;
  • ograniczenie i zapobieganie powtarzaniu zadań poprzez automatyzację ręcznych czynności, które są podatne na błędy ludzi;
  • poprawienie audytów i widoczności poprzez lepsze monitorowanie tego, co i gdzie jest realizowane. W ten sposób usprawnia się wykrywanie błędów, a audyty przebiegają płynniej. Automatyzacja przyspiesza również przygotowywanie raportów;
  • ograniczenie pracy wieczorami i w weekendy. Automatyzacja powoduje szybszą realizację zadań, które można dzięki temu wykonać w normalnych godzinach pracy;
  • poprawienie bezpieczeństwa i zapewnienie, że prace są prowadzone zgodnie z ustalonymi procesami;
  • automatyzacji nie należy ograniczać tylko do produkcji, ale objąć nią również środowiska testowe i deweloperskie. Takie działanie będzie również miało pozytywny wpływ na jakość kodu.

Wszystkie wymienione wyżej problemy potęgują się, kiedy dział rozwoju zaczyna pracować zgodnie z metodologią Agile, a dział operacji nie jest w stanie dotrzymać mu tempa.

Przykładowa kalkulacja oszczędności dzięki wdrożeniu DevOps
Średnia liczba inżynierów potrzebnych do wdrożenia 4
Średnia liczba godzin pracy inżyniera przy wdrożeniu 4
Średnia liczba roboczogodzin na wdrożenie 16
Koszty godziny pracy inżyniera 200 zł
Średnie koszty pracy na wdrożenie 3 200 zł
Roczna liczba wdrożeń 240
Obecne koszty wdrożeń 768 000 zł
Nowa średnia liczba godzina na wdrożenie z jednym inżynierem 3
Nowe koszty wdrożeń 144 000 zł
Oszczędności dzięki poprawie wydajności 624 000 zł