goodfirms LOGO Created with Sketch.







Zarządzanie projektami – najlepsze metody

03
Kwiecień
2020
Karolina Sobera
10 minutczytania
Udostępnij

napis

 

Zarządzanie projektami ma na celu organizację i optymalizację procesów tworzenia oprogramowania. W przeszłości wiele firm IT nie zdawało sobie sprawy jak duże znaczenie ma zarządzanie projektami, a nawet nie posiadało takich specjalistów jak Project Manager. Zasadniczo firma opierała się na programiście lub zespole programistów i kliencie. To oni komunikowali się oni ze sobą, omawiali wymagania, przepływ pracy itp.

Taka organizacja pracy miała wiele wad, ponieważ programiści musieli radzić sobie z wieloma procesami zamiast wykonywać bezpośrednie kodowanie zadań. W rezultacie stanęli w obliczu przeciążenia pracą, niskiej wydajności i przekraczania terminów.

Branża IT słynie z zamiłowania do optymalizacji procesów biznesowych, dlatego wiele firm zajmujących się inżynierią oprogramowania opracowało kilka metod zarządzania projektami w celu zastąpienia modelu „programista-klient”.

Mimo że dziś sytuacja jest inna, klienci firm tworzących oprogramowanie nie wiedzą, jakie podejście do zarządzania procesem rozwoju PM pasuje do ich przypadku najlepiej. Jeśli więc jesteś właścicielem firmy lub startupu, ten artykuł jest dla Ciebie, bo zawiera wiele cennych informacji o najpopularniejszych technikach i metodach zarządzania projektami oraz o tym, kiedy z nich korzystać.

CO TO JEST METODOLOGIA ZARZĄDZANIA PROJEKTAMI?

 

project management

Metodologia zarządzania projektem to sposób organizacji procesu opracowywania oprogramowania przy użyciu zestawu zasad, wytycznych, narzędzi, kanałów komunikacji itp. Ponieważ każda metodologia opiera się na określonym zestawie zasad, ważne jest, aby wybrać właściwy sposób spełnienia wymagania klienta.

Istnieje wiele różnych metod organizacji projektów do wyboru. Początki powszechnie stosowanych nowoczesnych metodologii zarządzania projektami sięgają lat 1980-1990. Fakt, że wciąż istnieją pokazuje ich niezaprzeczalną wartość i wkład w jakość oprogramowania.

ZARZĄDZANIE PROJEKTAMI - LISTA NAJCZĘŚCIEJ UŻYWANYCH METODOLOGII PM

Powodem, dla którego metodologie te z powodzeniem istnieją także dzisiaj jest fakt, że obejmują one zarówno tradycyjne metodologie oparte na planach, jak i strategie zorientowane na zmiany. Sprawia to, że są elastyczne. Chociaż różnią się stylem pracy i kluczowymi funkcjami, wszystkie koncentrują się na zapewnieniu wysokiej jakości rezultatu.

1. Metodologia zwinnego zarządzania projektami

Agile to metodologia projektów informatycznych, która przede wszystkim zapewnia elastyczność. Koncentruje się przede wszystkim na spełnianiu stale zmieniających się wymagań i ciągłym doskonaleniu pracy. Takie podejście do organizacji projektów pozwala podzielić złożony projekt na małe zadania programistyczne i krótkie cykle (sprinty). Zwykle na projekt przypadają trzy do pięciu sprintów. Na koniec każdego sprintu zespół ponownie ocenia wykonaną pracę i w razie potrzeby ustala nowe priorytety rozwoju w oparciu o wyniki. Co oferuje metoda Agile klientom:

  • zespół jest zawsze w kontakcie z klientem i jest gotowy do przekazywania raportów o postępach, otrzymywania informacji zwrotnych i spełnienia nowych wymagań,
  • klient może aktywnie uczestniczyć w procesie rozwoju, dlatego kontrola projektu wzrasta z powodu częstych spotkań zespołu i klienta,
  • możliwość zmiany wymagań na dowolnym etapie procesu rozwoju,
  • wyższa jakość produktu dzięki ciągłemu planowaniu i testowaniu,
  • specjalne narzędzia PM (Jira, Trello itp.), które zapewniają przejrzystość każdego procesu roboczego,
  • wydajne zarządzanie ryzykiem dzięki ciągłemu planowaniu, częstemu raportowaniu wyników i lepszemu dostosowaniu do potrzeb klientów zgodnie z ich opiniami,
  • szybszy zwrot z inwestycji ze względu na wczesne rozpoczęcie procesu programowania, krótkie cykle dostaw oraz pełne zrozumienie biznesu i priorytetów klientów.

 

Uwaga: Metodologia zwinna jest również terminem ogólnym dla szeregu elastycznych, wąsko ukierunkowanych platform PM, które zostaną przedstawione w dalszej części tego artykułu.

Kiedy używać modeli zwinnych:

  • jeśli klient nie ma jasnej wizji przyszłego produktu,
  • kiedy oczekuje się, że projekt będzie nieprzewidywalny i podatny na ciągle zmieniające się wymagania,
  • gdy klient chce uzyskać częste wyniki i szybciej otrzymać produkt,
  • jeśli klient uważa komunikację za najwygodniejszy sposób kontrolowania projektu.

2. Metoda Scrum - Agile

Scrum jest metodologią opartą na Agile, która ma podobne jak Agile cele, ale różni się od niej silnym skupieniem na pracy zespołowej. Ta metoda PM, oprócz zespołu programistów, obejmuje też właściciela produktu i rolę mistrza Scrum.

Właściciel produktu jest odpowiedzialny za cały proces tworzenia produktu i wynik końcowy. Ta osoba musi myśleć jak analityk biznesowy, marketer, klient i użytkownik końcowy, aby spełnić wymagania klienta. Mistrz Scrum dba o to, aby zespół przestrzegał zasad Scruma.

Scrum opiera się na sześciu podstawowych zasadach:

  • Empiryczna kontrola procesów. Scrum podkreśla zasady przejrzystości, kontroli i adaptacji. Zasada przejrzystości oznacza, że ​​każdy uczestnik może swobodnie obserwować każdy proces Scruma. Kontrola projektu polega na uzyskiwaniu informacji zwrotnych i zatwierdzaniu wyników od klienta oraz na korzystaniu ze wspólnej tablicy do organizowania i śledzenia przepływu pracy. Procesy adaptacji obejmują na ogół częste spotkania Scruma, zarządzanie ryzykiem i wprowadzanie zmian w produkcie.
  • Boks czasowy. Jeden sprint trwa zwykle od 15 do 30 dni. Pod koniec każdego sprintu zespół musi wykonać zaplanowaną ilość pracy i przygotować ją do przeglądu przez klienta. Jeśli klient zatwierdzi wyniki, zespół otrzyma dalsze instrukcje dotyczące następnego sprintu.
  • Współpraca. Scrum koncentruje się na ludziach, ponieważ jakość pracy zależy przede wszystkim od ogólnej wydajności zespołu. Codzienne spotkania stand-up pomagają mistrzom Scrum kontrolować postępy zespołu i utrzymywać motywację każdego członka.
  • Samoorganizowane zespoły wielofunkcyjne. Specjaliści sami organizują pracę zespołową. W przypadku, gdy ktoś z jakiegoś powodu opuści zespół, inny członek zespołu lub grupa specjalistów może go zastąpić bez utraty wydajności.
  • Priorytetyzacja zadań. Zespół ustala priorytety dla zadań na podstawie ich wartości biznesowej. Aby spełnić wymagania biznesowe klienta, zespół musi najpierw zapewnić funkcje o najwyższym priorytecie.
  • Podejście iteracyjne. Ta zasada polega na dzieleniu dużych projektów na mniejsze zadania. Pomaga ustalić jasne obowiązki każdego członka zespołu i zdefiniować najbardziej efektywne sposoby wprowadzania zmian.

