Agile - Redmine a Agile

Agile – zwinne techniki programowania

Zacznijmy może od wyjaśnienia terminu programowania zwinnego (z angielskiego agile software development), z którego wywodzi się Agile czyli pewien sposób pracy, który można przełożyć nie tylko na programowanie, ale również na inne biznesowe projekty. W najprostszym ujęciu chodzi w nim o to, że budując oprogramowanie na potrzeby danego projektu musimy wziąć pod uwagę, iż podczas jego trwania potrzeby klienta mogą się zmieniać i ewoluować. Wymaga to częstych kontroli wymagań klienta oraz sprawdzalności zastosowanych rozwiązań, i dotyczy to zarówno oprogramowania, jak i specyfikacji. Programowanie zwinne nastawione jest na szybkie tworzenie oprogramowania, przy jednoczesnym zachowaniu wysokiej  jego jakości. Wymaga to zgranej pracy zespołu i bardzo dobrej wewnętrznej komunikacji.

Nie w sposób w tym miejscu nie wspomnieć o najważniejszych założeniach Manifestu Agile, podkreślającego agilową metodykę pracy.

Wytwarzając oprogramowanie i pomagając innym w tym zakresie, odkrywa się lepsze sposoby wykonywania tej pracy. W wyniku tych doświadczeń przedkłada się:

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

Według Manifestu Agile docenia się to, co wymieniono po prawej stronie, jednak bardziej ceni się to, co po lewej.

źródło: https://pl.wikipedia.org/wiki/Manifest_Agile

Ważne są tu nie tylko cele końcowe, ale w szczególności cele poszczególnych faz realizacji projektu. Co więcej, poszczególne jego fragmenty konsultowane są z klientem w dość krótkich odstępach czasu (na przykład raz na tydzień). Dzięki temu zyskuje się pewność, że spotykają się one z satysfakcją klienta, jak również to one często bywają dla niego pewną wskazówką, jakie funkcjonalności są mu jeszcze w dalszym ciągu potrzebne.

Co ciekawe, w Agile stawia się nacisk na komunikację bezpośrednią (zebranie, wideokonferencja), bez tworzenia dużej ilości dokumentacji. Dodatkowo zespoły samodzielnie ustalają zadania poszczególnych członków, przyjmując jednocześnie całkowitą odpowiedzialność za realizację swoich celów. Jeśli zespół jest zgrany, ma to swoje dobre strony, gdyż każdy wie, jakie są silniejsze i słabsze strony danego członka, więc można przyjąć, że każdy zajmie się tym, na czym zna się najlepiej, a krytyczne problemy rozwiązywane będą wspólnie.

Reasumując, najważniejszymi cechami Agile są:

  • nacisk na jak największą satysfakcję klienta,
  • duża szybkość realizacji projektu,
  • częste kontrole poszczególnych faz oraz sprawdzania ich pod kątem realizacji oczekiwań klienta,
  • ciągłe dostosowywanie poszczególnych fragmentów do potrzeb klienta – na zasadzie elastyczności i rozwoju,
  • realizacja projektu sprawdzana jest kaskadowo/ narastająco – nie ma mowy o tworzeniu go całościowo,
  • konieczna jest dobra współpraca i komunikacja w zespole,
  • brak formalnej hierarchii zespołów,
  • nacisk na bezpośrednią komunikację i minimalizowanie dokumentacji.
Rating: 3.7/5. From 3 votes.
Please wait...

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *