Czym jest Manifest Agile?

Manifest Agile był publicznymi deklaracjami złożonymi 11 lutego 2001 przez 17 najbardziej wizjonerskich inżynierów oprogramowania na temat zwinnego procesu tworzenia oprogramowania. W czasie tego spotkania zwinne tworzenie oprogramowania było nową koncepcją, z wieloma opcjami do wyboru dla programistów. Manifest Agile był próbą zebrania wszystkich bystrych umysłów zwinnego przetwarzania w jednym miejscu, próbując uzgodnić podstawowe zasady i idee wszystkich przyszłych procesów zwinnych.

Niektóre dobre przykłady zwinnego procesu rozwoju obejmują programowanie ekstremalne, scrum, adaptacyjne tworzenie oprogramowania i metodę dynamicznego rozwoju systemów (DSDM). Każdy z tych procesów jest próbą stworzenia lepszych metod implementacji oprogramowania komputerowego. Kluczowym ulepszeniem wszystkich tych metod jest to, że rozwój oprogramowania powinien być tworzony w sposób, który wspiera zmiany wymagań biznesowych i nie wymaga procesów, które zamykają pętlę sprzężenia zwrotnego dla klienta.

Przed stworzeniem zwinnego procesu rozwoju, całe tworzenie oprogramowania było realizowane metodą kaskadową. Termin „wodospad” jest używany do zdefiniowania prostego procesu pracy, który wymaga wypełnienia wszystkich wymagań z góry i zdefiniowania z zakończeniem obejmującym wszystkie zdefiniowane funkcje. Podobnie jak w przypadku wodospadu, rozwój wszystkich systemów ma wyraźny początek i koniec. Ten proces rozwoju nie pozwala na zmiany wymagań przed ukończeniem całej aplikacji.

Spotkanie publiczne odbyło się w schronisku narciarskim w Snowbird w stanie Utah, koordynowane przez Roberta Martina. Lista uczestników obejmuje Kent Beck, Dave Tomas, Mike Beedle, Jeff Sutherland, Arie van Bennekum, Ken Schwaber, Alistiar Cockburn, Steve Mellor, Ward Cunningham, Robert C. Martin, Martin Fowler, Brian Marick, James Grenning, John Kern, Jim Highsmith, Ron Jeffries i Andrew Hunt. Chociaż wszystkie te osoby wspierały zwinne, lekkie metodologie programowania, każdy miał własne preferencje dotyczące sposobu wdrażania metodologii.

Cztery kluczowe wartości zostały zdefiniowane i uzgodnione przez strony sygnatariuszy Manifestu Agile. Pierwszym było nadanie wartości jednostkom i interakcjom, a nie narzędziom i procesom. Po drugie, cenione było oprogramowanie, które zadziałało, ponad obszerne dokumenty. Współpraca z klientem została uznana za ważniejszą niż negocjacje dotyczące ograniczeń. Wreszcie, grupa zobowiązała się, że bardziej ceni reagowanie na zmiany niż przestrzeganie planu.

Istotą tego zespołu i Manifestu Agile było stworzenie procesu środowiska programistycznego, który rozumiał wagę klienta. Wierzyli, że można to zrobić poprzez otwartą i stałą współpracę z klientem. Komunikacja pomogłaby zapewnić, że wykonywana praca rzeczywiście przyniesie wartość biznesową i pozwoli na uzyskanie informacji zwrotnej od klienta.
Oprócz kluczowych wartości, Manifest Agile zawiera również kilka kluczowych zasad, które wzmocniły przekonanie, że zaangażowanie klienta wcześnie i często zapewnia lepsze ogólne aplikacje. Tworząc iteracyjny proces tworzenia oprogramowania, klient ma możliwość dopracowania produktu końcowego poprzez uwzględnienie zmian w wymaganiach. Postrzeganie aplikacji jest lepsze, ponieważ działający system jest podstawową miarą postępu w systemie.