3. Metoda Kanban w Agile Framework

Kanban to kolejna popularna platforma Agile, która podkreśla znaczenie ciągłego przepływu pracy, biorąc pod uwagę pojemność zespołu i przejrzystość procesów między jego członkami. Podstawowym narzędziem jest tutaj tablica Kanban - przestrzeń, w której zespoły i klienci mogą zobaczyć postępy w zadaniach. Jeśli kiedykolwiek korzystałeś z oprogramowania Jira, Trello lub podobnych narzędzi do zarządzania projektami, podejście Kanban nie będzie Ci obce.

Ciekawostka: słowo „Kanban” pochodzi od japońskiego „billboardu”, „karty wizualnej”, a ściślej „karty, którą widać”.

Zasady Kanban w procesie rozwoju są następujące:

  • Lista procesów pracy, kolumn i linii. Elementy te obejmują cały zakres prac, który należy wykonać. Pozwalają również sprawdzić status zadań i postęp każdego specjalisty w projekcie.
  • Limity WIP. Limity produkcji w toku (WIP) określają ilość pracy, którą zespół może wykonać na podstawie jego zdolności.
  • Ciągła dostawa. Organizacja zadań Kanban pozwala  Twojemu zespołowi na ciągłe rozwijanie, testowanie i dostarczanie nowych funkcjonalności.

4. Scrum + Kanban = Scrumban

Niektóre firmy łączą narzędzia Scrum i Kanban w różnych odmianach lub przechodzą ze Scrum na Kanban i odwrotnie. Zazwyczaj zespoły stosują strategię pracy Scrum i zachowują styl organizacyjny Kanban. Podejście to kładzie zatem nacisk na dobrze skoordynowaną pracę zespołową, szybki styl programowania i wykorzystanie tablic, które organizują procesy pracy, zapewniając ich przejrzystość.

5. Programowanie ekstremalne (XP)

Ta metodologia oparta na Agile koncentruje się na poprawie jakości oprogramowania i zwiększeniu reakcji na zmiany wymagań. Zasadniczo XP oznacza tradycyjne praktyki opracowywania oprogramowania, z tym wyjątkiem, że są one przenoszone na ekstremalne poziomy pod względem szybkości realizacji zadań. Ekstremalne programowanie ma na celu zmniejszenie kosztów i innych zasobów związanych z programowaniem poprzez wyeliminowanie nieproduktywnych działań i skrócenie cykli programowania w celu uzyskania częstych wydań.

Najważniejszą techniką jest tutaj programowanie par, co oznacza, że ​​dwóch programistów pracuje razem na tym samym komputerze. Jeden z nich pisze kod, a drugi sprawdza każdy ciąg kodu, gdy tylko będzie gotowy. Po pewnym czasie zamieniają role, aby zwiększyć produktywność i jakość kodu.

6. Lean Software Development (LSD)

Model Lean wchłonął wszystkie podstawowe zasady Agile, takie jak krótkie iteracje, charakter zorientowany na klienta, motywacja zespołu itp. Jednak najbardziej charakterystyczne cechy Lean koncentrują się na eliminacji odpadów, zaangażowaniu zespołu i przestrzeganiu zasady: „Zdecyduj tak późno możliwe, dostarczaj tak szybko, jak to możliwe”. Opiera się na następujących zasadach:

  • Gospodarowanie odpadami. Wszystko, co nie ma wartości dla klienta i użytkowników jest uważane za marnotrawstwo. Mogą to być dodatkowe funkcje, które nie zostały omówione, opóźnienia, usterki, nieporozumienia między zespołem a klientem itp.
  • Zaangażowanie zespołu. Każdy członek zespołu musi dołożyć wszelkich starań, aby zapewnić powodzenie projektu i być zainteresowany procesem rozwoju, tak jakby opracowywał własny produkt. Jednak ta akurat reguła powinna mieć zastosowanie do dowolnej metodologii, której używasz.
  • Podejmowanie decyzji tak późno, jak to możliwe. Zespół musi podejmować decyzje na podstawie bieżących wyników, a nie założeń lub prognoz.
  • Dostarczamy tak szybko, jak to możliwe. Ta zasada dotyczy posiadania odpowiednich ludzi w zespole, prostoty wymagań i rozwiązań technicznych, jakości budynku itp.

