diff --git a/.ipynb_checkpoints/Demonstracje projektów-checkpoint.ipynb b/.ipynb_checkpoints/Demonstracje projektów-checkpoint.ipynb
new file mode 100644
index 0000000..add39ff
--- /dev/null
+++ b/.ipynb_checkpoints/Demonstracje projektów-checkpoint.ipynb
@@ -0,0 +1,135 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Organizacja demonstracji projektów\n",
+ "Informacje dotyczą dmemostracji projektów na zajęciach SYI. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Termin i forma demonstracji\n",
+ " * Demonstracje będą prowadzone w dniu 24 stycznia w auli C w godzinach 17.15 - 18.45.\n",
+ " * Czas na demonstrację: 10 minut\n",
+ " * Proponowany plan wystąpienia:\n",
+ " * omówienie najważniejszych funkcji prototypu, wskazanie najważniejszego osiągnięcia w ramach projektu; wskazanie zalet i niedociągnięć; pokazanie kierunków potencjalnego rozwoju (omówienie może być wspomagane prezentacją typu PowerPoint)\n",
+ " * demonstracja działania prototypu"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "* Wprowadzenie (17.15 - 17.20)\n",
+ " \n",
+ " * Prezentacje\n",
+ "\n",
+ " * Team G (17.20)\n",
+ " \n",
+ " * Team F (17.30)\n",
+ " \n",
+ " * Team E (17.40)\n",
+ " \n",
+ " * Team D (17.50)\n",
+ " \n",
+ " * Team C (18.00)\n",
+ " \n",
+ " * Team B (18.10)\n",
+ " \n",
+ " * Team A (18.20)\n",
+ " \n",
+ " * Zakończenie (18.30 - 18.45)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Wskazówki dotyczące demonstracji\n",
+ " * Podczas demonstracji warto wziąć pod uwagę poszczególne kryteria oceny prototypu:\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
Za co?
Maksymalna liczba punktów do zdobycia
Wskazówki
\n",
+ "
\n",
+ "
\n",
+ "
Functionality (funkcjonalność)
40
Pokazać wszystkie funkcjonalności. Aby uzyskać maximum, trzeba dać możliwość jakiegoś udziału widowni w demonstracji.
\n",
+ "
\n",
+ "
\n",
+ "
Usability (Użyteczność)
30
Zwrócić uwagę widzów na zalety związane z użytecznością systemu.
\n",
+ "
\n",
+ "
\n",
+ "
Reliability (niewystępowanie błędów2
20
Pokazać demonstrację na żywo (filmik zamiast demonstracji sugeruje, że aplikacja nie jest wiarygodna)
\n",
+ "
\n",
+ "
\n",
+ "
Performance (wydajność: zużycie zasobów, czas odpowiedzi)
10
Aplikacja powinna działać bez przestojów
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
SUMA
100
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Oceny demonstracji\n",
+ "Demonstracje będą oceniane przez komisję, w skład której wchodzić będą prowadzący oraz zaproszeni goście, według kryteriów podanych powyżej. Najlepsze demosntracje zostaną nagrodzone."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Dokumentacje projektów\n",
+ "Dokumentacje projektów należy złożyć w folderze grupy na Teamsach do dnia 30 stycznia. Dokumentacja będzie oceniana według następujących kryteriów:\n",
+ "
\n",
+ "
\n",
+ "
Za co?
Maksymalna liczba punktów do zdobycia
\n",
+ "
\n",
+ "
\n",
+ "
Podręcznik użytkowania lub pomocy dla użytkownika)
10
\n",
+ "
\n",
+ "
\n",
+ "
Raport z testowania wersji końcowej
20
\n",
+ "
\n",
+ "
\n",
+ "
Raport użyteczności wersji końcowej
20
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
SUMA
50
\n",
+ "
\n",
+ "
"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/Demonstracje prototypów.ipynb b/Demonstracje prototypów.ipynb
new file mode 100644
index 0000000..2ec84b6
--- /dev/null
+++ b/Demonstracje prototypów.ipynb
@@ -0,0 +1,139 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Organizacja prezentacji koncepcji projektów w dniu 8 listopada\n",
+ "Informacje dotyczą prezentacji koncepcji projektów. \n",
+ "Podane poniżej informacje mogą ulec korektom do dnia 7 listopada."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##### Termin i forma prezentacji\n",
+ " * Wszystkie prezentacje powinny znaleźć się w odpowiednim folderze na Teamsach w nieprzekraczalnym terminie 6 listopada.\n",
+ " * Prezentacje będą prowadzone publicznie podczas zajęć przewidzianych na laboratorium w dniu 8 listopada o godz. 17.15. Prezentacje odbędą się w auli C, Szacowany czas na jedną prezentację to 10 minut.\n",
+ " * Podczas prezentacji wskazana jest obecność \"na scenie\" całej grupy. Nie jest jednak wymagane, aby wypowiadali się wszyscy studenci.\n",
+ " * Wszystkie prezentacje powinny zostaćprzekazane "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ocena prezentacji\n",
+ " * Każda prezentacja, spełniająca podstawowe oczekiwania dot. prezentacji, otrzyma ocenę bazową: 20 punktów. \n",
+ " * Do oceny bazowej zostaną doliczone punkty bonusowe za prezentacje wyróżnione przez:\n",
+ " * studentów,\n",
+ " * prowadzących oraz zaproszonych gości.\n",
+ " * Punkty bonusowe przyznane przez obie grupy odbiorców są sumowane.\n",
+ "\n",
+ " * Wyróżnienia będą przyznawane na podstawie wyników ankiet. W ramach ankiety każdy student i każdy prowadzący (gość) będzie poproszony o wskazanie pięciu najlepszych prezentacji. Studenci nie mogą głosować na prezentacje swoich grup.\n",
+ "\n",
+ " * Ankieta dla studentów: https://forms.gle/W4hASsPH8MEvF4fe9\n",
+ "\n",
+ " * Ankieta dla gości oraz prowadzących poszczególne grupy: https://forms.gle/F5jqhtLpQoX95KcT8\n",
+ " \n",
+ "\n",
+ "### Prezentacje wyróżnione przez studentów\n",
+ "\n",
+ "
\n",
+ "
\n",
+ "
Miejce
Nazwa projektu
Punkty bonusowe
\n",
+ "
\n",
+ "
\n",
+ "
1.
Grupa 7 (Brydż)
10
\n",
+ "
\n",
+ "
\n",
+ "
2. / 3.
Grupa 3 (BiedronApp)
6
\n",
+ "
\n",
+ "
\n",
+ "
2. / 3.
Grupa 2 (SmartHome WRSD)
6
\n",
+ "
\n",
+ "
\n",
+ "
4.
Grupa 1 (FinTech)
3
\n",
+ "
\n",
+ "
\n",
+ "
5.
Grupa 5 (AUTOWycena)
2
\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "### Prezentacje wyróżnione przez prowadzących i gości\n",
+ "
\n",
+ "
\n",
+ "
Miejce
Nazwa projektu
Punkty bonusowe
\n",
+ "
\n",
+ "
\n",
+ "
1. / 2.
Grupa 3 (BiedronApp)
9
\n",
+ "
\n",
+ "
\n",
+ "
1. / 2.
Grupa 7 (Brydż)
9
\n",
+ "
\n",
+ "
\n",
+ "
3.
Grupa 5 (AUTOWycena)
5
\n",
+ "
\n",
+ "
\n",
+ "
4
Grupa 1 (FinTech)
3
\n",
+ "
\n",
+ "
\n",
+ "
5
Grupa 2 (SmartHome WRSD)
2
\n",
+ "
\n",
+ "
\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Plan zajęć\n",
+ " * Wprowadzenie (17.15 - 17.20)\n",
+ " \n",
+ " * Prezentacje\n",
+ "\n",
+ " * Team A (17.20)\n",
+ " \n",
+ " * Team B (17.30)\n",
+ " \n",
+ " * Team C (17.40)\n",
+ " \n",
+ " * Team D (17.50)\n",
+ " \n",
+ " * Team E (18.00)\n",
+ " \n",
+ " * Team F (18.10)\n",
+ " \n",
+ " * Team G (18.20)\n",
+ " \n",
+ " * Wypełnienie ankiet i zakończenie (18.30 - 18.45)\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na laboratorium/.ipynb_checkpoints/13_planowanie_prac_badawczo-rozwojowych_lab-checkpoint.ipynb b/materiały na laboratorium/.ipynb_checkpoints/13_planowanie_prac_badawczo-rozwojowych_lab-checkpoint.ipynb
index 797021e..0e2055a 100644
--- a/materiały na laboratorium/.ipynb_checkpoints/13_planowanie_prac_badawczo-rozwojowych_lab-checkpoint.ipynb
+++ b/materiały na laboratorium/.ipynb_checkpoints/13_planowanie_prac_badawczo-rozwojowych_lab-checkpoint.ipynb
@@ -7,7 +7,7 @@
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"
\n",
"
Systemy informatyczne
\n",
- "
13. Planowanie prac badawczo-rozwojowych[laboratorium]
\n",
+ "
13. Planowanie prac w projekcie informatycznym[laboratorium]
\n",
"
Krzysztof Jassem (2021)
\n",
"
\n",
"\n",
diff --git a/materiały na laboratorium/.ipynb_checkpoints/14_zarządzanie_pracami_badawczo-rozwojowymi-checkpoint.ipynb b/materiały na laboratorium/.ipynb_checkpoints/14_zarządzanie_pracami_badawczo-rozwojowymi-checkpoint.ipynb
index 5a4e7d8..0f1c2c8 100644
--- a/materiały na laboratorium/.ipynb_checkpoints/14_zarządzanie_pracami_badawczo-rozwojowymi-checkpoint.ipynb
+++ b/materiały na laboratorium/.ipynb_checkpoints/14_zarządzanie_pracami_badawczo-rozwojowymi-checkpoint.ipynb
@@ -7,29 +7,19 @@
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"
\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
+}
diff --git a/materiały na wykład/14_zarządzanie_pracami_w_projekcie_informatycznym.ipynb b/materiały na wykład/14_zarządzanie_pracami_w_projekcie_informatycznym.ipynb
new file mode 100644
index 0000000..c2f07e6
--- /dev/null
+++ b/materiały na wykład/14_zarządzanie_pracami_w_projekcie_informatycznym.ipynb
@@ -0,0 +1,431 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Systemy informatyczne
\n",
+ "
14. Zarządzanie projektem informatycznym[wykład]
\n",
+ "
Krzysztof Jassem (2021)
\n",
+ "
\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Temat opracowany na podstawie książki Toma de Marco i Timothy Listera\n",
+ "\"Czynnik ludzki. Skuteczne przedsięwzięcia i wydajne zespoły\"\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 1. Produkuj hamburgery, sprzedawaj hamburgery...\n",
+ "## ... czyli czym różni się zarządzanie projektem B+R od kierowania barem szybkiej obsługi\n",
+ "Różnice w zarządzaniu można zobrazować w kilku aspektach:\n",
+ " * Podejście do popełniania błędów przez pracowników \n",
+ " * Sposób motywowania: bodźce negatywne i pozytywne\n",
+ " * Podejście do indywidualistów\n",
+ " * Podejście do kreatywności i samodoskonalenia się pracowników"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 1.1. Popełnianie błędów przez pracowników\n",
+ "
\n",
+ "
\n",
+ "
Problem
Bar szybkiej obsługi
Projekt B+R
\n",
+ "
\n",
+ "
\n",
+ "
Czy błąd jest grzechem?
Oczywiście
It's OK. to fail
\n",
+ "
\n",
+ "
\n",
+ "
Czy za popełnianie błędów należy karać?
Niestety, tak
Niestety, nie
\n",
+ "
\n",
+ "
\n",
+ "
Czy ludzi należy zachęcać do popełniania błędów?
Zdecydowanie nie
Tak
\n",
+ "
\n",
+ "
\n",
+ "
Czy wadliwą wersję hamburgera / systemu należy wyrzucić?
Czy wyjątkowość pracownika należy podtrzymywać czy tępić?
Tępić (lub awansować)
Hołubić
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 1.4. Podejście do kreatywności i samodoskonalenia się pracowników\n",
+ "
\n",
+ "
\n",
+ "
Problem
Bar szybkiej obsługi
Projekt B+R
\n",
+ "
\n",
+ "
\n",
+ "
Jaką część czasu poświęcać na realizację zadania, a jaką na dyskusję?
99 / 1
Dyskusja jest ważnym elementem pracy.
\n",
+ "
\n",
+ "
\n",
+ "
Czy warto poświęcać czas pracownika na doskonalenie innych umiejętności?
To zależy
Warto
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 2. Praca pod presją"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 2.1. \"Wiedeń czeka na Ciebie\"\n",
+ "\n",
+ "Czy pracodawca może oczekiwać, że dla pracownika nie ma nic ważniejszego niż jego praca?\n",
+ "\n",
+ "* https://www.youtube.com/watch?v=CIp1yrvfqtk\n",
+ "* https://www.quora.com/What-do-the-lyrics-mean-in-Vienna-by-Billy-Joel"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 2.2. Praca w nadgodzinach\n",
+ "\n",
+ "Najlepsi pracownicy biorą nadgodziny, ale tylko wtedy, kiedy mogą.\n",
+ "Pozostali to...pracoholicy."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 2.3. Pracocholicy\n",
+ " * Pracoholik, to ktoś, kto bierze nadgodziny. \n",
+ " * Praocholik poświęca swoje życie dla pracy.\n",
+ " * Pracoholik ... w końcu się wypala i odchodzi."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 2.4. Nacisk na zwiększenie wydajności pracy\n",
+ "\n",
+ "\"Skuteczne\" (w cudzysłowie) metody zwiększenia wydajności pracy:\n",
+ " * Wywiera się nacisk, by ludzie pracowali dłużej.\n",
+ " * Mechanizuje się proces tworzenia.\n",
+ " * Obniża się jakość produktu.\n",
+ " * Wprowadza się procedury postępowania.\n",
+ " \n",
+ "**Wszystko to powoduje, że praca przestaje sprawiać przyjemność.**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## WNIOSEK:\n",
+ "\n",
+ "**Ludzie pod presją czasu nie pracują lepiej, a jedynie szybciej.\n",
+ "Czynią to kosztem jakości produktu i satysfakcji z pracy.**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 3. Prawo Parkinsona - mit czy rzeczywistość?"
+ ]
+ },
+ {
+ "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",
+ "Cyril Northcote Parkonson - brytyjski historyk, pisarz, doradca konserwatywnych rządów Wielkiej Brytanii.\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 3.1. Kto najlepiej szacuje czas przewidziany na pracę?\n",
+ "\n",
+ "
\n",
+ "
\n",
+ "
Kto szacował?
Jaką osiagnięto wydajność?
\n",
+ "
\n",
+ "
\n",
+ "
Kierownik
6,6
\n",
+ "
\n",
+ "
\n",
+ "
Kierownik w konsultacji z programistą
7,8
\n",
+ "
\n",
+ "
\n",
+ "
Programista
8,0
\n",
+ "
\n",
+ "\n",
+ " **Wniosek 1. Programista pracuje bardziej wydajnie, gdy musi wypełnić własne oczekiwania niż wymagania swojego szefa.** \n",
+ " * Ten fakt potwierdza prawo Parkinsona: gdy szef zarezerwuje za dużo czasu, to pracownik to wykorzysta i zmniejszy wydajność. Ale...\n",
+ "\n",
+ "
\n",
+ "
\n",
+ "
Kto szacował?
Jaką osiagnięto wydajność?
\n",
+ "
\n",
+ "
\n",
+ "
Programista
8,0
\n",
+ "
\n",
+ "
\n",
+ "
Osobna z zewnątrz
9,5
\n",
+ "
\n",
+ "\n",
+ " **Wniosek 2. Programista zwiększa wydajnośc w odpowiedzi na oczekiwania z zewnątrz, które motywują go silniej niż oczekiwania przełożonego. Ale...**\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
Kto szacował?
Jaką osiagnięto wydajność?
\n",
+ "
\n",
+ "
\n",
+ "
Osoba z zewnątrz
9,5
\n",
+ "
\n",
+ "
\n",
+ "
Nikt
12,0
\n",
+ "
\n",
+ "\n",
+ "**Wniosek 3. Programista to z natury osoba pracowita, którą najmocniej motywuje wewnętrzna chęć jak najszybszego ukończenia zadania.**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "
Wniosek końcowy
\n",
+ "Prawo Parkinsona odnosi się do organizacji formalnych typu biurokratycznego. \n",
+ "\n",
+ "Prawo Parkinsona nie stosuje się do pracy programistycznej.\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 4. Siedem syrenich śpiewów...\n",
+ "## ...czyli o pokusach w zarządzaniu, które prowadzą na manowce\n",
+ "\n",
+ " * 1. Jest jakaś magiczna sztuczka, którą przeoczyłeś.\n",
+ " \n",
+ " * 2. Inni menadżerowie mają sposoby na to, by gwałtownie zwiększyć wydajność.\n",
+ " \n",
+ " * 3. Technika zmienia się tak szybko, że zostajesz w tyle.\n",
+ " \n",
+ " * 4. Zmiana języków programowania przyniesie Ci ogromne korzyści.\n",
+ " \n",
+ " * 5. Ze względu na zaległości musisz od razu podwoić wydajność.\n",
+ " \n",
+ " * 6. Automatyzować można dosłownie wszystko - można więc zredukować zespół programistów. \n",
+ " \n",
+ " * 7. Twoi ludzie będa lepiej pracować, gdy będziesz wywierał na nich większa presję.\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 5. Jakie czynniki faktycznie wpływają na lepszą pracę informatyków?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Gry wojenne w programowaniu\n",
+ "W celu wykrycia czynników faktycznie wpływających na wydajność pracy informatyków przeprowadzono eksperyment nazwany \"Gry wojenne\". Oto zasady eksperymentu:\n",
+ "\n",
+ " * Uczestnicy dostają zadania polagające na programowaniu i debugowaniu swojego kodu.\n",
+ " * W grze biorą udział pary programistów z jednej firmy. Każdy z nich pracuje na własną rękę.\n",
+ " * Zapisywany jest czas wykonania poszczególnych zadań.\n",
+ " * Produkty pracy poddawane są standardowemu testowi odbioru.\n",
+ " * Uczestnicy pracują w swoim środowisku pracy: miejsce pracy, ulubione języki, narzędzia, swoje terminale i komputery."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Wyniki eksperymentu"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Porównanie wydajności pracy programistów\n",
+ "\n",
+ "
\n",
+ "
\n",
+ "
Porównanie między...
Stosunek wydajności
\n",
+ "
\n",
+ "
\n",
+ "
Najlepszy a średni
2,5 : 1
\n",
+ "
\n",
+ "
\n",
+ "
Najlepszy a najgorszy
10 : 1
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Czynniki, ktore nie mają wpływu na wydajność pracy\n",
+ "\n",
+ " * Język programowania\n",
+ " * wyjątkiem są języki niskiego poziomu (np. assmbler) - w takim przypadku wydajność jestbyła wyraźnie niższa.\n",
+ " * Doświadczenie programisty\n",
+ " * Co zaskakujące, nie stwierdzono wysokiej korelacji między doświadczeniem, a wydajnością.\n",
+ " * Wyjątek: słabsze wyniki uzyskiwali ci, którzy mieli mniej niż 6-miesięczne doświadczenie z danym językiem programowania.\n",
+ " * Liczba popełnianych błędów\n",
+ " * Liczba błędów popełnionych w pierwszej wersji programu nie ma znaczącego wpływu na wydajność.\n",
+ " * Wynagrodzenie pracowników\n",
+ " * Indywidualne różnice w płacach były bardzo duże.\n",
+ " * Nie przekładały się one na wydajność."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Czynniki, ktore mają wpływ na wydajność pracy\n",
+ "\n",
+ " * Zespół ludzki, w którym pracujemy\n",
+ " * Jeśli jedna osoba w parze miała dobre wyniki, to druga też (i na odwrót).\n",
+ " * W przeciętnej parze różnica wydajności wyniosła zaledwie 21%.\n",
+ " * Firma, w której pracujemy\n",
+ " * Najbardziej wydajni programiści zbierają się w jednej firmie.\n",
+ " * Najlepsza firma pracowała 11,2 razy szybciej niż najgorsza.\n",
+ " * Środowisko pracy\n",
+ " * Środowisko pracy ma decydujący wpływ na wydajność.\n",
+ " * Wniosek ten wyciągnięto na podstawie ankiety, w której porównano odpowiedzi programistów najbardziej wydajnych (1. kwartyl pod względem wydajności) i najmniej wydajnych (4. kwartyl pod względem wydajności):\n",
+ "
\n",
+ "
\n",
+ "
Czynnik środowiska
1. kwartyl
4. kwartyl
\n",
+ "
\n",
+ "
\n",
+ "
Jaką masz powierzchnię do dyspozycji
7 m kw.
4 m kw.
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
Czy jest dostatecznie cicho?
TAK: 57%
TAK: 29%
\n",
+ "
\n",
+ "
\n",
+ "
Czy masz zapewnioną prywatność?
TAK: 62%
TAK: 19%
\n",
+ "
\n",
+ "
\n",
+ "
Czy możesz wyłączyć telefon?
TAK: 52%
TAK: 10%
\n",
+ "
\n",
+ "
\n",
+ "
Czy ludzie niepotrzebnie odrywają Cię od pracy?
TAK: 38%
TAK: 76%
\n",
+ "
\n",
+ "
\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Podsumowanie\n",
+ "## 1. W lepszym miejscu pracy ludzie pracują wydajniej. \n",
+ "## 2. Wydajni pracownicy grawitują ku firmom, które zapewniają lepsze warunki pracy.\n",
+ "## 3. Jeśli kierujesz ludźmi, których praca polega na myśleniu, to Twoim głównym zadaniem jest zapewnienie właściwego środowiska pracy."
+ ]
+ }
+ ],
+ "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": "14. Zarządzanie pracami badawczo-rozwojowymi[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}