Filozofia zwinnego rozwoju

Zwinny rozwój to metoda rozwoju skoncentrowana na człowieku, iteracyjna i stopniowa. W zwinnej metodzie rozwoju budowa projektu oprogramowania jest podzielona na wiele podprojektów, a wyniki każdego podprojektu zostały przetestowane i mają cechy integracji i działania.

Innymi słowy, duży projekt jest podzielony na wiele małych projektów, które są ze sobą powiązane, ale mogą być również realizowane niezależnie i ukończone osobno. W trakcie tego procesu oprogramowanie jest zawsze w stanie używalnym.

Klasyfikacja modeli zwinnego rozwoju

Zwinność to sposób myślenia i zestaw wartości oraz zasad. Zwinność to sposób myślenia i działania. Zwinność koncentruje się na krótkich cyklach, iteracyjnym i przyrostowym dostarczaniu, szybkim porażkach, uzyskiwaniu informacji zwrotnej, dostarczaniu wartości biznesowej klientom na wczesnym etapie oraz na ludziach, współpracy i interakcji. Zwinność to sposób myślenia, który koncentruje się na przejrzystości, inspekcji i adaptacji. Zwinność jednak nie składa się z żadnych ról, wydarzeń ani artefaktów. To sposób myślenia. Na przykład, Scrum jest jednym z szeroko stosowanych frameworków w ramach zwinności, który może pomóc ci stać się bardziej zwinny, jednak istnieje wiele innych frameworków w ruchu Agile, takich jak Kanban, XP, Crystal i wiele innych, jak pokazano na poniższym rysunku:

  • XP Ekstremalne Programowanie (eXtreme Programming)
  • SCRUM
  • Kanban
  • Lean
  • Metoda Crystal
  • Metoda dynamicznego rozwoju systemów

Wśród nich, XP i SCRUM są najpopularniejsze.

Scrum

Scrum to framework, w ramach którego ludzie mogą rozwiązywać złożone problemy adaptacyjne, jednocześnie produktywnie i kreatywnie dostarczając produkty o najwyższej możliwej wartości. Jest używany do zarządzania projektami oprogramowania oraz rozwoju produktów lub aplikacji. Jego celem jest adaptacyjna strategia rozwoju produktu, w której zespół międzyfunkcyjny działa jako jednostka, aby osiągnąć wspólny cel w ciągu 2–4 tygodni (Sprint). Składa się z zestawu wartości, artefaktów, ról, ceremonii, zasad i najlepszych praktyk.

Framework Scrum

Lean

Lean wywodzi się z Systemu Produkcyjnego Toyoty, czyli TPS, który zrewolucjonizował produkcję dóbr materialnych w latach 50., 60. i później. Lean utrzymuje swoją pozycję w produkcji, ale znalazł również nowe zastosowania w pracy wiedzy, pomagając firmom w różnych branżach eliminować marnotrawstwo, poprawiać procesy i zwiększać innowacyjność. Rozwój oprogramowania jest naturalnym zastosowaniem metodologii Lean, ponieważ, podobnie jak produkcja, zazwyczaj podąża za określonym procesem, ma pewne zdefiniowane warunki akceptacji i skutkuje dostarczeniem namacalnej wartości. Kluczowe koncepcje, które kierują wszystkimi praktykami metodologii Lean, nazywamy Filary Lean. Są to:

  • Ciągłe doskonalenie
  • Szacunek dla ludzi
  • Lekkie przywództwo

Kanban

Kanban to wysoce wizualna metoda zarządzania przepływem pracy, która jest popularna wśród zespołów Lean. W rzeczywistości 83% zespołów praktykujących Lean korzysta z Kanban, aby wizualizować i aktywnie zarządzać tworzeniem produktów z naciskiem na ciągłe dostarczanie, nie obciążając przy tym zespołu deweloperskiego. Podobnie jak Scrum, Kanban jest procesem zaprojektowanym, aby pomóc zespołom współpracować bardziej efektywnie.

Kanban opiera się na 3 podstawowych zasadach:

  • Wizualizuj, co zrobisz dzisiaj (przepływ pracy): Widzenie wszystkich elementów w kontekście wzajemnym może być bardzo informacyjne
  • Ogranicz ilość pracy w toku (WIP): To pomaga zrównoważyć podejście oparte na przepływie, aby zespoły nie zaczynały i nie zobowiązywały się do zbyt dużej ilości pracy jednocześnie
  • Zwiększ przepływ: Kiedy coś jest skończone, następny element o najwyższym priorytecie z backlogu jest wprowadzany do gry

Kanban promuje ciągłą współpracę i zachęca do aktywnego, ciągłego uczenia się i doskonalenia poprzez definiowanie najlepszego możliwego przepływu pracy zespołu.

Metoda dynamicznego rozwoju systemów (DSDM)

DSDM to framework składający się z ośmiu zasad, cyklu życia oraz produktów, ról i odpowiedzialności oraz kilku technik najlepszych praktyk. Te zasady wspierają filozofię dostarczania strategicznie zharmonizowanych korzyści biznesowych tak wcześnie, jak to możliwe, aby zapewnić organizacji najlepszy możliwy zwrot z inwestycji (ROI).