7. Zarządzanie projektami Waterfall

Wodospad to tradycyjne podejście do zarządzania projektami. Jak sama nazwa wskazuje, proces rozwoju musi przebiegać jak wodospad, a wszystkie etapy należy wykonać w ściśle określonej kolejności. Ogólna lista procesów Waterfall obejmuje analizę wymagań, projektowanie, wdrażanie, sprawdzanie poprawności i konserwację oprogramowania.

Główne zasady Waterfall to:

  • wymagania i zależności muszą zostać ustalone przed rozpoczęciem procesu programowania,
  • kierownictwo musi mieć metryki i dokumentację,
  • jakość powinna mieć wyższy priorytet niż szybkość,
  • następny etap nie może się rozpocząć, dopóki wszystkie zadania na określonym etapie projektu nie zostaną zakończone,
  • po zakończeniu określonego etapu powrót do niego nie jest już możliwy,
  • plan musi pozostać niezmienny i żadne nakładające się zadania nie są dozwolone, możliwe jest jednak zapewnienie równoległej pracy dwóch zespołów.

Kiedy użyć:

  • w prostych projektach o stałej cenie,
  • gdy klient ma wyraźne wymagania dotyczące projektu i produktu.

8. Podejście hybrydowe (wodospad + zwinne)

Podejście hybrydowe łączy najlepsze sposoby zarządzania modelami Waterfall i Agile. Część Wodospadu polega na dokładnym zbieraniu i analizowaniu wymagań. Podejście zwinne dało tej metodzie zarządzania projektem przepływ pracy oparty na iteracji, który pozwala zespołom skupić się na najważniejszych zadaniach.

Kiedy użyć:

  • jeśli projekt jest średniej wielkości i średniej złożoności,
  • jeśli projekt ma dobrze zdefiniowany pomysł, który zapewnia również przestrzeń do eksperymentów.

9. Zarządzanie projektami łańcucha krytycznego (CCPM)

Zarządzanie projektami łańcucha krytycznego jest alternatywą dla modelu CPM. Jeśli model CPM koncentruje się na czasie, CCPM kładzie nacisk na zasoby (zasoby ludzkie, sprzęt, wyposażenie itp.). Może to zabrzmieć trochę dziwnie, ale stosując tę ​​metodologię, zaczynasz od końca. Zespół analizuje dostępne produkty i zasoby, a dopiero potem ustala zależności między zasobami, tworząc zadania, które należy wykonać. Zasady CCPM są następujące:

  • brak wielozadaniowości,
  • skupienie się na zadaniach krytycznych,
  • czas na stworzenie projektu jest szacowany na podstawie 100% nakładu pracy specjalisty,
  • brak martwego czasu w pracy dzięki specjalnym instrumentom zwanym buforami.

Kiedy użyć:

  • wszelkie złożone projekty (jednak przy tworzeniu oprogramowania należy go używać w połączeniu z metodologiami Agile, aby zapewnić elastyczność i wielozadaniowość).

10. Metoda ścieżki krytycznej (CPM)

