Przejdź do głównej zawartości

Czym jest rozwój zwinny?

Agile to parasolowa nazwa rodziny metod zbudowanych wokół jednego założenia: oprogramowanie jest zbyt nieprzewidywalne, by planować je szczegółowo z góry, więc dostarczaj w małych porcjach, słuchaj tego, co wraca, i nieustannie się dostosowuj.

Ta strona omawia tło. Jeśli już to wszystko znasz, przejrzyj do Jak East Agile Tracker odwzorowuje agile.

W lutym 2001 roku siedemnastu praktyków oprogramowania — Kent Beck, Martin Fowler, Robert Martin, Ron Jeffries i inni — spotkało się w domku narciarskim w stanie Utah i spisało to, co ich łączyło. Nazwali to Manifestem Agile. To cztery wiersze:

Odkrywamy lepsze sposoby tworzenia oprogramowania poprzez jego praktykowanie oraz pomaganie w tym innym. W wyniku tej pracy zaczęliśmy cenić:

  • Ludzi i interakcje ponad procesy i narzędzia
  • Działające oprogramowanie ponad obszerną dokumentację
  • Współpracę z klientem ponad negocjowanie umów
  • Reagowanie na zmiany ponad podążanie za planem

To znaczy: doceniając to, co wymieniono po prawej, bardziej cenimy to, co po lewej.

To wszystko. Strona wstępu, dwanaście wspierających zasad i cztery powyższe wiersze. To najbardziej wpływowy dokument we współczesnej praktyce tworzenia oprogramowania.

Za czterema wartościami stoi dwanaście zasad manifestu, które wyjaśniają, jak „agile” faktycznie wygląda na co dzień:

  1. Najwyższym priorytetem jest zadowolenie klienta poprzez wczesne i ciągłe dostarczanie wartościowego oprogramowania.
  2. Witaj zmieniające się wymagania, nawet późne. Procesy zwinne wykorzystują zmianę dla przewagi konkurencyjnej klienta.
  3. Dostarczaj działające oprogramowanie często — w tygodniach, nie miesiącach.
  4. Osoby biznesowe i deweloperzy muszą współpracować codziennie.
  5. Buduj projekty wokół zmotywowanych jednostek. Daj im to, czego potrzebują, i zaufaj, że wykonają zadanie.
  6. Najefektywniejszym sposobem przekazywania informacji jest rozmowa twarzą w twarz.
  7. Działające oprogramowanie jest podstawową miarą postępu.
  8. Procesy zwinne promują zrównoważony rozwój — stałe tempo, w nieskończoność.
  9. Ciągła dbałość o doskonałość techniczną i dobry projekt zwiększa zwinność.
  10. Prostota — sztuka maksymalizacji ilości niewykonanej pracy — jest niezbędna.
  11. Najlepsze architektury, wymagania i projekty wyłaniają się z samoorganizujących się zespołów.
  12. Zespół regularnie zastanawia się, jak stać się bardziej efektywnym, a następnie dostraja i koryguje swoje działanie.

„Agile” to parasol. Pod nim mieści się kilka odrębnych metodologii:

  • eXtreme Programming (XP) — Najbardziej wymagająca z rodziny. Programowanie w parach, TDD, ciągła integracja, klient na miejscu, małe wydania. Zobacz naszą stronę o XP.
  • Scrum — Ograniczone czasowo iteracje zwane sprintami, codzienne standupy, nazwane role (Product Owner, Scrum Master). Lżejszy w praktykach inżynierskich niż XP.
  • Kanban — Wizualizuj przepływ pracy, ograniczaj pracę w toku, optymalizuj przepływ. Bez ram czasowych; zaciąganie zamiast wypychania.
  • Lean — Zapożyczony z systemu produkcyjnego Toyoty: eliminuj marnotrawstwo, optymalizuj całość, dostarczaj szybko, wbudowuj jakość.

Te metody nakładają się i łączą. Większość pracujących zespołów wybiera to, co najlepsze, ze wszystkich czterech. East Agile Tracker ma wyraziste nastawienie ku XP — zobacz eXtreme Programming — ale większość tego, co oferuje, działa dla każdej odmiany agile.

Kilka uporczywych nieporozumień, które warto nazwać:

  • Agile to nie „brak planowania”. Plany są mniejsze i krótsze, ale planowanie jest nieustanne.
  • Agile to nie „brak dokumentacji”. Pisz to, co potrzebne. Manifest mówi, że działające oprogramowanie jest bardziej wartościowe niż obszerna dokumentacja — a nie że dokumentacja jest zła.
  • Agile to nie Scrum. Scrum to jedna metoda zwinna. Jest ich kilka.
  • Agile to nie narzędzie. Żadne narzędzie nie czyni Cię zwinnym. Agile to sposób pracy. Narzędzia (w tym to) pomagają; nie zastępują.

East Agile Tracker jest zaprojektowany wokół powyższych zasad. Oto odpowiedniość:

ZasadaJak tracker ją wspiera
Ciągłe dostarczanieIteracje 1–4 tygodniowe; automatyczne planowanie oparte na prędkości; wydania jako pełnoprawny typ historii.
Witanie zmianyZmieniaj kolejność backlogu w dowolnym momencie; historie swobodnie przechodzą między iteracjami; brak „blokady iteracji”.
Działające oprogramowanie jako miaraPrędkość domyślnie liczy zaakceptowane punkty — liczy się tylko dostarczona, działająca praca.
Zrównoważone tempoPrędkość nie jest celem; jest obserwacją. System planuje następną iterację tym, co faktycznie robisz.
RefleksjaAnalityka per iteracja: burndown, wskaźnik odrzuceń, czas cyklu, prognozy.
Samoorganizujące się zespołyRole są celowo minimalne: owner / member / viewer. Zespół decyduje.
ProstotaPanel szczegółów to jeden ekran. Tablica mieści się na jednej stronie. Opieramy się funkcjom, które odciągają od dostarczania.

Manifest powstał w 2001 roku. Od tego czasu rozwój oprogramowania zyskał nowy rodzaj uczestnika: agentów AI.

Uważamy, że agenci należą do zwinnego zespołu — jako wymienieni z imienia uczestnicy, z własnymi rolami, wykonujący prawdziwą pracę u boku ludzi. Zasady wciąż obowiązują. Ludzie i interakcje obejmują teraz uczestników będących agentami. Samoorganizujące się zespoły obejmują teraz decydowanie, których agentów wprowadzić i na co im pozwolić. Refleksja obejmuje teraz przyglądanie się wkładowi agentów w dzienniku aktywności i dostrajanie tego, nad czym pracują.

East Agile Tracker jest zbudowany tak, by uczynić to praktycznym. Każda historia może być własnością człowieka lub agenta. Każdy wpis w dzienniku audytu przypisuje rzeczywistego wykonawcę. Każda akcja podjęta przez agenta jest widoczna, możliwa do zrecenzowania i odwołania.

Stworzone przez East Agile.