7 sposobów na obniżenie kosztów dzięki agile i DevOps

CIO szukają możliwości obniżenia kosztów, optymalizacji procesów – metodyki agile i DevOps mogą być odpowiedzią na te wyzwania, zwłaszcza w niepewnych czasach.

W dzisiejszych czasach nie trzeba już przekonywać liderów IT do metodyk zwinnych i DevoOps. Większość z nich nie chce wracać do czasów nieudanych projektów, harmonogramów "command and control" czy ręcznych operacji na infrastrukturze. Jednak większość liderów technologicznych zdaje sobie sprawę, że dojrzewanie zwinnych i skalowanych możliwości DevOps wymaga czasu i inwestycji. W pewnym momencie liderzy biznesowi mogą zapytać o ROI.

Jeśli firma oferuje oprogramowanie jako usługę, która buduje i sprzedaje technologie, to zwinność i DevOps mogą być powiązane z ulepszonymi produktami, nowymi klientami i wzrostem przychodów. Wiele firm może uzasadnić swoje inwestycje poprzez dostarczanie lepszych doświadczeń użytkownikom, poprawę satysfakcji klientów i szybsze wprowadzanie nowych rozwiązań.

Zobacz również:

  • Najpopularniejsze stanowiska pracy w chmurze obliczeniowej
  • Partnerstwo w zakresie rozwoju oprogramowania - 5 najlepszych praktyk
  • 9 cech wielkich liderów IT

Dziś wiele działów IT będzie musiało również wykazać się oszczędnościami kosztów. Nie wiadomo jeszcze, czy gospodarka światowa znajduje się w fazie recesji czy korekty rynkowej, jaki będzie jej wpływ na budżety IT i jak długo może trwać spowolnienie finansowe. Nawet krótkotrwała niepewność gospodarcza oznacza, że liderzy technologii powinni być przygotowani do odpowiedzi na pytania, w jaki sposób praktyki agile i DevOps mogą prowadzić do zwiększenia efektywności i bezpośrednich oszczędności kosztów. Oto kilka sposobów:

1. Poprawa szybkości wprowadzania na rynek poprzez dostarczanie minimalnie opłacalnych rozwiązań

Andrew Davis, starszy dyrektor w Copado, dzieli się dwoma podstawowymi celami, do których dążą agile i DevOps. „W książce How to Measure Anything (Jak zmierzyć wszystko) autor Douglas Hubbard podsumowuje swoje rozległe badania, mające na celu ustalenie, które czynniki odgrywają największą rolę w określaniu ogólnego ROI projektu. Po analizie dziesiątek metryk, okazało się, że jedynymi czynnikami, które konsekwentnie przewidywały ROI, było to, czy projekt został anulowany przed premierą i jak szybko użytkownicy przyjęli produkt"

Dlaczego to zmniejsza koszty: Davis sugeruje, że można wykazać ROI poprzez szybkość wprowadzania na rynek, poprzez szybsze wprowadzanie nowych możliwości dla użytkowników. Oszczędności kosztów powiązane są z częstszymi wydaniami produkcyjnymi, mniejszymi kosztami ogólnymi per wydanie i mniejszą liczbę defektów lub problemów operacyjnych po wydaniu.

2. Szybsze reagowanie na zmiany priorytetów

Organizacje technologiczne przyjmują podejście zwinne, ponieważ priorytety się zmieniają i konieczne jest łatwe wprowadzanie korekt. Roger Valade, starszy wiceprezes ds. inżynierii w G2, mówi, że liderzy powinni wykazać zdolność do szybkiego reagowania jako korzyść finansową. „Jedną z podstawowych korzyści agile jest zapewnienie, że pracujemy nad najważniejszymi zadaniami przez cały czas" - mówi. "Trudno jest konkretnie obliczyć tę korzyść finansową, ale możliwość ciągłego koncentrowania się na naszych czasami zmieniających się priorytetach i eliminowania marnotrawstwa jest krytyczna".

Dlaczego to zmniejsza koszty: Jaki jest finansowy wpływ opóźnień w planowaniu nowych możliwości lub długich czasów cyklu w wypuszczaniu funkcji do produkcji? Jednym ze sposobów obliczania oszczędności kosztów jest wykazanie redukcji czasu i kosztów stosowanych w pracach administracyjnych lub pracach nie przynoszących wartości dodanej. Inną możliwością jest obliczenie redukcji kosztów dzięki szybszym cyklom wydawania funkcji.

3. Przyspieszenie i usprawnienie procesu podejmowania decyzji