Metoda CPM polega na stworzeniu szczegółowej listy mini-zadań do złożonych operacji i ustaleniu zależności między nimi. Ta metoda pomaga zdefiniować najtrudniejsze czynniki procesu rozwoju, które mogą negatywnie wpłynąć na wynik. Na podstawie tych czynników zespół może oszacować najbardziej krytyczny termin/czas i określić wysiłki wymagane do realizacji projektu. Możesz zobaczyć, jak to działa na podstawie prostego przykładu z prawdziwego życia. Załóżmy, że musisz wykonać połączenie telefoniczne. Twoje zadania mogą być ustawione w następujący sposób:

  1. Weź telefon
  2. Idź do swoich kontaktów
  3. Wybierz osobę, z którą chcesz rozmawiać
  4. Wybierz numer telefonu

W takim przypadku wybranie określonego numeru telefonu zależy od tego, do kogo chcesz zadzwonić. Wykonywanie połączenia zależy od sposobu wybrania numeru telefonu. To samo dotyczy opracowywania oprogramowania - niektóre nadchodzące zadania będą zależeć od poprzednich i to właśnie określi przebieg pracy zespołu, szczególnie harmonogram.

Kiedy użyć:

  • złożone projekty z wieloma wzajemnie zależnymi elementami,
  • pilne projekty, kiedy szybkość rozwoju ma duże znaczenie.

11. Zarządzanie projektami PRINCE2

PRINCE2 (PRojects IN Controlled Environments) jest standardem dla projektów systemów informatycznych zatwierdzonych przez rząd brytyjski, przyjętym w Wielkiej Brytanii, niektórych krajach europejskich i Australii. Głosi zasady wysokiej kontroli i jasno określonych obowiązków między członkami zespołu.

W skrócie, PRINCE2 jest podejściem strukturalnym, które jest zarządzane krok po kroku. Jego charakterystyczną cechą jest rola rady projektowej odpowiedzialnej za kontrolę jakości. Rada projektu to komisja, która obejmuje klienta, głównego użytkownika i głównego specjalistę, który sprawdza projekt na każdym etapie i podejmuje decyzje w oparciu o wyniki. Podejście to można zatem scharakteryzować jako wysoce kontrolowane i skrupulatne.

Kiedy użyć:

  • każdy złożony projekt wymagający starannego planowania i kontroli,
  • kiedy klient dokładnie wie, co chce mieć w projekcie.

12. PMI / PMBOK (Project Management Body of Knowledge)

To nie jest metoda, ale podstawowy standard zarządzania projektami popularny w Stanach Zjednoczonych i Europie Zachodniej. Project Management Institute (PMI) to profesjonalna organizacja zarządzania projektami, która opracowała wytyczne Project Management Body of Knowledge (PMBOK). Wytyczne te opierają się na doświadczeniach różnych firm w realizacji projektów i ich najlepszych praktykach. Norma określa obszary wiedzy o 22.00 i 47 procesów, które menedżer musi zastosować, aby dostarczyć wysokiej jakości oprogramowanie. Obszary wiedzy obejmują zarządzanie:

    • integracją
    • zakresem
    • harmonogramem
    • kosztami
    • jakością
    • zasobami ludzkimi
    • komunikacją
    • ryzykiem
    • zakupami
    • interesariuszami

 

Procesy rozwojowe są realizowane w 5 etapach:

  • Inicjacja projektu
  • Planowanie
  • Wykonywanie
  • Monitorowanie i kontrolowanie
  • Zamknięcie

Kiedy użyć:

  • ponieważ PMI / PMBOK to kompleksowy standard zarządzanie projektami, specjaliści polegają na nim podczas pracy nad każdym rodzajem projektu.

JAK WYBRAĆ ODPOWIEDNIĄ METODOLOGIĘ?

biurko

