Close

Porównanie DevOps i Agile

Jakie są różnice i podobieństwa między Agile i DevOps?

Portret Toma Halla
Tom Hall

Specjalista i praktyk DevOps


Kiedy metodyka Agile upowszechniła się na początku lat 2000., zmieniła sposób tworzenia oprogramowania i innych produktów. Jednak po kilku latach od kiedy stała się ona standardem w branży, uwidoczniła się kluczowa luka: rewolucja ominęła procesy i wymagania zespołu operacyjnego, który wdraża i zarządza oprogramowaniem.

W efekcie powstało DevOps — podejście, które prowadzi do współpracy zespołów programistycznych i operacyjnych. Tak więc czy DevOps zastąpiło Agile? A może podejścia te się uzupełniają? Okazuje się, że istnieją zarówno różnice, jak i podobieństwa między nimi. Agile i DevOps mogą być zarówno ekskluzywne, jak i inkluzywne, a także równolegle funkcjonować w organizacji.

Czym jest Agile?


Agile to iteracyjne podejście do zarządzania projektami i tworzenia oprogramowania, które koncentruje się na współpracy, informacjach zwrotnych od klientów i szybkich wydaniach. Metodyka ta powstała na początku lat 2000. i wywodzi się z branży programistycznej, gdyż jej celem było pomaganie zespołom programistycznym reagować i dostosowywać się do zmieniających się warunków rynkowych oraz wymagań klientów.

W podejściu Agile część planowania i projektowania ma miejsce z wyprzedzeniem, ale tworzenie oprogramowania przebiega w małych partiach i wymaga ścisłej współpracy z interesariuszami. Zmiany są wprowadzane w sposób ciągły, a użyteczna wersja produktu jest często wydawana szybciej w porównaniu z produktami opracowanymi zgodnie z metodyką wodospadu. Ma to liczne zalety, z których być może najważniejsza jest taka, że jeśli oprogramowanie nie spełnia potrzeb lub oczekiwań klienta, może być poprawiane na bieżąco.

Agile jest zbiorem metod, a nie jednym podejściem do tworzenia oprogramowania. Jest to zbiór praktyk scrum, eXxtreme Programming (XP) i innych systemów, z których programiści korzystali już wcześniej. Metodyka ta powstała, bo praktycy ci postanowili połączyć te podejścia w jeden zestaw zasad. Efektem tego wysiłku był Manifest Agile, który obejmuje 12 zasad bazujących na czterech podstawowych wartościach.

Ikona scentralizowanego węzła
Materiały pokrewne

Dowiedz się więcej o modelu CALMS

Ikona przedstawiająca strukturę w umyśle
Materiały pokrewne

Dowiedz się więcej o historii DevOps

Cztery podstawowe wartości Manifestu Agile. Agile przedkłada:

Ludziki patrzące na procedury tworzenia oprogramowania

ludzi i interakcje
ponad procesy i narzędzia

Otwieranie folderu z zakończonymi zgłoszeniami

działające oprogramowanie
ponad szczegółową dokumentację

Ludziki pracujący przy platformie

współpracę z klientem
ponad negocjacje umów

Kryształowa kula

reagowanie na zmiany
ponad realizację założonego planu

Przedstawiamy DevOps


DevOps to podejście do tworzenia oprogramowania, które umożliwia zespołom szybsze i bardziej niezawodne pisanie, testowanie i wydawanie oprogramowania dzięki zastosowaniu zwinnych zasad i praktyk, takich jak zwiększona automatyzacja i lepsza współpraca między zespołami programistycznymi i operacyjnymi. Programowanie, testowanie i wdrażanie ma miejsce zarówno w przypadku Agile, jak i DevOps. Jednak tradycyjna metodyka Agile nie obejmuje operacji, co jest integralną częścią DevOps.

Celem DevOps jest utworzenie warunków do współpracy między programistami, którzy piszą oprogramowanie, i pracownikami operacyjnymi, którzy uruchamiają oprogramowanie w fazie produkcyjnej. Ponadto praktyka ta pozwala budować i utrzymywać infrastrukturę tam, gdzie działa. DevOps zastępuje stare podejście, w ramach którego zespoły programistyczne pisały aplikacje, a następnie „przerzucały je przez mur” do zespołu operacyjnego, który wdrażał je i zarządzał nim, mając minimalną wiedzę na temat sposobu, w jaki zostało opracowane. W środowisku DevOps programiści i zespoły operacyjne pracują ramię w ramię w całym procesie tworzenia, wdrażania i zarządzania aplikacjami.

Dwoma modelami niezbędnymi do zrozumienia DevOps są „Trzy sposoby” oraz „CALMS”, będący akronimem od Culture, Automation, Lean, Measurement i Sharing (kultura, automatyzacja, lean, pomiar i dzielenie się). Kultura odnosi się do zmiany kulturowej, dzięki której działy programistyczne i operacyjne pracują bardziej spójnie. Automatyzacja zwiększa prędkość i pozwala uzyskać lepszą jakość. Zasady lean związane z ciągłym doskonaleniem i otwartością na błędy są podstawą eksperymentalnego myślenia. Pomiar odnosi się do praktyki mierzenia wyników w celu ulepszania procesów. Dzielenie się podkreśla z kolei znaczenie DevOps jako wysiłku grupowego i stosowania najlepszych praktyk.

