Czy moja organizacja musi zastosować Agile Soft. Dev. przed przyjęciem DevOps?


13

Zwinne opracowywanie oprogramowania jest dziś najlepszą metodą dla sklepów z oprogramowaniem. Ale wciąż istnieją organizacje, które nie praktykują Agile w tworzeniu oprogramowania, które mogą być zainteresowane przyjęciem DevOps.

Kiedy mówię o Agile Software Development, mam na myśli każde potomstwo, które wyszło z Manifestu na temat Agile Software Development . Takie jak Extreme Programming , Scrum , Lean Software Development i inne.

Czy tworzenie oprogramowania Agile jest obowiązkowym warunkiem przyjęcia DevOps na poziomie organizacji?


1
To pytanie zostało utworzone, ponieważ devops.stackexchange.com/questions/73/... zostało uznane za zbyt szerokie.
Evgeny,

1
To bardzo dobre i bardzo ważne pytanie
Alexandre

Bardzo istotne artykuł o tym, dlaczego Agile nie działa i jak devops wpisuje się w obraz został opublikowany w hackernoon.com/why-isnt-agile-working-d7127af1c552
Evgeny

Odpowiedzi:


8

Agile Software Development nie jest wymagane do tworzenia DevOps, ale uważam, że można argumentować, że propozycja wartości dla DevOps jest często dużo niższa bez Agile.

DevOps to wiele rzeczy, ale automatyzacja jest głównym tematem. Wartość automatyzacji rośnie wprost proporcjonalnie do częstotliwości, z jaką Development tworzy nowe wersje. Częste wdrażanie ma pozytywny wpływ na niektóre rodzaje produktów, w szczególności aplikacje konsumenckie. Wysoka prędkość przez cały cykl życia oprogramowania zwraca wartość dla każdej iteracji (ktoś widział reklamę CA, w której zombie chcą nowych funkcji w swoich aplikacjach?)

Bez Agile wydawanie wysokich częstotliwości jest niezwykle trudne, jeśli nie niemożliwe. Jeśli zespół programistów wypuszcza oprogramowanie raz na kwartał lub dwa razy w roku, DevOps nadal może zautomatyzować ten proces, ale o co chodzi? Inwestycja w czas, szkolenia i zasoby do wdrożenia DevOps może częściowo zostać zwrócona pod względem jakości, jednak najlepszą wartością jest utrzymanie wysokiej prędkości w całym cyklu życia dostawy.

Można również argumentować, że jeśli zamierzasz adoptować DevOps, dlaczego nie miałbyś również adoptować Agile? Zasady, które sprawiają, że oboje działają, działają dobrze razem. Ćwiczenie DevOps samo, bez Agile, może spowodować nierównowagę pomiędzy Ops i Dev, w której Ops przewyższa Deva pod względem dostarczania usług.


4

NIE

Twierdziłbym , że operacja Mature DevOps wymaga procesu dojrzałej zwinności. Jest mało prawdopodobne, aby uzyskać pełne zaufanie do ciągłego wdrażania lub pozwolić programistom na zainicjowanie procesu wdrażania bez dojrzałego procesu Agile.

Uważam jednak, że bardzo ważne jest, aby wyjaśnić, że organizacja NIE musi przyjmować sprawnego procesu przed budowaniem kultury i infrastruktury DevOps. W rzeczywistości argumentowałbym, że w rzeczywistości łatwiej jest zastosować Agile, gdy masz kilka podstawowych DevOps pracujących w Twojej firmie. Zamiast tego, że Agile jest warunkiem koniecznym dla DevOps, sugerowałbym, aby użyć DevOps, aby przyspieszyć wdrożenie Agile.


2

Na konferencji Agile 2008 Andrew Clay Shafer i Patrick Debois rozmawiali o „Agile Infrastructure”. To był początek ruchu DevOps.

Ale chociaż DevOps ma swoje korzenie w Agile Manifesto, faktem jest, że zespoły programistyczne nie muszą ściśle stosować Agile. Większość zasad zwinnych rzeczywiście należy przestrzegać, ale nie jest zalecana żadna konkretna metodologia zwinna, a jeśli zespół programistów opracuje własny sposób działania, zachowując mniej więcej zasady zwinne, możesz zauważyć korzyści.


2

Niekoniecznie; jak stwierdzono w innych odpowiedziach, metodyki zwinne i mentalność DevOps mogą się nawzajem budować, ale dla mnie DevOps jest szerszy niż wysiłek zwinnego lub szczupłego rozwoju. Firmy, które przyjmują DevOps, przyglądają się całemu strumieniowi wartości, w tym działaniom, rozwojowi, projektowaniu produktów, marketingowi, bezpieczeństwu itp. ... ruch może pochodzić z każdego silosu z zamiarem zniesienia barier.


1

IMHO nie musi .

Od DevOps (moje podkreślenie):

DevOps (skrócony związek „oprogramowania DEVelopment” i „technologii informatycznych OPerationS”) to termin używany w odniesieniu do zestawu praktyk, które kładą nacisk na współpracę i komunikację zarówno twórców oprogramowania, jak i specjalistów w dziedzinie technologii informatycznych (IT) przy automatyzacji procesu dostawa oprogramowania i zmiany infrastruktury. 1 [2] Ma na celu stworzenie kultury i środowiska, w którym tworzenie, testowanie i wydawanie oprogramowania może się odbywać szybko, często i bardziej niezawodnie.

Podkreśliłem, can happenże tak nie jest must happen.

Nic w powyższym opisie nie wymaga zwinnej metodologii rozwoju.

Podejrzewam jednak, że często przejścia na DevOps często uwzględniają zwinne metodyki w procesie rozwoju, ponieważ naprawdę dobrze do siebie pasują.


1

Koncepcja dewopów powstała właśnie z powodu rozprzestrzeniania się zwinności, dlatego właściwe jest stosowanie podejść dewopów w zwinności. Na przykład w przypadku zwinnej, ciągłej integracji (która jest częścią podejścia devops), organizuje się usługi i kontenery do testowania oraz wdraża nowe wersje dla środowisk testowych i prod.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.