\n",
" \n",
" Ścieżka krytyczna to sekwencja zadań od rozpoczęcia do zakończenia projektu, której czas przejścia jest najdłuższy.\n",
"\n",
"Zadania na ścieżce krytycznej mają zerowy zapas czasu.\n",
"\n",
"\n",
"\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Zarządzanie zapasem czasu** może polegać na:\n",
"\n",
" * dodawaniu zapasu czasu do zadań obarczonych ryzykiem,\n",
" * dodawaniu zapasu czasu z powodów ograniczeń technicznych lub organizacyjnych, \n",
" * zmniejszaniu zapasu czasu (dla zadań leżących poza ścieżką krytyczną),\n",
" * analizie (i ew. modyfikacji) zadań leżących na ścieżce krytycznej."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.3. Zarządzaj rezerwą kierowniczą\n",
"**Rezerwa kierownicza** to fikcyjne zadanie dodane na końcu siatki zadań. Czas na jego realizację to około 10-15% czasu całego projektu.\n",
" * Rezerwę kierowniczą dodajemy po stworzeniu całości harmonogramu.\n",
" * Tworząc rezerwę pomocniczą, pamiętaj o prawie Parkinsona."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"
Prawo Parkinsona
\n",
" \n",
"Praca będzie się rozrastać, aby wypełnić cały czas na nią przewidziany.\n",
"\n",
"\n",
"\n",
"
\n",
" \n",
"Struktura Podziału Pracy to hierarchiczna reprezentacja podziału pracy w projekcie.\n",
"\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" * Wykonanie prac w projekcie podzielone jest na **etapy**. \n",
" * Etap jest częścią projektu, która musi być dokończona przed zaczęciem następnej. Etap składa się z **zadań**.\n",
" * Zadania mogą być wykonywane równolegle.\n",
" * Zadania mogą zostać podzielone na **podzadania**. \n",
" \n",
" * Elementy Struktury Podziału Pracy a efekty pracy: \n",
" * Etap – efekt jest widoczny dla klienta,\n",
" * Zadanie – efekt jest widoczny dla kierownika,\n",
" * Podzadanie – efekt jest widoczny dla programisty.\n",
" \n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"
Zasada 8 - 80
\n",
"Wykonanie najmniejszej jednostki harmonogramu powinno zajmować między 8 a 80 godzin.\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 3. Tworzenie harmonogramu w programie MS-Project"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3.1. Ustawienie daty początku projektu\n",
" \n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.2. Stworzenie Struktury Podziału Pracy\n",
"\n",
"W nomenklaturze MS Project wyróżniamy:\t\n",
" * zadania sumaryczne (odpowiednik Etapu),\n",
" * zadania,\n",
" * podzadania. \n",
"\n",
"#### Wskazówka \n",
"Ustawiaj hierarchię zadań poprzez tworzenie wcięć w zadaniach podrzędnych.\n",
"\n",
" \n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.3. Ustawienie trybów zadań\n",
"\n",
"* Tryb ręczny (oznaczony przez pineskę) stosujemy dla zadania, gdy chcemy mieć pełną kontrolę nad jego czasem trwania.\n",
"* Tryb automatyczny wykonuje ważną jednak pracę wspomagającą - przesuwa na osi czasu zadania, które są od siebie zależne.\n",
"\n",
"Stosowanie trybu automatycznego oznacza, że brana jest pod uwagę wskazówka: \"Bierz pod uwagę ograniczenia czasowe\". \n",
"\n",
" \n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.4. Określenie punktów kontrolnych"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"
Punkt kontrolny
\n",
" \n",
"Punkt kontrolny (ang. milestone) – punkt na osi czasu, który podsumowuje określony zestaw zadań, bądź daną fazę projektu.\n",
"
\n",
"
Może to być: podpisanie dokumentu, otrzymanie wyniku, ważne spotkanie, zatwierdzenie pracy itp.\n",
"
Zazwyczaj osiągnięcie punktu kontrolnego wiąże się z dalszymi decyzjami odnośnie rozwoju projektu.\n",
"
Punkt kontrolny ma zerowy czas trwania.\n",
"
Pojęcie punktu kontrolnego zastąpiło pojęcie kamienia milowego.\n",
"
\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" \n",
"\n",
"\n",
" \n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.5. Określenie tygodniowego kalendarza czasu pracy dla zespołu\n",
"\n",
"Tygodniowy plan pracy dla zespołu obowiązuje tych członków zespołu, dla których nie określono planu indywidualnego. \n",
"\n",
" \n",
"\n",
"\n",
" \n",
"\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.6. Modyfikacja diagramu Gantta"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"
Diagram Gantta
\n",
" \n",
" Diagram Gantta to graficzny sposób reprezentacji harmonogramu, w którym uwzględnia się podział projektu na \n",
"poszczególne zadania, oraz rozplanowanie ich w czasie.\n",
"\n",
" \n",
"\n",
"\n",
"\n",
"
Zalety wykresu Gantta
\n",
"
\n",
"
przedstawia następstwo zdarzeń,
\n",
"
uwzględnia zadania wykonywane równolegle,
\n",
"
dobrze sprawdza się dla niewielkich projektów.
\n",
"
\n",
"\n",
"
Wady wykresu Gantta
\n",
"
\n",
"
nie zawiera szczegółowych opisów zadań,
\n",
"
wymusza podanie konkretnych dat.
\n",
"
\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Diagram Gantta w MS-Project\n",
"\n",
"Diagram Gantta tworzony jest częściowo manualne, a częściowo automatycznie.\n",
"\n",
" * Czas trwania zadania można wpisać ręcznie w kolumnie **czas trwania** (w godzinach, dniach).\n",
" * W czasie trwania zadania uwzględniane są tylko dni robocze – zgodnie z kalendarzem.\n",
" * 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.\n",
" * Dni wolne od pracy są zaznaczone kolorem szarym."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.7. Ustawienie zależności między zadaniami"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"
Zależności między zadaniami
\n",
" \n",
"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 . \n",
" \n",
"
Typy zależności
\n",
"
\n",
"
Zadania typu ZR (zakończenie-rozpoczęcie). Następnik (B) może się rozpocząć dopiero po zakończeniu poprzednika (A).\n",
"
Zadania typu RR (rozpoczęcie-rozpoczęcie). Następnik (B) może się rozpocząć dopiero po rozpoczęciu poprzednika(A).\n",
"
Zadania typu ZZ (zakończenie-zakończenie). Następnik (B) może się zakończyć dopiero po zakończeniu poprzednika (A).\n",
"
Zadania typu RZ (rozpoczęcie-zakończenie). Następnik (B) może się zakończyć dopiero po rozpoczęciu poprzednika (A).\n",
"
\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Ustawianie zależności między zadaniami w MS-Project\n",
"\n",
" * Aby określić zadania zależne, należy zaznaczyć dwa zadania i połączyć je (ikoną węzła).\n",
" * Aby zmienić typ zależności między zadaniami, należy kliknąć na strzałeczkę łączącą zadania na wykresie Gantta.\n",
"\n",
" \n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.8. Ustawienie odstępów między zadaniami\n",
"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.\n",
"\n",
" \n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.9 Określenie zasobów w projekcie"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"
Zasoby
\n",
" \n",
"Zasoby (ang. resources) – wszystko, co jest potrzebne do wykonania projektu, a czego brak spowodowałby niewykonanie planu. \n",
"W MS-Project wyróżniamy następujące typy zasobów:\n",
"
\n",
"
Praca (ludzie lub komputery),\n",
"
Materiał (np. energia),\n",
"
Koszt (np. koszt podróży).\n",
"
\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Zdefiniowanie zasobów w MS-Project\n",
"\n",
"Prawidłowe określenie wszystkich zasobów niezbędnych w projekcie umożliwia prawidłowe oszacowanie kosztów projektu.\n",
"\n",
" \n",
"\n",
"\n",
" \n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 10. Ustawienie tygodniowego kalendarza czasu pracy dla poszczególnych osób (zasobów)\n",
"\n",
"W programie MS-Project możliwe jest zindywidualizowanie czasu pracy każdej osoby - lub ogólniej - dowolnego zasobu. \n",
"\n",
"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.\n",
"\n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 11. Przydzielenie zasobów do zadań\n",
"Do kazego zadania powinny być przydzielone zasoby niezbędne do jego wykonania (w tym zasoby ludzkie). \n",
"\n",
" * 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.\n",
" * Do jednego zadania można przydzielić kilka zasobów (np. osób).\n",
" * Zasób (np. osoba) może być jednocześnie przypisany do kilku zadań.\n",
" \n",
" \n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 12. Sprawdzenie poprawności alokacji zasobów\n",
"\n",
"* 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.\n",
"\n",
" * Obciążenie zasobów można sprawdzić następująco:\n",
"\n",
"\n",
"\n",
" \n",
" \n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 13. Wyeliminowanie przeciążeń zasobów\n",
"\n",
"Nadmierną alokację (przeciążenie) zasobów należy eliminować. Można to zrobić na dwa sposoby:\n",
" * manualne odciążanie zasobów,\n",
" * automatyczne bilansowanie zasobów.\n",
" \n",
"Manualne odciążanie zasobów może polegać na zmniejszeniu zaangażowania danego zasobu w zadanie:\n",
"\n",
" \n",
"\n",
"\n",
" \n",
"Automatyczne bilansowanie zasobu wykonywane jest przez MS-Porject na żądanie użytkownika.\n",
"\n",
" \n",
"\n",
"\n",
" \n",
"Efekt bilansowania może spowodować przesunięcie pracy w czasie, a co za tym idzie, opóźnienie realizacji projektu:\n",
"\n",
" \n",
"\n",
"\n",
"\n",
" \n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 14. Analiza ścieżki krytycznej\n",
"\n",
"Zadania leżące na ścieżce krytycznej nazywne są **zadaniami krytycznymi**.\n",
"\n",
" \n",
"\n",
"\n",
"W wyniku analizy ścieżki krytycznej można przykładowo:\n",
" * zmienić zależności między zadaniami na ścieżce krytycznej (może to przyspieszyć realizację planu)\n",
" * zwiększyć zapasy czasu dla zadań krytycznych (zwiększając bezpieczeństwo kosztem czasu)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 15. Generowanie raportów\n",
"MS-Project umożliwia generowanie różnego typu raportów. Umożliwiają one m.in:\n",
" * obliczenie kosztów projektu,\n",
" * wyznaczenie, jaki procent planu jest wykonany,\n",
" * obliczenie zaangażowania poszczególnych osób w projekt,\n",
" \n",
" \n",
"\n",
"\n",
" \n",
"\n",
"\n",
" \n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 16. Poprawianie harmonogramu (czyli co robić, gdy harmonogram się „nie spina”)\n",
"\n",
"Następujące działania mogą pomóc w poprawieniu harmonogramu\n",
"\n",
" \n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Wnioski\n",
" * Zarządzanie projektem jest procesem zindywidualizowanym\n",
" * Gdyby tak nie było, to MS Project składałby się tylko z jednego przycisku "
]
}
],
"metadata": {
"author": "Krzysztof Jassem",
"email": "jassem@amu.edu.pl",
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"lang": "pl",
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
},
"subtitle": "13. Planowanie prac badawczo-rozwojowych[wykład]",
"title": "Przygotowanie do projektu badawczo-rozwojowego",
"year": "2021"
},
"nbformat": 4,
"nbformat_minor": 4
}