Wprowadzanie priorytetowych zmian jest jedną z form podejmowania decyzji, a Peter Kreslins Jr, CTO i współzałożyciel Digibee, uważa, że umożliwienie inteligentniejszego i szybszego podejmowania decyzji ma wysoki ROI. „Praktyki zwinne mogą dać zespołom więcej autonomii, zmniejszając ukryty koszt scentralizowanych decyzji. Praktyki zwinne można również wykorzystać do przewidywania decyzji dotyczących właściwych produktów do zbudowania, zamiast wydawać pieniądze na ich opracowanie, a następnie dowiedzieć się, czy są przydatne".

Dlaczego to zmniejsza koszty: Kluczem jest zdefiniowanie osób decyzyjnych (kto może podejmować jakie decyzje) i upoważnienie zespołów do szybszego podejmowania większej liczby decyzji. Benchmark, jak zdefiniowanie tych zasad zmniejsza czas i koszty prowadzenia spotkań, wysyłania e-maili czy dostarczania prezentacji.

4. Ciągłe testowanie

Inwestowanie w ciągłe testowanie i rozwój oparty o testy - test-driven development (TDD) poprawia jakość i może przynieść znaczne oszczędności kosztów.

Marko Anastasov, współzałożyciel Semaphore CI/CD, mówi: „Przyjęcie TDD może wydawać się kosztem ogólnym, ale w dłuższej perspektywie zmniejsza koszty, przynajmniej w porównaniu z rozwojem waterfall. Podczas gdy koszty waterfall rosną liniowo, TDD ma tendencję do spłaszczania się. Tak więc dla każdego wystarczająco długiego projektu, TDD zawsze będzie się opłacać".

Dlaczego to zmniejsza koszty: Dla aplikacji w produkcji, porównaj koszty naprawiania błędów i problemów operacyjnych znalezionych w produkcji i oblicz, jak bardziej zautomatyzowane testy zmniejszyłyby te problemy. Automatyzacja testów i TDD zmniejszają czas i koszty w porównaniu z testowaniem ręcznym i pomagają zapewnić jakość, gdy zespoły DevOps zwiększają częstotliwość wydawania.

5. Zautomatyzuj zarządzanie danymi testowymi i wirtualizację usług

Automatyzacja testów może być tylko jedną z części inwestycji wymaganych do poprawy jakości i niezawodności aplikacji na większą skalę. Testy są tylko tak dobre, jak dane testowe, które mogą być trudne do stworzenia lub zarządzania w aplikacjach o szerokim wykorzystaniu, które obsługują wieloetapowe przepływy pracy lub zbierają złożone dane. Tworzenie syntetycznych zestawów danych, stosowanie narzędzi do zarządzania danymi testowymi oraz wdrażanie wirtualizacji usług ma na celu odpowiedź na te wyzwania.

„Wdrożenie skutecznych narzędzi do zarządzania danymi testowymi, w tym wirtualizacji, jest jednym z głównych sposobów na obniżenie kosztów w ramach shift-left DevOps i agile" - mówi Roman Golod, CTO i współzałożyciel Accelario. „Nie tylko zmniejsza koszty wdrożenia chmury i przechowywania danych, ale także przyspiesza zarządzanie danymi testowymi w ramach DevOps, ponieważ nikt nie musi czekać na DBA, aby przenieść produkcyjną bazę danych do środowiska nieprodukcyjnego. Dodatkowo, zastosowanie automatycznego maskowania i danych syntetycznych zmniejsza potrzebę wdrożenia kompleksowej ochrony danych w nieprodukcyjnych bazach danych".

Dlaczego to zmniejsza koszty: Aplikacje o szerokim wykorzystaniu często borykają się z problemami typu "igła w stogu siana", gdzie zaledwie kilku użytkowników doświadcza problemów z funkcjonalnością, wydajnością lub innymi problemami związanymi z doświadczeniem użytkownika. Oblicz koszty wsparcia klienta lub użytkownika związane z rozwiązywaniem złożonych problemów z aplikacją i pokaż, gdzie zastosowanie bogatszych danych testowych lub wirtualizacji usług może je zmniejszyć.

6. Analizuj i optymalizuj koszty zużycia chmury

Szefowie firm słyszeli, że przejście do chmury pozwala zaoszczędzić pieniądze, ale to się sprawdza tylko wtedy, gdy dział IT przejmuje odpowiedzialność i zarządza konsumpcją.

