Agile - kiedy i dlaczego warto go stosować w projektach IT?

Czym jest Agile? - W skrócie 

Agile - metodologia w pracy w projekcie, która opiera się na “zwinności” (agile - po polsku tłumaczone jako “zwinne oprogramowanie”). Agile polega na tym, aby stworzony projekt pozwalał osiągać oczekiwane rezultaty, przy jednocześnie mniejszym nakładzie zespołu. Kładzie nacisk na samoorganizację w projekcie, planowanie adaptacyjne, ciągłe zmiany, szybkie dostarczanie efektów i elastyczny rozwój.  

Agile w praktyce

Wyobraźmy sobie następującą sytuację: Mamy świetny pomysł na aplikację mobilną, wszystko wydaje się przemyślane, wybrany został software house, który miałby wykonać projekt, nic tylko zaczynać. Jednak aplikacja to Twoje “dziecko” i chciałbyś móc doglądać postępów prac i upewnić się, że na pewno wszystko jest wykonywane tak jak należy.

Dlatego zanim przystąpimy do rozpoczęcia prac warto zastanowić się, które podejście do prowadzenia projektów będzie najbardziej odpowiednie:.

Istnieją dwa najbardziej popularne podejścia do wytwarzania oprogramowania:

  • Klasyczne zwane też waterfallowym
  • Zwinne

Wykonywanie projektów w podejściu klasycznym znane jest od lat i można wydzielić tutaj trzy fazy:

  • Planowanie
  • Wykonanie
  • Dostarczenie

W dużym skrócie, na początku poświęcamy bardzo dużo czasu na analizę i planowanie projektu - zastanawiamy się nad wszystkimi funkcjonalnościami projektu, nad możliwymi przypadkami, tym co może pójść nie tak oraz, co w jakim momencie musi się wydarzyć aby wykonać projekt na czas. Wszystkie możliwe scenariusze zostaną przemyślane i zaplanowane. 

W zależności od złożoności i długości projektu planowanie może trwać kilka dni, tygodni albo miesięcy. Następnie przechodzimy do fazy wykonania, która trwa odpowiednio długo, a na koniec widzimy efekty prac.

Jakiś czas temu w przypadku branży IT zauważono, że to podejście do wytwarzania oprogramowania się nie sprawdza ze względu na zmieniające się wymagania, potrzeby rynku czy chociażby technologii i to, co w trakcie planowania było aktualne, w przypadku gdy projekt był dostarczony już takim często nie było. Wtedy też zaczęło się naradzać zwinne podejście do wytwarzania produktu oparte na transparencji, inspekcji i adaptacji (dzisiejszych filarach Scruma), czyli dostarczamy często, w małych paczkach, odstępach czasu i sprawdzamy czy to, co wykonaliśmy jest faktycznie tym, czego rynek/klient potrzebuje.

Kiedy stosować Agile w projektach IT? 

Nie jest tak, że jedno podejście jest lepsze, a drugie gorsze. Wszystko zależy od wielu czynników, który sposób wytwarzania oprogramowania będzie się bardziej w naszej sytuacji sprawdzał.

Skąd jednak wiedzieć, jaki rodzaj podejścia do projektu będzie odpowiedni? Stacey Model przychodzi z odpowiedzią.

Ralph D. Stacey był brytyjskim profesorem zarządzania na uniwersytecie Hertfordshire, najbardziej znanym z jego teorii zarządzania organizacjami. Zestawiając ze sobą wymagania i znajomość technologii stworzył model do klasyfikacji zagadnień.

Zaczynając projekt ważne jest by wiedzieć co musi być zrobione i jak to zrobić. W zależności od poziomu niepewności obu czynników - wymagań(co) i technologii(jak), Stacey pogrupował zagadnienia na 4 różne segmenty:

  • Łatwe - zakres jest dobrze opisany i wiemy jak je zrobić(jakiej technologii użyć). Z doświadczonym zespołem i dobrym planem możemy zaczynać od razu. Tak działają wszystkie tradycyjne podejścia waterfallowe (co nie znaczy, że podejście zwinne się tutaj nie sprawdzi)

  • Skomplikowane - zakres nie tak jasny, należy go doprecyzować, przemyśleć i zaplanować, jednak po tych krokach można działać. Duży i dokładny planning jest potrzebny jeśli chcemy pracować w klasycznym podejściu.. Gdy nie mamy miesięcy na planowanie prac - podejście zwinne do rozwoju produktu będzie jak najbardziej odpowiednie

  • Kompleksowe/złożone - z dużą dozą niewiadomych: zakresu i technologii(co i jak zrobić). Dodatkowo zmieniające się wymagania wchodzą w grę a z tym zmienia się też poziom wiedzy, jak wykonać poszczególne zadania. Dowiadujemy się jakie są wymagania i jak jak na nie odpowiedzieć w momencie ich wykonywania. Podejście zwinne jest tutaj najlepszym rozwiązaniem.

  • Chaotyczne - tak zwany YOLO development. Nie mamy informacji o wymaganiach i jak sobie z nimi poradzić Dodatkowo.nie wiemy czego zupełnie się spodziewać, błądzimy(zarówno my jak i klient). Ponownie, podejście zwinne będzie tutaj najlepszym rozwiązaniem jako że adaptacyjne i innowacyjne podejście wydaje się być jedynym sposobem w jaki należy ugryźć ten problem (inspect + adapt)
