25 KiB
Systemy informatyczne
13. Planowanie prac w projekcie informatycznym[wykład]
Krzysztof Jassem (2023)
Harmonogram projektu
Harmonogram projektu to plan uzyskania celów projektu uwzględniający:- podział pracy na etapy i zadania,
- przydział zasobów do zadań,
- terminy wykonania zadań.
1. Zasady planowania harmonogramu
1.1. Bierz pod uwagę ograniczenia
Ograniczenia
Ograniczenia to czynniki, które wpływają na realizację harmonogramu.Rodzaje ograniczeń:
Wyróżniamy następujace typy ograniczeń:
- Ograniczenia czasowe
- Ograniczenia techniczne
- Ograniczenia organizacyjne
Ograniczenia czasowe
Ograniczenie czasowe to ramy czasowe, w których musi się zmieścić projekt lub jego etap.
Rodzaje ograniczeń czasowych:
- Nie wcześniej niż,
- Nie później niż,
- W konkretnym dniu.
Przykłady ograniczeń czasowych:
- wykonanie pewnego zadania jest uwarunkowane ukończeniem innego zadania,
- projekt ma być zakończony w określonym terminie.
Wskazówki: jak radzić sobie z ograniczaniami czasowymi?
- Ustawiać zależności między zadaniami
- Ustawiać hamronogram "od końca".
Ograniczenia techniczne
Ograniczenie techniczne to ograniczenia wynikające z przyczyn zewnętrznych, niezależnych od zespołu projektowego.
Przykłady ograniczeń technicznych:
- termin dostawy sprzętu,
- załamanie pogody,
- pandemia,
- współpraca z podmiotami zewnętrznymi.
Wskazówki: jak radzić sobie z ograniczeniami technicznymi?
- Ustawiać zależność ZR (Zakończenie Rozpoczęcie) dla zadań zależnych od innych przedsiębiorstw,
- Dodawać do zadań odstępy czasowe,
- Dodawać rezerwę kierowniczą.
Ograniczenia organizacyjne
Ograniczenia organizacyjne to ograniczenia wynikające z zależności pomiędzy kilkoma projektami realizowanymi:
w jednym zespole,
przez daną osobę,
z wykorzystaniem tych samych zasobów.
Wskazówki: jak radzić sobie z ograniczeniami organizacyjnymi?
- Odpowiednio zarządzać zasobami: technicznymi i ludzkimi,
- Współdzielić zasoby między projektami,
- Ustawiać indywidualne czasy pracy.
1.2. Zarządzaj zapasem czasu
Zapas czasu
Zapas czasu to czas, o który może opóźnić się realizacja zadania, nie wpływając na termin ukończenia projektu.Zarządzanie zapasem czasu może polegać na:
* dodawaniu zapasu czasu do zadań obarczonych ryzykiem, * dodawaniu zapasu czasu z powodów ograniczeń technicznych lub organizacyjnych,
- zmniejszaniu zapasu czasu (dla zadań leżących poza ścieżką krytyczną),
- analizie (i ew. modyfikacji) zadań leżących na ścieżce krytycznej.
1.3. Zarządzaj rezerwą kierowniczą
Rezerwa kierownicza to fikcyjne zadanie dodane na końcu siatki zadań. Czas na jego realizację to około 10-15% czasu całego projektu.
- Rezerwę kierowniczą dodajemy po stworzeniu całości harmonogramu.
- Tworząc rezerwę pomocniczą, pamiętaj o prawie Parkinsona.
Prawo Parkinsona
Praca będzie się rozrastać, aby wypełnić cały czas na nią przewidziany.![Prawo Parkinsona](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/prawo%20Parkinsona.png)
2. Struktura podziału pracy
Struktura Podziału Pracy
Struktura Podziału Pracy to hierarchiczna reprezentacja podziału pracy w projekcie.- Wykonanie prac w projekcie podzielone jest na etapy.
- Etap jest częścią projektu, która musi być dokończona przed zaczęciem następnej. Etap składa się z zadań.
- Zadania mogą być wykonywane równolegle.
- Zadania mogą zostać podzielone na podzadania.
- Elementy Struktury Podziału Pracy a efekty pracy:
Etap – efekt jest widoczny dla klienta,
Zadanie – efekt jest widoczny dla kierownika,
Podzadanie – efekt jest widoczny dla programisty.
Struktura Podziału Pracy, źródło: http://pm2pm.pl/slownik-project-managera-wbs/
Zasada 8 - 80
Wykonanie najmniejszej jednostki harmonogramu powinno zajmować między 8 a 80 godzin.3. Tworzenie harmonogramu w programie MS-Project
3.2. Stworzenie Struktury Podziału Pracy
W nomenklaturze MS Project wyróżniamy:
- zadania sumaryczne (odpowiednik Etapu),
- zadania,
- podzadania.
Wskazówka
Ustawiaj hierarchię zadań poprzez tworzenie wcięć w zadaniach podrzędnych.
![Stworzenie SPP](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/stworzenie%20SPP.png)
3.3. Ustawienie trybów zadań
- Tryb ręczny (oznaczony przez pineskę) stosujemy dla zadania, gdy chcemy mieć pełną kontrolę nad jego czasem trwania.
- Tryb automatyczny wykonuje ważną jednak pracę wspomagającą - przesuwa na osi czasu zadania, które są od siebie zależne.
Stosowanie trybu automatycznego oznacza, że brana jest pod uwagę wskazówka: "Bierz pod uwagę ograniczenia czasowe".
![Ustawianie trybów zadań](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/tryby%20zada%C5%84.png)
3.4. Określenie punktów kontrolnych
Punkt kontrolny
Punkt kontrolny (ang. milestone) – punkt na osi czasu, który podsumowuje określony zestaw zadań, bądź daną fazę projektu.- Może to być: podpisanie dokumentu, otrzymanie wyniku, ważne spotkanie, zatwierdzenie pracy itp.
- Zazwyczaj osiągnięcie punktu kontrolnego wiąże się z dalszymi decyzjami odnośnie rozwoju projektu.
- Punkt kontrolny ma zerowy czas trwania.
- Pojęcie punktu kontrolnego zastąpiło pojęcie kamienia milowego.
3.5. Określenie tygodniowego kalendarza czasu pracy dla zespołu
Tygodniowy plan pracy dla zespołu obowiązuje tych członków zespołu, dla których nie określono planu indywidualnego.
![Ustawianie czasu pracy dla zespołu](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/czas%20pracy%201.png)
![Ustawianie czasu pracy dla zespołu](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/czas%20pracy%202.png)
3.6. Modyfikacja diagramu Gantta
Diagram Gantta
Diagram Gantta to graficzny sposób reprezentacji harmonogramu, w którym uwzględnia się podział projektu na poszczególne zadania, oraz rozplanowanie ich w czasie.![diagram Gantta](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/diagram%20Gantta.png)
Zalety wykresu Gantta
- przedstawia następstwo zdarzeń,
- uwzględnia zadania wykonywane równolegle,
- dobrze sprawdza się dla niewielkich projektów.
Wady wykresu Gantta
- nie zawiera szczegółowych opisów zadań,
- wymusza podanie konkretnych dat.
Diagram Gantta w MS-Project
Diagram Gantta tworzony jest częściowo manualne, a częściowo automatycznie.
- Czas trwania zadania można wpisać ręcznie w kolumnie czas trwania (w godzinach, dniach).
- W czasie trwania zadania uwzględniane są tylko dni robocze – zgodnie z kalendarzem.
- Jeśli wpiszemy czasy rozpoczęcia i zakończenia, to czas trwania oblicza się sam. Analogicznie sam oblicza się koniec zadania o znanym rozpoczęciu i czasie trwania.
- Dni wolne od pracy są zaznaczone kolorem szarym.
3.7. Ustawienie zależności między zadaniami
Zależności między zadaniami
Zadanie B jest zależne od A, gdy zmiana terminu wykonania A wpływa na termin wykonania B. Zadanie A nazywamy poprzednikiem, a B – następnikiem .Typy zależności
- Zadania typu ZR (zakończenie-rozpoczęcie). Następnik (B) może się rozpocząć dopiero po zakończeniu poprzednika (A).
- Zadania typu RR (rozpoczęcie-rozpoczęcie). Następnik (B) może się rozpocząć dopiero po rozpoczęciu poprzednika(A).
- Zadania typu ZZ (zakończenie-zakończenie). Następnik (B) może się zakończyć dopiero po zakończeniu poprzednika (A).
- Zadania typu RZ (rozpoczęcie-zakończenie). Następnik (B) może się zakończyć dopiero po rozpoczęciu poprzednika (A).
Ustawianie zależności między zadaniami w MS-Project
- Aby określić zadania zależne, należy zaznaczyć dwa zadania i połączyć je (ikoną węzła).
- Aby zmienić typ zależności między zadaniami, należy kliknąć na strzałeczkę łączącą zadania na wykresie Gantta.
![Ustawianie zależności między zadaniami](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/zale%C5%BCno%C5%9Bci.png)
3.8. Ustawienie odstępów między zadaniami
Pomiędzy zadaniami zależnymi można ustawić odstęp czasowy (tzw. zwłokę). Pełni on rolę bufora – aby zapewnić zakończenie zadania przed rozpoczęciem następnego.
![Ustawianie odstępów czasowych](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/odst%C4%99p%20czasowy.png)
3.9 Określenie zasobów w projekcie
Zasoby
Zasoby (ang. resources) – wszystko, co jest potrzebne do wykonania projektu, a czego brak spowodowałby niewykonanie planu. W MS-Project wyróżniamy następujące typy zasobów:- Praca (ludzie lub komputery),
- Materiał (np. energia),
- Koszt (np. koszt podróży).
Zdefiniowanie zasobów w MS-Project
Prawidłowe określenie wszystkich zasobów niezbędnych w projekcie umożliwia prawidłowe oszacowanie kosztów projektu.
![Zdefiniowanie zasobów w MS-Project](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/zasoby%201.png)
![Zdefiniowanie zasobów w MS-Project](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/zasoby%202.png)
10. Ustawienie tygodniowego kalendarza czasu pracy dla poszczególnych osób (zasobów)
W programie MS-Project możliwe jest zindywidualizowanie czasu pracy każdej osoby - lub ogólniej - dowolnego zasobu.
Wykres Gantta reprezentujący harmonogram pracy dostosowuje się do czasu pracy zasobów. Na przykład wykonanie zadania szacowanego na 16 godzin przez osobę, która pracuje 8 godzin w tygodniu, będzie zajmowało dwa tygodnie w harmonogramie.
![Czas pracy zasobu](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/czas%20pracy%20zasobu.png)
![Czas pracy zasobu 2](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/czas%20pracy%20zasobu%202.png)
11. Przydzielenie zasobów do zadań
Do kazego zadania powinny być przydzielone zasoby niezbędne do jego wykonania (w tym zasoby ludzkie).
Można przydzielić całość lub część zasobu do danego zadania (np. 50%). Będzie to oznaczało, że zasób jest zaangażowany w to zadanie tylko w określonym procencie swojego czasu.
Do jednego zadania można przydzielić kilka zasobów (np. osób).
Zasób (np. osoba) może być jednocześnie przypisany do kilku zadań.
![Przydzielanie zasobów do zadań](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/przydzielanie%20zasob%C3%B3w.png)
12. Sprawdzenie poprawności alokacji zasobów
Skoro zasób może być jednocześnie przypisany do kilku zadań, to można popełnić błąd, nadmiernie przeciążając zasób, tak że musiałby pracować więcej niż to wynika z jego kalendarza.
Obciążenie zasobów można sprawdzić następująco:
![Sprawdzenie przeciążenia zasobów](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/przeci%C4%85%C5%BCenie%20zasob%C3%B3w%201.png)
![Zasoby z nadmierną alokacją pracy](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/przeci%C4%85%C5%BCenie%20zasob%C3%B3w%202.png)
13. Wyeliminowanie przeciążeń zasobów
Nadmierną alokację (przeciążenie) zasobów należy eliminować. Można to zrobić na dwa sposoby:
manualne odciążanie zasobów,
automatyczne bilansowanie zasobów.
Manualne odciążanie zasobów może polegać na zmniejszeniu zaangażowania danego zasobu w zadanie:
![Odciążanie ręczne](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/odci%C4%85%C5%BCanie%20r%C4%99czne.png)
Automatyczne bilansowanie zasobu wykonywane jest przez MS-Porject na żądanie użytkownika.
![automatyczne bilansowanie zasobów](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/automatyczne%20bilansowanie%20zasob%C3%B3w.png)
Efekt bilansowania może spowodować przesunięcie pracy w czasie, a co za tym idzie, opóźnienie realizacji projektu:
![obciążenie zasobu przez bilansowaniem](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/bilansowanie%20automatyczne%201.png)
![obciążenie zasobu po bilansowaniu](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/bilansowanie%20automatyczne%202.png)
14. Analiza ścieżki krytycznej
Zadania leżące na ścieżce krytycznej nazywne są zadaniami krytycznymi.
![ścieżka krytyczne](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/zadania%20krytyczne.png)
W wyniku analizy ścieżki krytycznej można przykładowo:
- zmienić zależności między zadaniami na ścieżce krytycznej (może to przyspieszyć realizację planu)
- zwiększyć zapasy czasu dla zadań krytycznych (zwiększając bezpieczeństwo kosztem czasu)
15. Generowanie raportów
MS-Project umożliwia generowanie różnego typu raportów. Umożliwiają one m.in:
obliczenie kosztów projektu,
wyznaczenie, jaki procent planu jest wykonany,
obliczenie zaangażowania poszczególnych osób w projekt,
Przykład raportu całościowego
![raport zasobów](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/raport%20zasob%C3%B3w.png)
![raport kosztów](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/raport%20koszt%C3%B3w.png)
16. Poprawianie harmonogramu (czyli co robić, gdy harmonogram się „nie spina”)
Następujące działania mogą pomóc w poprawieniu harmonogramu
![modyfikacja planu](/jassem/SysInf/media/commit/0b44c0d53f86728b241f13b765bb92eec5c1391e/materia%C5%82y%20na%20wyk%C5%82ad/obrazy/modyfikacja%20planu.png)
Wnioski
- Zarządzanie projektem jest procesem zindywidualizowanym
- Gdyby tak nie było, to MS Project składałby się tylko z jednego przycisku