Zwinne zarządzanie projektami – algorytm na sukces

Zwinne zarządzanie projektami

W czasach ogromnego rozwoju nauki i techniki, kiedy każdego dnia na całym świecie prowadzone są miliony projektów, a tylko ich część jest z powodzeniem zakończonych, człowiek nieustannie poszukuje algorytmu na sukces. Niektóre projekty kosztują więcej niż w początkowych szacunkach, inne przekraczają zakładany czas realizacji, a jeszcze inne zostają wstrzymane, zanim zostaną zakończone.W celu podnoszenia efektywności prowadzenia projektów powstały lub ciągle powstają metodyki, które mają być formą przewodnika pokazującego, w jaki sposób skutecznie kierować projektem.

Jedną z nich jest agile z ang. agile project management, czyli zwinne zarządzanie projektami. Przyjrzyjmy się każdemu z członów tego pojęcia, żeby lepiej zrozumieć całość.

Zacznijmy od zarządzania. Według Fayola zarządzanie działa poprzez pięć podstawowych funkcji: planowanie, organizowanie, koordynowanie, dowodzenie i kontrolowanie.

  • Planowanie – decydowanie o tym, co musi się wydarzyć w przyszłości i generowanie planów działania (podejmowanie decyzji z wyprzedzeniem)
  • Organizacja – zapewnienie, że zasoby są wprowadzane w życie.
  • Koordynowanie – tworzenie struktury, dzięki której można osiągnąć cele organizacji
  • Dowodzenie – ustalenie, co należy zrobić w sytuacji i nakłonienie ludzi, aby to zrobili
  • Kontrolowanie – sprawdzanie postępów względem planów

Przyjrzyjmy się projektowi

Projekt jest wyjątkowym, przejściowym przedsięwzięciem podejmowanym w celu osiągnięcia zaplanowanych celów, które można zdefiniować pod kątem wyników lub korzyści. Projekt jest zwykle uważany za sukces, jeśli osiąga cele zgodnie z kryteriami akceptacji, w uzgodnionym terminie i budżecie.

Czym w takim razie jest zarządzanie projektem?

Zarządzanie projektem to zastosowanie procesów, metod, wiedzy, umiejętności i doświadczenia w celu osiągnięcia celów projektu.

Kluczowym czynnikiem odróżniającym zarządzanie projektem od samego zarządzania jest to, że ma on końcowy rezultat i ograniczony czas, w przeciwieństwie do zarządzania, które jest procesem ciągłym. Z tego powodu właściciel projektu wymaga szerokiego zakresu umiejętności, często umiejętności technicznych, a na pewno umiejętności zarządzania ludźmi i dobrej świadomości biznesowej.

Podstawowe elementy zarządzania projektem to:

  • określenie przyczyny, dla której projekt jest konieczny
  • uchwycenie wymagań projektu, określenie jakości rezultatów, oszacowanie zasobów i ram czasowych
  • przygotowanie uzasadnienia biznesowego uzasadniającego inwestycję
  • zabezpieczenie korporacyjnej umowy i finansowania
  • opracowanie i wdrożenie planu zarządzania projektem
  • prowadzenie i motywowanie zespołu realizującego projekt
  • zarządzanie ryzykiem, problemami i zmianami w projekcie
  • monitorowanie postępu w stosunku do planu
  • zarządzanie budżetem projektu
  • utrzymywanie komunikacji z interesariuszami i organizacją projektu
  • zarządzanie dostawcami
  • zamknięcie projektu w kontrolowany sposób w razie potrzeby

Projekty są oddzielne od bieżących działań, które wymagają, aby ludzie tymczasowo spotykali się, aby skupić się na konkretnych celach projektu. W rezultacie efektywna praca zespołowa ma zasadnicze znaczenie dla udanych projektów.

Jakie są cele zarządzania projektem?

Zarządzanie projektem ma zasadniczo na celu stworzenie produktu końcowego, który spowoduje pewne zmiany z korzyścią dla organizacji, która zainicjowała projekt. Jest to inicjacja, planowanie i kontrola szeregu zadań wymaganych do dostarczenia tego produktu końcowego. Projekty wymagające formalnego zarządzania mają na celu:

  • stworzyć coś nowego lub zmienionego, namacalnego lub niematerialnego
  • mieć skończony przedział czasowy: określony początek i koniec
  • prawdopodobnie będą złożone pod względem pracy lub zaangażowanych grup
  • wymagać zarządzania zmianą
  • wymagać zarządzania ryzykiem

Inwestycja w efektywne zarządzanie projektem przyniesie szereg korzyści takich jak:

  • zapewnienie większego prawdopodobieństwa osiągnięcia pożądanego rezultatu
  • zapewnienie efektywnego i najlepszego wykorzystania zasobów
  • zaspokajanie różnych potrzeb interesariuszy projektu