agile model do klasyfikacji zagadnień

To daje dość oczywistą odpowiedź dlaczego tak popularne w ostatnich latach jest w software house’ach zwinne podejście do wytwarzania oprogramowania. 

Stacey model wprost sugeruje by być najbardziej efektywnym należy odpowiadać na zmiany.

Z naszego doświadczenia w Qarbon IT wynika, że nawet projekty, które można określić jako “łatwe” według powyższego podziału, w szybko zmieniającym się świecie wymagają zmian i usprawnień, na które agile-owe podejście idealnie odpowiada.

Mam nadzieję, że ten post pomógł rozwiać parę wątpliwości lub pozwolił zrozumieć dlaczego zwinne podejście może być wartościowe dla Twojego produktu.

Jeśli jednak dalej nie jesteś pewny do jakiego segmentu można by przydzielić Twój projekt, odezwij się do nas - pomożemy.

kliknij tutaj aby skontaktować się z nami

Content

Got a project?

Let's talk!

__wf_zastrzeżone_dziedziczyć
Business
Business
Profesjonalna aplikacja dla firmy - 10 wskazówek
arrow icon
5.12.2023
7 min czytania
Business
Business
Doradztwo IT - korzyści dla Twojej firmy
arrow icon
3.21.2023
6 mi czytania
IT
How to get started in IT?
arrow icon
3.6.2023
7 min read
IT
WEB3 - What is it? Introduction
arrow icon
2.21.2023
4 min read
Code
Code
Czy MobX to dobra alternatywa dla Redux?
arrow icon
2.1.2023
3 min czytania
UX/UI
UX/UI
UX Design - przewodnik dla programistów
arrow icon
1.30.2023
4 min czytania
Code
Code
Podstawy React’a - stan i hook useState
arrow icon
1.26.2023
5 min czytania
Startup
Startup
Startup - z jaką firmą IT współpracować?
arrow icon
12.20.2022
11 min czytania
Business
Business
Najlepszy kraj do outsourcingu IT
arrow icon
12.12.2022
4 min czytania
Business
Business
Jak zmienić firmę programistyczną?
arrow icon
12.2.2022
4 min czytania
Business
Business
Outsourcing IT- kompletny PRZEWODNIK!
arrow icon
11.28.2022
3 min czytania
Business
Business
Team Augmentation - Korzyści!
arrow icon
11.23.2022
9 min czytania
Business
Business
W co inwestować pieniądze w 2021 roku?
arrow icon
11.21.2022
3 min czytania
Business
Business
Praca w różnych strefach czasowych. Jak to działa?
arrow icon
11.18.2022
7 min czytania
Startup
Startup
Co to jest startup? (Nowoczesne Przedsiębiorstwo)
arrow icon
11.17.2022
6 min czytania
Business
Business
Co to jest outsourcing pracowników IT i ILE kosztuje
arrow icon
11.14.2022
5 min czytania
IT
IT
Jak stworzyć aplikację mobilną?
arrow icon
11.11.2022
5 min czytania
IT
IT
Jak testują programiści?
arrow icon
11.10.2022
2 min czytania
Code
Code
Rust to przyszłość Server Side
arrow icon
11.8.2022
1 min czytania
Code
Code
Dlaczego nie jestem fanem TypeScript
arrow icon
11.7.2022
3 min czytania
Business
Business
Jak wybrać firmę programistyczną? Czym się kierować?
arrow icon
11.6.2022
7 min czytania
UX/UI
UX Design - a guide for programmers
arrow icon
1.18.2023
4 min read
Business
Team Augmentation- Benefits!
arrow icon
1.4.2023
11 min read
Business
How to choose a programming company?
arrow icon
12.22.2022
8 min read
IT
How do programmers test?
arrow icon
12.18.2022
2 min read
IT
How to find good programmers?
arrow icon
12.15.2022
4 min read
Startup
What is a startup?
arrow icon
12.7.2022
7 min read
Code
Rust is the future of Server Side
arrow icon
12.1.2022
1 min read
IT
How to make a mobile app?
arrow icon
11.30.2022
5 min read
Business
How to work in various time zones?
arrow icon
11.27.2022
7 min read
We use cookies. By continuing to browse the site you are agreeing to our privacy policy.