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.
Rys. 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 🙂
Zostaw komentarz
Polecamy
Data & Analytics – architektura systemów jutra
Jaka jest historia inżynierii danych? Jak przebiegał rozwój technologii i na jakie trendy zwraca obecnie uwagę świat? Marek Kozioł, Data Solution Architect i Arkadiusz Zdanowski, Cloud Data Engineer & Team Leader w Onwelo opowiedzieli o tych zagadnieniach podczas konferencji „Transformacje cyfrowe dla biznesu”. Zapraszamy do lektury artykułu przygotowanego na bazie tego wystąpienia.
Kompleksowa realizacja infrastruktury cloud przy użyciu praktyk DevOps
Transformacja cyfrowa dla biznesu to zmiana sposobu myślenia o zarządzaniu i rozwijaniu systemów IT. Zapraszamy do lektury artykułu Pawła Kalarusa i Sebastiana Frankiewicza, którzy szerzej opisują temat zaprezentowany podczas marcowej konferencji Onwelo.
Czym jest brand hero i jak może pomóc marce?
Mały Głód, Serce i Rozum, ludzik Michelin – jako brand hero reprezentują oni swoje marki. W tym roku dołączył do nich Onwelek, nasz własny brand hero. Dowiedz się, czym jest brand hero, jakie pełni funkcje i jak przebiega jego kreacja!
Data & Analytics – architektura systemów jutra
Jaka jest historia inżynierii danych? Jak przebiegał rozwój technologii i na jakie trendy zwraca obecnie uwagę świat? Marek Kozioł, Data Solution Architect i Arkadiusz Zdanowski, Cloud Data Engineer & Team Leader w Onwelo opowiedzieli o tych zagadnieniach podczas konferencji „Transformacje cyfrowe dla biznesu”. Zapraszamy do lektury artykułu przygotowanego na bazie tego wystąpienia.
Kompleksowa realizacja infrastruktury cloud przy użyciu praktyk DevOps
Transformacja cyfrowa dla biznesu to zmiana sposobu myślenia o zarządzaniu i rozwijaniu systemów IT. Zapraszamy do lektury artykułu Pawła Kalarusa i Sebastiana Frankiewicza, którzy szerzej opisują temat zaprezentowany podczas marcowej konferencji Onwelo.