David Williams, starszy wiceprezes ds. strategii rynkowej w firmie Quali, opisuje, co oznacza przejęcie własności. „Raporty dostawców chmury publicznej dotyczące rozliczeń i wykorzystania nie zapewniają kontekstu wokół zużycia zasobów chmury" - mówi. "Organizacje potrzebują możliwości dokładnego oznaczania środowisk według użytkowników, zespołów i projektów. Mając taki kontekst, mogą dokładniej zaplanować przyszłe koszty chmury, a następnie zarządzać, optymalizować i redukować te koszty".

Dlaczego to zmniejsza koszty: Zmniejszenie zużycia chmury wymaga zidentyfikowania możliwości automatyzacji elastyczności, wyłączenia usług lub zmiany architektury w optymalnych obszarach. Zespoły mogą znaleźć oszczędności kosztów, przechodząc na architektury serverless, wyłączając środowiska w godzinach poza szczytem, archiwizując dane do mniej kosztownych opcji pamięci masowej i przyjmując inne najlepsze praktyki.

6. Wykorzystaj automatyzację, aby uwolnić zespoły DevOps od trudu

Stanley Huang, współzałożyciel i CTO w Moxo, mówi: "Podstawowym sposobem na zmniejszenie kosztów związanych z praktykami ludzkimi jest zatrudnienie odpowiednich ludzi. Na konkurencyjnym rynku pracy i stale ewoluującym krajobrazie narzędzi i architektur, automatyzacja procesów CI/CD, operacji manualnych i innych elementów ekosystemu jest najlepszym sposobem na obniżenie kosztów i uwolnienie ludzkich możliwości".

Kreslins dodaje: "Praktyki DevOps mogą zautomatyzować kompletny cykl życia wydania oprogramowania, redukując manualny wysiłek, błędy i incydenty, które ostatecznie pociągają za sobą koszty".

Dlaczego to zmniejsza koszty: Oszczędności pochodzą z szacowania kosztów operacji manualnych, ustalania priorytetów obszarów, na których należy się skupić, a następnie mierzenia wpływu. Próba zautomatyzowania wszystkiego i wszędzie jest nierealistyczna dla wielu zespołów IT z niedostatecznym personelem, więc skupienie się na obszarach, które zmniejszają wysiłek, a następnie zmierzenie wpływu jest tematem, który liderzy DevOps powinni przekazać działom biznesowym.

7. Wykorzystanie informacji zwrotnej do wprowadzania korekt kursu

Valade z G2 dzieli się historią, która pomaga zilustrować znaczenie dokonywania korekt kursu agile. „Jeden z moich najwcześniejszych trenerów agile powiedział, że podczas każdej podróży samolotem piloci są poza kursem przez ponad 90% czasu lotu - nieustannie dostosowują trasę, aby upewnić się, że wylądują we właściwym miejscu" - mówi. „Uwielbiam ten przykład, ponieważ w ten sam sposób agile pomaga nam stale udoskonalać naszą ścieżkę w oparciu o dane empiryczne pochodzące bezpośrednio od naszych zespołów i naszych projektów, zapewniając, że osiągniemy nasze cele i pozostaniemy na kursie".

Dlaczego to zmniejsza koszty: Zespoły DevOps inwestują czas, aby obserwować aplikacje i wdrożyć AIops, aby scentralizować monitorowanie i dane operacyjne. Ponadto menedżerowie produktu pracujący z zespołami agile przeglądają analizy użytkowania, ankietują użytkowników i przeprowadzają wywiady z kluczowymi klientami i interesariuszami. ROI z tworzenia inteligentnych pętli informacji zwrotnych powinien płynąć w górę do ogólnych celów biznesowych i wyników produktu lub aplikacji.

Skup się na wydajności, zwinności i wpływie

Zespoły DevOps potrzebują planu, aby odpowiedzieć na pytania dotyczące oszczędności kosztów, ale nie mogą stracić z oczu nadrzędnych celów biznesowych organizacji, zasad agile i korzyści kulturowych DevOps.

Dean MacNeil, globalny szef praktyki agile at scale w Valiantys, mówi: „Chodzi raczej o zwrot z inwestycji i wzrost produktywności niż o redukcję kosztów. Lean, agile i DevOps to praktyki oparte na wartościach i zasadach, które współpracują ze sobą, aby umożliwić zwinność biznesową".

Huang dodaje: „Złożoność jest również wrogiem produktywności i efektywności kosztowej, więc nie należy nadmiernie komplikować procesów, które będą hamować produktywność i rujnować ogólny wynik".

Artykuł pochodzi z Infoworld

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200