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
Sztuczna inteligencja w wykrywaniu zagrożeń bezpieczeństwa IT
Cyberbezpieczeństwo to nie tylko zaawansowane technicznie systemy zabezpieczeń w dużych firmach czy wojsku. To także nasze prywatne bezpieczeństwo, walka z zagrożeniami i ich prewencja w codziennym życiu oraz wiedza o bezpiecznym korzystaniu z internetu. Adam Kowalski-Potok, nasz Seurity Engineer, opowiada jak AI i jej rozwój wpływa na wykrywanie zagrożeń w cyber security.
Budowanie systemów biznesowych z zastosowaniem generatywnej sztucznej inteligencji
Generatywne AI ma potencjał do automatyzacji zadań zajmujących dziś do 70% czasu pracowników. Dlaczego platforma OpenAI nie wystarczy do wykorzystania pełni tych możliwości? Przed nami artykuł Łukasza Cesarskiego i Marka Karwowskiego z Onwelo powstały na bazie prezentacji wygłoszonej podczas konferencji „Transformacje cyfrowe dla biznesu”.
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.
Sztuczna inteligencja w wykrywaniu zagrożeń bezpieczeństwa IT
Cyberbezpieczeństwo to nie tylko zaawansowane technicznie systemy zabezpieczeń w dużych firmach czy wojsku. To także nasze prywatne bezpieczeństwo, walka z zagrożeniami i ich prewencja w codziennym życiu oraz wiedza o bezpiecznym korzystaniu z internetu. Adam Kowalski-Potok, nasz Seurity Engineer, opowiada jak AI i jej rozwój wpływa na wykrywanie zagrożeń w cyber security.
Budowanie systemów biznesowych z zastosowaniem generatywnej sztucznej inteligencji
Generatywne AI ma potencjał do automatyzacji zadań zajmujących dziś do 70% czasu pracowników. Dlaczego platforma OpenAI nie wystarczy do wykorzystania pełni tych możliwości? Przed nami artykuł Łukasza Cesarskiego i Marka Karwowskiego z Onwelo powstały na bazie prezentacji wygłoszonej podczas konferencji „Transformacje cyfrowe dla biznesu”.