Mimo że przywoływane metody różnią się od siebie, zostały opracowane w celu zapewnienia wysokiej jakości projektów poprzez obniżenie kosztów rozwoju, efektywne zarządzanie zasobami, zmniejszenie ryzyka itp. Wybór metody zależy od projektu i priorytetów klienta, dlatego klient i kierownik projektu powinni pamiętać o dwóch punktach:

  • Oceń projekt. Pytania takie jak „Jaka jest wielkość projektu?”, „Jak skomplikowany jest?”, „Czy będą jakieś zmiany lub eksperymenty?” muszą zawierać jasne odpowiedzi przed rozpoczęciem projektu.
  • Określ priorytety. Podczas gdy niektóre modele PM koncentrują się na procesach, zadaniach i ryzykach, inne koncentrują się na ludziach, pracy zespołowej, zasobach i wydajności. Zdecyduj, co jest dla Ciebie najważniejsze.

ZARZĄDZANIE PROJEKTAMI - Z JAKICH MODELI KORZYSTAMY?

Specjaliści z każdej firmy zajmującej się inżynierią oprogramowania powiedzieliby, że nie ma dwóch podobnych projektów informatycznych, a czasem wybór najodpowiedniejszej metodyki nie jest łatwy. Ponieważ nasi specjaliści pracują nad radykalnie różnymi rodzajami, rozmiarami i złożonością projektów, postanowiliśmy nie trzymać się tylko jednego podejścia do zarządzania projektami i stworzyliśmy różne hybrydowe kombinacje metod, które pozwalają nam osiągnąć najwyższą wydajność dla wszystkich rodzajów naszego oprogramowania. Definiując metodologię PM dla projektu staramy się osiągnąć:

  • Elastyczność. Słuchamy i zmieniamy się. Zespół koncentruje się na tworzeniu komfortowych warunków współpracy i wybieraniu najwygodniejszej metody w zależności od potrzeb klienta. Niezależnie od tego czy jest to ogólna koncepcja nowego oprogramowania sieciowego czy też trwający projekt rozwoju mobilnego, który wymaga aktualizacji lub ulepszenia, zapewnimy wąsko ukierunkowaną metodologię dla każdego konkretnego przypadku.
  • Najpierw myślimy, a potem robimy. Aby zrozumieć, jaka dokładna metodologia najbardziej odpowiada konkretnemu pomysłowi biznesowemu, dokładnie analizujemy wymagania funkcjonalne i niefunkcjonalne, oceniamy złożoność architektury systemu, rozważamy nasze doświadczenie w poprzednich projektach z możliwie podobnymi parametrami itp.
  • Dawanie więcej niż oczekiwano. Naszym celem jest docenienie przez naszych klientów za zaangażowanie i wysoką jakość naszej pracy. W zależności od naszej wiedzy specjalistycznej w dziedzinie projektu, który wykonujemy dla klienta prawie zawsze sugerujemy techniczne lub biznesowe ulepszenia oprogramowania. Robimy to nie dlatego, że chcemy dawać więcej niż nasi konkurenci, ale po prostu dlatego, że naprawdę kochamy to, co robimy i chcemy tworzyć wspaniałe rzeczy, które wprowadzą firmy, a nawet całe branże na nowy poziom zaawansowania!

Podsumowanie

Niektóre metodologie sugerują, że zespół programistów musi ściśle przestrzegać niezmiennych wymagań co do czasu wydania produktu. Inni podkreślają elastyczność i efektywną komunikację między klientem a zespołem programistycznym. Tak więc zasada wyboru metody zależy całkowicie od potrzeb, priorytetów i zasobów. Nie ma uniwersalnego podejścia do zarządzania projektami.

► Jeśli musisz ocenić swój projekt i zdefiniować metodologię zgodnie z jego specyfiką, nie wahaj się skontaktować z nami w celu uzyskania pomocy. Nasi menedżerowie projektów pomogą zbudować odpowiednią strategię dla konkretnego przypadku w oparciu o Twoje wymagania i naszą wiedzę specjalistyczną w Twojej branży. Z nami zarządzanie projektami stanie się jeszcze sprawniejsze!

 

 

 

Jak możemy Ci pomóc?
Porozmawiaj z nami!







Damian Sitek
Co-Founder, Developer
Wiktor Sobczyk
Co- Founder, Key Account Manager