Co to znaczy programowanie zwinne?

Jednym ze sposobów kierowania projektami jest agile. Należy ono do grupy metod wytwarzających oprogramowanie oparte na programowaniu iteracyjno-przyrostowym. Metoda powstała jako alternatywa do tradycyjnych metod typu waterfall (metody kaskadowe), które polegają na wykonywaniu podstawowych czynności jako odrębnych faz projektowych, w porządku jeden po drugim.

Fazy modelu waterfallRys. 1. Fazy modelu waterfall

W odróżnieniu od modelu kaskadowego zwinne programowanie opiera się na:

  • szybkim wytwarzaniu oprogramowania w celu osiągnięcia satysfakcji
  • stałym okresowym dostarczaniu rezultatów pracy
  • pracy na działającym oprogramowaniu
  • dokonywaniu zmian w dowolnym etapie projektu
  • nieustannej współpracy pomiędzy biznesem a deweloperem
  • bezpośrednim kontakcie jako najlepszej formie komunikacji w zespole i poza nim
  • ciągłej uwadze nastawionej na aspekty techniczne oraz dobry projekt (design)
  • prostotą;
  • samozarządzalności zespołów
  • regularnej adaptacji do zmieniających się wymagań

W zwinnym rozwoju czas jest ustalany, a zakres może być przenoszony z jednej iteracji do drugiej w oparciu o postępy użytkowników w zespole. Metodologia zwinna jest najlepiej stosowana, gdy wymagania nie są dobrze określone.

Elementy charakterystyczne:

  • wykres spalania (ang. burn down chart) – graficzny widok pozostałej ilości pracy do czasu w iteracji. Zaległości projektu lub godziny można wyrazić na osi pionowej, a czas jest wskazany na osi poziomej. Wykres wypalania jest często używany do określenia, kiedy prace zostaną zakończone w projekcie lub iteracji
  • epik (ang. epic) można zdefiniować jako część pracy, która ma jeden wspólny cel. Może to być funkcja, żądanie klienta lub wymagania biznesowe. W zaległości jest to symbol zastępczy dla wymaganej funkcji z kilkoma liniami opisu. Mówi zwięźle o ostatecznym wyniku potrzeb użytkowników. Te szczegóły są zdefiniowane w historii użytkowników (ang. user story)
  • historyjki (ang. user story) to zwinna wersja wymagań projektu. Historia użytkownika składa się z listy zdań, które określają, kto, co i dlaczego dla danego wymagania i mogą być udokumentowane na kartach indeksowych lub notatkach. Historie użytkowników są pisane przez użytkownika biznesowego w celu informowania o potrzebach lub potrzebach oprogramowania. Historie użytkowników mają być zwięzłe, ponieważ komunikacja między biznesem a zespołem programistycznym jest wykorzystywana do opracowania historii użytkownika i opracowania działającego oprogramowania
  • story points są jednostką miary wyrażającą szacunek ogólnego nakładu pracy, który będzie wymagany do pełnego wdrożenia elementu zaległości produktu lub jakiejkolwiek innej pracy
  • iteracja wiąże się z iteracyjną koncepcją rozwoju oprogramowania, która ustanawia krótki czas na dostarczenie zestawu funkcji oprogramowania lub historii użytkowników. Każda iteracja obejmuje typowe działania związane z waterfall takie jak analiza, projektowanie, rozwój i testowanie, ale są one przedzielone czasem w ramach jednego do czterech tygodni. Po zakończeniu iteracji postęp jest sprawdzany z klientem biznesowym, a zalecane zmiany mogą zostać włączone do przyszłych iteracji
  • wydanie (ang. release) to zestaw działającego oprogramowania dostarczonego klientowi biznesowemu w wyniku zestawu iteracji. Podczas planowania wydania, zespoły będą sprawdzać zaległości produktu, aby uporządkować historie użytkowników w konkretnych wydaniach i iteracjach, które dostarczają klientowi biznesowemu funkcjonalny produkt

Jednym z najbardziej popularnych sposobów realizacji zwinnego podejścia do produkcji oprogramowania jest scrum. Jest on nazywany ramą metodyczną lub strukturą, wokół której organizuje się praca. Przyjrzymy mu się bliżej w kolejnym artykule!

Autor: Robert Wołos – scrum developer ODI w Onwelo. Interesują go nowości technologiczne i aplikacje na Androida, które tworzy w wolnym czasie. Jeśli masz ciekawy problem z obszaru hurtowni danych lub ETL (Data Stage, ODI), Robert chętnie pomoże 🙂

Dodaj komentarz

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