Adaptive S / W Development - Wprowadzenie
Co to jest Agile?
W kategoriach literackich słowo „zwinny” oznacza kogoś, kto potrafi szybko i łatwo działać lub kogoś, kto potrafi myśleć i działać szybko i jasno. W biznesie termin „zwinny” jest używany do opisywania sposobów planowania i wykonywania pracy, przy czym rozumie się, że wprowadzanie zmian w razie potrzeby jest ważną częścią pracy. „Zwinność” biznesowa oznacza, że firma jest zawsze w stanie uwzględnić zmiany rynkowe.
W tworzeniu oprogramowania termin „zwinny” jest dostosowywany w znaczeniu „zdolność reagowania na zmiany - zmiany wynikające z wymagań, technologii i ludzi”.
Manifest Agile
Manifest Agile został opublikowany przez zespół programistów w 2001 roku, podkreślając znaczenie zespołu programistów, dostosowując się do zmieniających się wymagań i zaangażowania klientów.
Manifest Agile to -
Odkrywamy lepsze sposoby tworzenia oprogramowania, robiąc to i pomagając innym. Dzięki tej pracy doszliśmy do wartości -
- Osoby i interakcje nad procesami i narzędziami.
- Działające oprogramowanie ponad obszerną dokumentację.
- Współpraca z klientem zamiast negocjacji umowy.
- Reagowanie na zmianę zgodnie z planem.
Oznacza to, że chociaż elementy po prawej stronie mają wartość, bardziej cenimy elementy po lewej stronie.
Charakterystyka zwinności
Oto cechy Agility -
Agility in Agile Software Development koncentruje się na kulturze całego zespołu z wielodyscyplinarnymi, wielofunkcyjnymi zespołami, które są uprawnione i samoorganizujące się.
Wspiera wspólną odpowiedzialność i rozliczalność.
Ułatwia skuteczną komunikację i ciągłą współpracę.
Podejście obejmujące cały zespół pozwala uniknąć opóźnień i czasów oczekiwania.
Częste i ciągłe dostawy zapewniają szybką informację zwrotną, która z kolei umożliwia zespołowi dostosowanie się do wymagań.
Współpraca ułatwia łączenie różnych perspektyw w odpowiednim czasie we wdrażaniu, naprawianie defektów i dostosowywanie zmian.
Postęp jest stały, trwały i przewidywalny, z naciskiem na przejrzystość.
Zwinne metodologie
Wczesne wdrożenia metod Agile obejmują Rational Unified Process, Scrum, Crystal Clear, Extreme Programming, Adaptive Software Development, Feature Driven Development oraz Dynamic Systems Development Method (DSDM). Są one obecnie zbiorczo określane jako metodologie Agile, po opublikowaniu manifestu Agile w 2001 roku.
W tym samouczku nauczymy się metodologii Agile - Adaptive Software Development.
Co to jest adaptacyjne tworzenie oprogramowania?
Adaptacyjne tworzenie oprogramowania to ruch w kierunku praktyk adaptacyjnych, pozostawiając praktyki deterministyczne w kontekście złożonych systemów i złożonych środowisk. Adaptive Software Development koncentruje się na współpracy i uczeniu się jako technice tworzenia złożonych systemów. Wywodzi się z najlepszych praktyk Rapid Application Development (RAD) i Evolutionary Life Cycles. Adaptacyjne tworzenie oprogramowania zostało następnie rozszerzone o adaptacyjne podejście do zarządzania, przy czym planowanie zastąpiło spekulacje.
Jim Highsmith opublikował książkę o Adaptive Software Development w 2000 roku. Według słów Highsmitha -
„Adaptacyjne tworzenie oprogramowania przebiega cyklicznie, podobnie jak model ewolucyjny, z nazwami faz Spekuluj, współpracuj, ucz się, odzwierciedlając nieprzewidywalną sferę coraz bardziej złożonych systemów. Rozwój adaptacyjny idzie dalej niż jego dziedzictwo ewolucyjne na dwa kluczowe sposoby. Po pierwsze, wyraźnie zastępuje determinizm pojawieniem się. Po drugie, wykracza poza zmianę cyklu życia i prowadzi do głębszej zmiany stylu zarządzania ”.