DSDM to metodologia, która priorytetowo traktuje harmonogram i jakość nad funkcjonalnością, która ustala koszty, jakość i czas na początku i wykorzystuje metodę priorytetyzacji MoSCoW, która dzieli projekt na cztery różne typy wymagań:

  • Musi mieć (M)
  • Powinno mieć (S)
  • Może mieć (C)
  • Nie będzie mieć (W)

Istnieje osiem zasad wspierających DSDM Atern. Te zasady kierują zespołem w postawie, jaką muszą przyjąć, oraz w sposobie myślenia, który muszą przyjąć, aby dostarczać konsekwentnie.

  1. Skup się na potrzebach biznesowych
  2. Dostarczaj na czas
  3. Współpracuj
  4. Nigdy nie kompromituj jakości
  5. Buduj przyrostowo na solidnych fundamentach
  6. Rozwijać iteracyjnie
  7. Komunikować się ciągle i jasno
  8. Demonstrować kontrolę

Ekstremalne Programowanie

Ekstremalne Programowanie (XP), pierwotnie opisane przez Kenta Becka, stało się jedną z najpopularniejszych i najbardziej kontrowersyjnych metodologii Agile. XP to zdyscyplinowane podejście do szybkiego i ciągłego dostarczania oprogramowania wysokiej jakości. Ma na celu poprawę jakości oprogramowania i reaktywności w obliczu zmieniających się wymagań klientów. Promuje wysokie zaangażowanie klientów, szybkie pętle informacji zwrotnej, ciągłe testowanie, ciągłe planowanie i bliską współpracę zespołową, aby dostarczać działające oprogramowanie w bardzo krótkich odstępach czasu, zazwyczaj co 1–3 tygodnie.

Ekstremalne Programowanie Wyjaśnione

Jakie są kluczowe wartości metod Agile?

Termin „Agile” został wprowadzony w 2001 roku w Manifeście Agile. Manifest miał na celu ustanowienie zasad, które miałyby prowadzić do lepszego podejścia do rozwoju oprogramowania. Manifest Agile składa się z 4 ważnych wartości. Sposób odczytywania Manifestu Agile nie polega na tym, że elementy po prawej stronie nie mają już wartości, ale ruch Agile bardziej ceni elementy po lewej stronie.

Istnieją cztery kluczowe wartości, które są fundamentami każdego komponentu w podejściu Agile. Podkreślają one zmianę akcentu z praktyk i procesów na ludzi i współpracę.

Te cztery wartości informują o najlepszych praktykach Agile, koncentrując się na elastyczności, aby zespoły mogły najlepiej współpracować w realizacji zadań. Praktyki Agile podnoszą znaczenie końcowego celu w całym procesie. Jeśli ludzie mogą dobrze współpracować, dostosowywać się do nowych zmian i produkować, nie ma tak dużego znaczenia, jak to robią.

12 najlepszych praktyk

Uzupełniając Manifest Agile, Agile Alliance zdefiniowała również zestaw 12 podstawowych zasad, które dostarczają wskazówek i bardziej szczegółowych wyjaśnień oprócz Manifestu Agile:

Rozwój Agile — 12 najlepszych praktyk
  1. Naszym najwyższym priorytetem jest zaspokojenie klienta poprzez wczesne i ciągłe dostarczanie wartościowego oprogramowania.
  2. Witaj zmieniające się wymagania, nawet późno w procesie rozwoju. Procesy Agile wykorzystują zmiany dla konkurencyjnej przewagi klienta.
  3. Dostarczaj działające oprogramowanie często, od kilku tygodni do kilku miesięcy, z preferencją dla krótszego okresu.
  4. Osoby z biznesu i deweloperzy muszą współpracować codziennie przez cały projekt.
  5. Buduj projekty wokół zmotywowanych osób. Daj im środowisko i wsparcie, których potrzebują, i zaufaj im, że wykonają zadanie.
  6. Najbardziej efektywną i skuteczną metodą przekazywania informacji do zespołu deweloperskiego i w jego ramach jest rozmowa twarzą w twarz.
  7. Działające oprogramowanie jest podstawowym miernikiem postępu.
  8. Procesy Agile promują zrównoważony rozwój.
  9. Sponsorzy, deweloperzy i użytkownicy powinni być w stanie utrzymać stałe tempo w nieskończoność.
  10. Ciągła uwaga na doskonałość techniczną i dobry design zwiększa zwinność.
  11. Prostota – sztuka maksymalizacji ilości pracy, która nie została wykonana – jest niezbędna.
  12. Najlepsze architektury, wymagania i projekty powstają w zespołach samoorganizujących się. W regularnych odstępach czasu zespół zastanawia się, jak stać się bardziej efektywnym, a następnie dostosowuje swoje zachowanie odpowiednio.

Podsumowanie

Rozwój Agile to jedno z wielkich haseł w branży rozwoju oprogramowania, które jest innym sposobem zarządzania projektami rozwoju oprogramowania. Zamiast konkretnej metody rozwoju oprogramowania, jest to termin parasolowy dla zestawu metod i praktyk opartych na wartościach i zasadach wyrażonych w Manifeście Agile. Rozwiązania ewoluują poprzez współpracę między samoorganizującymi się, wielofunkcyjnymi zespołami, które wykorzystują odpowiednie praktyki w swoim kontekście.

Czytanie o Rozwoju Agile

Ten post dostępny jest również w Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *