Powrót do wiedza

Czym jest Agile?

Agile jest odpowiedzią na dawne metodyki wytwarzania oprogramowania typu Waterfall. Jak to kiedyś wyglądało? Zaczynając projekt, określano czas jego trwania - dajmy na to rok. Pracując w tym systemie, program był gotowy dopiero po roku, bo w czasie jego trwania...

Agile jest odpowiedzią na dawne metodyki wytwarzania oprogramowania typu Waterfall. Jak to kiedyś wyglądało? Zaczynając projekt, określano czas jego trwania - dajmy na to rok. Pracując w tym systemie, program był gotowy dopiero po roku, bo w czasie jego trwania żaden z elementów nie był gotowy. Który klient by dziś to wytrzymał - nie wiemy. Właśnie dlatego tak popularny stał się Agile!

Czym jest Agile i jak to wykorzystać w biznesie?

Manifest Zwinnego Wytwarzania Oprogramowania powstał w 2001 roku. Opisuje on zasady, jakimi kierowali się ludzie, poszukujący nowych metod programowania.Manifest Agile zaczyna się od wyszczególnienia wartości, a następnie podaje 12 zasad, określających ramy pracy nad programami i współpracy między członkami zespołów.

Według Manifestu Agile:

Ludzi i interakcje są ważniejsi od procesów i narzędzi

Działające oprogramowanie jest ważniejsze od szczegółowej dokumentacji

Współpraca z klientem jest ważniejsza od negocjacji umów

Reagowanie na zmiany jest ważniejsze od realizacji założonego planu.

Najbardziej charakterystycznymi cechami filozofii Agile jest dążenie do zadowolenia klienta i ciągła gotowość na zmiany jego wymagań; wytwarzanie wartościowego oprogramowania, którego kolejne części dostarcza się regularnie i często. Agile zakłada także ścisłą i nieustanną współpracę ludzi “od biznesu” z programistami. By zacząć pracować Agile’owo, trzeba mieć zaufany zespół i inwestować w jego rozwój oraz wspierać rozwój i umożliwiać działanie. Zespół powinien ewaluować swoją pracę i wdrażać wypracowane wnioski. Agile stawia także na kontakt face-to-face, co w czasie komunikatorów internetowych jest powrotem do dawnych, prostych rozwiązań - bo przecież na żywo najłatwiej się porozumieć i “dogadać” - gdy widzimy twarz rozmówcy i możemy lepiej odczytać jego intencje. Wszystko to prowadzi do wytwarzania wartościowego oprogramowania.

Agile oznacza “zwinny”. Twórcy Agile stwierdzili, że pracę należy dzielić na mniejsze elementy czy podprojekty, a następnie po kolei je “dowozić” czyli realizować. Agile zakłada także nieustanne, zwinne dostosowywanie się do sytuacji i pracę w iteracjach (cyklach). Po każdym krótkim (np. miesięcznym) cyklu można zaprezentować jakiś element, funkcjonalność czy wersję produkcyjną programu klientowi lub użytkownikom, by zebrać od nich informacje zwrotne, czyli feedback. W przypadku Waterfallu było by to niemożliwe.

Jak wdrożyć Agile do pracy zespołu, by zacząć pracować zwinnie?

  • Zmień mindset. Na początku trzeba zmienić nastawienie i przekonania. Jak to zrobić? Posłuż się historiami sukcesu i case studies innych firm,i pokaż korzyści.
  • Wybierz metodologię. Istnieje wiele metodologii Agile, spośród których musisz wybrać jedną dla siebie. Najpopularniejszymi sąScrum, Kanban czy Lean Startup.
  • Zainwestuj w ludzi. W trakcie tak dużych zmian w organizacji pracy przyda się wsparcie Scrum Mastera. Przeznacz środki na wyszkolenie Twoich ludzi lub zatrudnij doświadczonego Scrum Mastera, który wdroży nowy sposób pracy i poprowadzi zespół.

Pozycje i role w Agile

Trudno mówić o pozycjach i rolach w Agile, gdyż Agile jest sposobem pracy, zgodnym z Manifestem Agile. Na Agile oparte zostały różnorodne metodologie (takie jak Scrum) i to one opisują i dokonują podziału na pozycje i role. Przykładowo, w Scrumie wygląda to następująco:

Role w Scrum:

  • Interesariusze (Stakeholders) – to oni określają potrzeby i oczekiwania względem produktu.
  • Product owner, PO (właściciel produktu) – to jeden z interesariuszy, odpowiedzialny za rozwój produktu. Tworzy jego wizję i zarządza budżetem. Product owner powinien posiadać wiedzę biznesową na temat realiów rynkowych, a także samego produktu i jego użytkowników. Powinien być także osobą decyzyjną. Product owner nie jest programistą.
  • Development team (zespół programistów) –  Idea Scrum jest taka, by w zespole funkcjonował dobry przepływ informacji. Zespół nie może być więc zbyt liczny. Ile osób może liczyć team Scrumowy? Powinien być tak duży, aby wystarczyły na niego dwie duże pizze. Innymi słowy od 3 do 8 osób. Członkowie zespołu powinni przyjąć te same wartości, które pomogą im w realizacji wspólnego celu: zaangażowanie, odwagę, skupienie, otwartość i poszanowanie. W Scrumie określamy wszystkich mianem developerów, bez względu na specjalizację i aktualnie realizowane zadania. Zespół powinien sam się organizować i posiadać wszystkie umiejętności, potrzebne do zbudowania produktu.
  • Scrum Master (Mistrz Scrum) -tak zwany “służalczy kierownik”. Powinien mieć doświadczenie w pracy w Scrumie. Jest mistrzem ceremonii, facilituje procesy, usuwa przeszkody, dba o to, by zespół programistów miał komfort pracy. Nie zarządza zespołem, ale procesem.
  • Scrum Team (Zespół Scrum) – w jego skład wchodzą zespół deweloperski, Scrum Master i Product Owner.

Jakie korzyści odnosi firma dzięki metodyce Agile?

Agile daje firmie większą przewidywalność i transparentność: w każdej chwili wiadomo bowiem, kto, nad czym i po co pracuje. W zespołach interdyscyplinarnych notuje się większe zaangażowanie w pracę, bo ich członkowie mają większy wpływ na to co robią. Agile nie został stworzony do obniżania kosztów, ale przy lepiej pracującej organizacji często i ten element zaczyna się korzystniej układać. Firma pracująca w Agile może liczyć na lepsze relacje z klientem, który jest informowany o tym, co się dzieje i ma wgląd w postęp prac oraz możliwość podania swoich uwag.

Agile pojawia się również w trakcie kursu programowania w Codecool - praktycznie od samego początku pracujemy z naszymi studentami właśnie w ten sposób! Każdy tydzień zaczyna się od fazy planowania, następnie wykonania, sprint kończy się w piątek prezentacją przed klientem i retrospektywą.

Podsumowanie

Czy Agile jest po to, by klient był bardziej zadowolony, czy po to, aby ludziom lepiej się pracowało? Obie odpowiedzi są poprawne. Agile zrewolucjonizował sposób pracy wielu firm i już dawno wyszedł poza firmy zajmujące się tylko wytwarzaniem i rozwijaniem oprogramowania.

 

 

Udostępnij