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?
Odpowiedzi:
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.
źródło
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.
źródło
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.
źródło
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.
źródło
IMHO nie musi .
Od DevOps (moje podkreślenie):
Podkreśliłem,
can happen
że tak nie jestmust 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ą.
źródło
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.
źródło