Plama
Metody realizacji projektów

Zamawiając oprogramowanie warto zdawać sobie sprawę z tego, w jaki sposób będzie przebiegała realizacja naszego projektu. W zależności od projektu oraz firmy, która zajmie się jego realizacją, proces ten może różnić się. W przypadku projektów informatycznych wyróżniamy dwie główne metodyki prowadzenia projektów: model kaskadowy (waterfall) i Agile. Z poniższego wpisu dowiesz się, czym się różnią i jak zdecydować, który będzie lepszy dla Twojego projektu.

Metody realizacji projektów
To w jaki sposób będzie realizowany nasz projekt będzie miało wpływ na nasze zaangażowanie w proces tworzenia oprogramowania.

Model kaskadowy

Model kaskadowy zwany też waterfall’em powstał w obszarze przemysłu i produkcji. Natomiast pierwszy raz w kontekście oprogramowania został opisany w 1956 roku.

Jak działa?

Waterfall opiera się na realizowaniu kolejnych etapów projektu po sobie. Realizację projektu w modelu kaskadowym rozpoczynamy od zebrania wymagań biznesowych. Podczas tego etapu bardzo ważne jest Twoje zaangażowanie – to w tym momencie poznajemy Twoje potrzeby – jest to kluczowe dla kształtu przyszłego rozwiązania. Kolejnym etapem jest faza analizy – opisujemy wtedy tworzone oprogramowanie i jego funkcjonalności. Po analizie następuje projektowanie, podczas którego powstają makiety oraz projekt graficzny. Po zaakceptowaniu projektu przystępujemy do programowania, a następnie testujemy stworzoną aplikację. Kiedy aplikacja pomyślnie przejdzie testy – wdrażamy ją i zajmujemy się jej utrzymaniu.

Zalety

Jedną z największych zalet waterfall’a jest jego niezmienność – dzięki temu, że wszystkie wymagania dotyczące tworzonego rozwiązania są udokumentowane przed programowaniem, od samego początku prac wiemy wszystko o oprogramowaniu, które tworzymy.

Wady

Główna wada modelu kaskadowego jest poniekąd pochodną jego największej zalety – jest nią sztywność takiego sposobu prowadzenia projektu. Waterfall jest metodyką, która po zaakceptowaniu dokumentacji projektu nie zakłada zmian w projekcie. Z tego powodu model kaskadowy jest obarczony wysokim ryzykiem, związanym z faktem, że na początku projektu, nasze potrzeby i problemy mogą być zbyt niesprecyzowane, aby gotowy produkt przynosił wartość.

Kiedy warto?

Waterfall jest bardzo korzystnym modelem w projektach w których od samego początku wiemy co i jak chcemy zbudować. Zazwyczaj są to popularne rozwiązania takie jak strony internetowe, blogi czy sklepy internetowe. Takie rozwiązania charakteryzują się pewnego rodzaju powtarzalnością, dlatego nie wiąże się z nimi ryzyko wynikające z wdrażaniem czegoś po raz pierwszy.

Zarządzanie projektem waterfall
Najprościej rzecz ujmując, zarządzanie projektami typu waterfall jest sekwencyjnym, liniowym procesem zarządzania projektami.

Agile

Uznaje się, że Agile – zwinne zarządzanie projektami – powstał w 2001 roku. To właśnie wtedy powstał Manifest Agile. Jest to dokument, który opisuje podstawowe wartości zwinnego programowania.

Jak działa?

Podstawowe cztery zasady Agile tak zostały opisane w manifeście:

“W wyniku naszej pracy, zaczęliśmy bardziej cenić:

  • Ludzi i interakcje od procesów i narzędzi
  • Działające oprogramowanie od szczegółowej dokumentacji
  • Współpracę z klientem od negocjacji umów
  • Reagowanie na zmiany od realizacji założonego planu.

Oznacza to, że elementy wypisane po prawej są wartościowe, ale większą wartość mają dla nas te, które wypisano po lewej.”

Agile opiera się przede wszystkim na szybkim dostarczaniu działającego oprogramowania, które odpowiada tylko na najbardziej kluczowe potrzeby. Takie podejście zyskuje coraz większą popularność ze względu na coraz szybciej zmieniający się świat technologii w którym reagowanie na zmiany stanowi ważny element. Agile stawia na ciągłą współpracę z klientem w celu bieżącej priorytetyzacji elementów projektu, tak aby te najważniejsze były rozwijane jako pierwsze. Ważną cechą Agile’a jest fakt, że oprogramowanie jest w nim dostarczane w sposób iteracyjny – to znaczy, że wdrażamy małe, ale wartościowe elementy aplikacji regularnie, zamiast po długim okresie programowania wdrożyć kompletną aplikację.

Zalety

Niewątpliwym plusem korzystania z metodyk agile’owych jest ich elastyczność oraz otwartość na zmiany. Dzięki temu rozwiązanie, które tworzymy może często zmieniać specyfikację, tak aby brać pod uwagę nowe czynniki związane z jego przeznaczeniem. Zwinne zarządzanie projektami pozwala również na większą kontrolę nad projektem oraz, bardzo często, na rozwiązanie problemu wykonując mniej skomplikowane rozwiązanie.

Wady

Największe wady Agile’a są powiązane z tym, że, zwłaszcza na początku projektu, nie da się precyzyjnie określić kształtu finalnego produktu. W konsekwencji mogą występować trudności w planowaniu w dłuższym terminie, ograniczona dokumentacja oraz trudności w empirycznym pomiarze postępu projektu.

Kiedy warto?

Z metodologii zwinnych warto korzystać wtedy, kiedy rozwiązujemy złożone problemy, lub nie możemy określić dokładnie wymagań dotyczących aplikacji. Jest to sposób prowadzenia projektu, który wymaga od klienta stałego zaangażowania w proces tworzenia aplikacji, dlatego warto zastanowić się czy możemy regularnie poświęcać czas na współpracę z zespołem, ponieważ jest to kluczowe dla powodzenia projektu.

Praca w sprintach.
Praca wykonywana jest w krótkich cyklach zwanych sprintami, a zespół spotyka się codziennie, aby omówić bieżące zadania i wszelkie przeszkody, które wymagają usunięcia.

Który sposób wybrać?

Nie istnieje złota rada dotycząca tego, kiedy wybrać tradycyjny waterfall, a kiedy skorzystać z metodyk zwinnych. Warto przeanalizować jakie są nasze możliwości czasowe związane z projektem, a także oczekiwania w stosunku do niego. W zależności od tego – skorzystajmy ze sposobu do którego nam bliżej. Warto też pamiętać o tym, że zwykle, aby dana metodyka zadziałała poprawnie trzeba skorzystać z odpowiedniego modelu rozliczania projektu.

Skontaktuj się z nami aby poznać naszą ofertę dla Twojego pomysłu. Dobierzemy sposób pracy do potrzeb Twojego projektu!

Kategorie
Inne posty