Trzy sposoby w ramach DevOps

Łączenie elementów układanki

Myślenie systemowe
Zrozumienie, że aplikacje są systemami złożonymi

Wskaźnik z symbolem odtwarzania

Wzmacnianie pętli informacji zwrotnych
Poprawa dwustronnej komunikacji między członkami zespołów

Ludziki patrzące na procedury tworzenia oprogramowania

Zmiana kulturowa
Kultura ciągłego eksperymentowania i uczenia się

Kiedy Agile i DevOps współpracują ze sobą?


DevOps można traktować jako ewolucję praktyk Agile lub jako brakującą część Agile. Jest to wysiłek mający na celu wykorzystanie innowacji w podejściu Agile i zastosowanie ich do procesów operacyjnych. Jednocześnie jest to brakujący element metodyki Agile, ponieważ pewne zasady Agile mogą być realizowane w swojej najbardziej kompletnej formie tylko wówczas, gdy zastosuje się praktyki DevOps. Na przykład w dokumentach Agile często przywołuje się ciągłe dostarczanie oprogramowania, ale ponieważ pipeline'y dostarczania obejmują kwestie operacyjne, ciągłe dostarczanie jest zwykle traktowane jako praktyka DevOps. Wzmacnianie pętli informacji zwrotnych wymaga lepszej komunikacji w ramach zespołów i między nimi. Agile, w tym zwłaszcza scrum, usprawnia tę komunikację poprzez różne rytuały, takie jak codzienne stand-upy, spotkania dotyczące planowania i retrospektywy.

Jakie są podobieństwa i różnice między agile i DevOps?


  • Agile kładzie nacisk na współpracę między programistami a pracownikami odpowiedzialnymi za zarządzanie produktami — DevOps obejmuje zespół operacyjny
  • Agile koncentruje się na przepływie oprogramowania od opracowania pomysłu do ukończenia kodu — DevOps koncentruje się na dostarczaniu i konserwacji
  • Agile kładzie nacisk na iteracyjny rozwój i małe partie — DevOps skupia się bardziej na automatyzacji testowania i dostarczania
  • Agile nadaje strukturę planowanej pracy dla programistów — DevOps obejmuje niezaplanowaną pracę częstą w przypadku zespołów operacyjnych

Manifest Agile wyraźnie nadaje priorytet ludziom i interakcjom, działającemu oprogramowaniu, współpracy z klientami i reagowaniu na zmiany. DevOps ma oczywiście te same priorytety, w przypadku tej metodyki wykraczają one jednak poza proces programowania oraz zarządzanie systemami i uruchomionymi aplikacjami.

Ponadto Dwanaście zasad oprogramowania Agile zawiera odniesienia do zasad DevOps. Wymieniają one na przykład ciągłą integrację i dostarczanie, pracę w małych partiach z częstymi wydaniami i wykorzystanie automatyzacji.

Podsumowując… Agile ORAZ DevOps


W ostatecznym rozrachunku cele Agile i DevOps są takie same: poprawa szybkości i jakości tworzenia oprogramowania, i w praktyce trudno mówić o jednym bez drugiego. Dla wielu zespołów metodyka Agile okazuje się niezwykle pomocna, podczas gdy inne mają trudności z wykorzystaniem jej potencjału. Może to wynikać z wielu powodów, na przykład braku zrozumienia praktyk Agile przez zespoły lub ich nieprawidłowego wdrażania. Może się również zdarzyć, że zastosowanie podejścia DevOps pomoże wypełnić luki organizacjom, które mają trudności z Agile, i pozwoli im osiągnąć sukces, na który liczyły.

Atlassian łączy zespoły programistyczne, operacyjne zespoły informatyczne oraz zespoły Agile dzięki otwartemu łańcuchowi, który obejmuje nie tylko produkty Atlassian, ale także narzędzia zewnętrzne. Atlassian DevOps zapewnia zespołom wszystko, czego potrzebują do opracowywania i obsługi oprogramowania. Wypróbuj teraz.

Tom Hall
Tom Hall

Tom Hall jest zwolennikiem i praktykiem DevOps, zagorzałym czytelnikiem i pianistą amatorem.
Na przestrzeni ostatnich 20 lat zdobył certyfikaty firm Novell, EMC, VMware i AWS. Pomagał w organizacji DevOpsDays w Atlancie w 2016 roku oraz w Austin w stanie Teksas w późniejszych latach.


Udostępnij ten artykuł
Następny temat

Zalecane lektury

Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat rodzajów zespołów DevOps lub otrzymywać aktualności na temat metodyki DevOps w Atlassian.

Ilustracja DevOps

Społeczność DevOps

Ilustracja DevOps

Ścieżka szkoleniowa DevOps

Ilustracja przedstawiająca mapę

Zacznij korzystać za darmo

Zapisz się do newslettera DevOps

Thank you for signing up