Przejdź do głównej zawartości

Czym jest rozwój zwinny?

Czym jest Agile: Manifest Agile, dwanaście zasad, Scrum, Kanban i XP, czym zwinność nie jest oraz jak w praktyce działają iteracje i velocity.

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. Zobacz Scrum czy Kanban.
  • Kanban — Wizualizuj przepływ pracy, ograniczaj pracę w toku, optymalizuj przepływ. Bez ram czasowych; zaciąganie zamiast wypychania. Zobacz Scrum czy Kanban.
  • 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.

Praktyki wspólne dla tych metod mają własne strony: historyjki użytkownika i planowanie iteracji, story pointy oraz velocity.

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: manager / 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.

Strona funkcji East Agile Tracker opisuje szczegółowo każdą część produktu.

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.