Compare commits

...

19 Commits

Author SHA1 Message Date
f7c37b3454 Demonstracje końcowe - modyfikacje 2022-06-10 10:32:48 +02:00
4bc53432bb demonstracje końcowe 2022-06-07 14:27:56 +02:00
b58e67523a Demonstracje końcowe projektów 2022-06-07 14:24:55 +02:00
a02506406a Merge branch 'master' of https://git.wmi.amu.edu.pl/AITech/aitech-ppb-pbr 2022-06-05 12:53:40 +02:00
8013984466 Organizacja demonstracji końcówych projektów 2022-06-05 12:52:15 +02:00
3e5334dded Merge pull request 'Add CI/CD image' (#2) from filipg/aitech-ppb-pbr:master into master
Reviewed-on: AITech/aitech-ppb-pbr#2
2022-05-12 00:24:34 +02:00
a94b85c44c demonstracje wyróżnione 2022-02-21 15:38:55 +01:00
7f61dd87a5 poprawka w wykładzie 14. 2022-01-31 16:18:02 +01:00
0728832aa8 link do ankiety 2022-01-31 11:02:38 +01:00
8e606a3285 Demonstracje projektów 2022-01-30 10:32:05 +01:00
703e3910dc MS Project 2022-01-25 16:31:33 +01:00
ac1ff1d9ff lab 12 - uzupełnienie 2022-01-25 15:04:13 +01:00
c02f5ba2bb laboratorium nr 12 2022-01-25 13:46:14 +01:00
38266f523a uzupełnienie planu demonstracji 2022-01-23 14:17:07 +01:00
100ef3bf83 Wykład nr 14.
Demonstracje - uzupełnienie
2022-01-22 12:38:14 +01:00
bc704602b7 organizacja demonstracji 2022-01-20 19:22:43 +01:00
3b252164ac Organizacja demonstracji 2022-01-19 20:19:24 +01:00
87266ae308 Improve images 2021-11-29 15:04:19 +01:00
c1336bdd8c Add CI/CD image 2021-11-29 14:01:18 +01:00
14 changed files with 2247 additions and 16 deletions

View File

@ -0,0 +1,116 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Organizacja demonstracji projektów\n",
"Informacje dotyczą dmemostracji końcowych projektów na zajęciach PBR. \n",
"Podane poniżej informacje mogą ulec korektom do dnia 9 czerwca 2022 włącznie."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Termin i forma demonstracji\n",
" * Demonstracje będą prowadzone w dniu 10 czerwca 2022 w formie stacjonarnej w auli A.\n",
" * Czas na jedną demonstrację: 10 minut (włączając przerwę).\n",
" * Niezbędnym elementem demonstracji jest interakcja demonstrowanego systemu z widownią.\n",
" * Demonstracje rozpoczną się o godzinie 11.00, a zakończą lunchem o godzinie 15.30."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oceny, wyróżnienia\n",
" * Demonstracje są oceniane przez jury: prowadzących projekty i zaproszonych gości z biznesu.\n",
" * Dla dwóch najwyżej ocenionych demonstracji przewidziane są nagrody ufundowane przez firmę DomData."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plan dnia: Sztuczna Inteligencja, Cyberbezpieczeństwo, Biznes\n",
"\n",
"### Cyberware\n",
"\n",
"* Czas: 11.00 - 11.30\n",
" * HoneyPot\n",
" * RandomSec\n",
" * Phish&Ware\n",
" \n",
"### Learn and Play\n",
"\n",
"* Czas: 11.30 - 11.50\n",
" * Tao Testing - rożnorodne testy online\n",
" * Soita - inteligentny system nauczania\n",
" \n",
"### Natural Language Processing\n",
"\n",
"* Czas: 11.50 - 12.30\n",
" * Transfix - translacja i korekta testów\n",
" * Automatyczne generowanie tweetów\n",
" * Wyszukiwanie w dokumentach zdigitalizowaych\n",
" * Speakato - asystent głosowy poleceń systemu Windows \n",
"\n",
"### Przerwa na kawę\n",
"\n",
"* Czas: 12.30 - 13.00\n",
"\n",
"### Music i inne\n",
"\n",
"* Czas: 13.00 - 13.30\n",
" * System rekomendacji muzycznych\n",
" * Odgadywanie utworu muzycznego\n",
" * System rezerwacji lotów\n",
"\n",
"\n",
"### Sport Analysis\n",
"\n",
"* Czas: 13.30 - 14.30\n",
" * Analiza predyspozycji piłkarza do gry na określonej pozycji\n",
" * TV2D - analiza video meczu piłkarskiego\n",
" * Przewidywanie kontuzji w piłce nożnej\n",
" * Metryki akcji piłkarskich\n",
" * Analiza przydatności zawodników w La Lidze\n",
"\n",
"\n",
"### Prezentacje projektu AI Tech oraz Centrum Sztucznej Inteligencji\n",
"\n",
"* Czas: 14.30 - 15.00\n",
"\n",
"### Prelekcje zproszonych gości z biznesu\n",
"\n",
"* Czas: 15.00 - 15.30\n",
"\n",
"### Lunch\n",
"\n",
"* Czas: 15.30 - 16.30"
]
}
],
"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
}

View File

@ -0,0 +1,191 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Organizacja demonstracji projektów\n",
"Informacje dotyczą dmemostracji projektów na zajęciach PBR. \n",
"Podane poniżej informacje mogą ulec korektom do dnia 31 stycznia włącznie."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Termin i forma demonstracji\n",
" * Demonstracje będą prowadzone w formie zdalnej za pomocą platformy MS-Teams.\n",
" * Czas na demonstrację: 8 minut (+ 1 minuta przerwy)\n",
" * Niezbędnym elementem demonstracji jest interakcja demonstrowanego systemu z widownią.\n",
" * Zajęcia rozpoczną się o 13:45, a zakończą o 17:00."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Ocena projektu\n",
"\n",
" * Każdy opiekun grupy będzie proponował ocenę systemu prezentowanego przez grupę w skali do 180 punktów laboratoryjnych w oparciu o:\n",
" * ocenę dokumentacji projektu,\n",
" * ocenę stanu projektu na zajęciach laboratoryjnych w dniu 25 stycznia,\n",
" * ocenę demonstracji w dniu 1 lutego.\n",
" * Projekt powinien znajdować się na 6. poziomie gotowości technologicznej:\n",
" * Poziom 5.\n",
" * Zweryfikowano działanie w warunkach zbliżónych do rzeczywistego (np. przeprowadzono testowanie prototypu wdrożónego na serwerze WMI).\n",
" * Poziom 6.\n",
" * Dokonano demonstracji działania w warunkach zbliżónych do rzeczywistych (np. zademonstrowano wdrożony prototyp z interakcją użytkowników).\n",
" \n",
" * Jeśli projekt nie spełnia założeń, to ocena końcowa za wynik projektu wynosi 0 punktów (na 180).\n",
" * Jeśli projekt spełnia założenia, to opiekun projektu proponuje ocenę w skali do 180 punktów.\n",
" * Proponowane składowe oceny implementacji systemu\n",
"\n",
"<table>\n",
" <tr> \n",
" <td> Za co? </td> <td> Maksymalna liczba punktów do zdobycia </td>\n",
" </tr>\n",
" <tr> \n",
" <td> Functionality (funkcjonalność) </td> <td> 40 </td> \n",
" </tr>\n",
" <tr>\n",
" <td> Usability (Użyteczność) </td> <td> 30 </td>\n",
" </tr>\n",
" <tr> \n",
" <td> Reliability (niewystępowanie błędów) </td> <td> 20 </td>\n",
" </tr>\n",
" <tr>\n",
" <td>Performance (wydajność: zużycie zasobów, czas odpowiedzi) </td> <td>10 </td>\n",
" </tr>\n",
" <tr>\n",
" <td> Supportability (możliwość instalacji i działania na różnych platformach) </td> <td> 10 </td>\n",
" </tr>\n",
" <tr>\n",
" <td> Podręcznik użytkowania lub pomocy dla użytkownika) </td> <td> 20 </td>\n",
" </tr>\n",
" <tr> \n",
" <td>Raport z testowania wersji końcowej </td> <td> 20 </td>\n",
" </tr>\n",
" <tr>\n",
" <td> Raport użyteczności wersji końcowej </td> <td> 20 </td>\n",
" </tr>\n",
" <tr>\n",
" <td> Documentation (zebranie wytworzonych dokumentów systemu oraz podręcznika i raportów (testowania i użyteczności)) </td> <td> 10 </td>\n",
" </tr>\n",
" <tr>\n",
" <td> SUMA </td> <td> 180 </td>\n",
" </tr>\n",
" </table>\n",
" \n",
" * Ocena będzie zatwierdzana przez komisję, w której skład wchodzić będą wszyscy opiekunowie.\n",
" * Do oceny zostaną doliczone punkty bonusowe za demonstracje wyróżnione przez studentów oraz zaproszonych gości.\n",
" * Punkty bonusowe będą przyznawane na podstawie wyników ankiety. W ramach ankiety każdy student i każdy prowadzący (gość) będzie poproszony o wskazanie sześciu najlepszych demonstracji. Studenci nie mogą głosować na demonstracje swoich grup.\n",
"\n",
" * Link do ankiety:\n",
" https://forms.gle/Xrk3fCHc7MXkmFET8\n",
" \n",
"\n",
"### Demonstracje wyróżnione:\n",
"\n",
"<table>\n",
" <tr>\n",
" <td>Miejce</td> <td> Nazwa projektu </td> <td>Punkty bonusowe</td>\n",
" </tr>\n",
" <tr> \n",
" <td>1.</td><td> Jaka to nuta? </td> <td>20</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2.</td><td> DOC AI </td> <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3.</td><td> Songwise </td><td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td><td> Speakato </td><td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <td>5</td><td> PhishandWare </td><td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <td>6</td><td> Meetify </td><td>3</td>\n",
" </tr> \n",
"</table> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plan zajęć\n",
"\n",
"### Wprowadzenie\n",
"* Czas 13.45 - 13.50\n",
"\n",
"### Cyberware\n",
"\n",
"* Czas: 13.50 - 14.15\n",
" * HoneyPot\n",
" * RandomSec\n",
" * Phish&Ware\n",
" \n",
"### Learn and Play\n",
"\n",
"* Czas: 14.20 - 14.55\n",
" * Rozpoznawanie komend głosowych w grach\n",
" * Tao Testing\n",
" * Testy\n",
" * Ekosystem\n",
" \n",
"### Music\n",
"\n",
"* Czas: 15.00 - 15.25\n",
" * Wyszukiwanie słuchaczy podobnej muzyki\n",
" * Rekomandacje muzyczne\n",
" * Odgadywanie utworu muzycznego\n",
"\n",
"\n",
"### Natural Language Processing\n",
"\n",
"* Czas: 15.30 - 15.55\n",
" * Transfix\n",
" * Automatyczne generowanie kampanii\n",
" * Wyszukiwanie w dokumentach\n",
"\n",
"### Sport Analysis\n",
"\n",
"* Czas: 16.00 - 16.40\n",
" * Predykcja sukcesu w piłce nożnej\n",
" * TV2D\n",
" * Predykcja kontuzji\n",
" * Metryki piłkarzy\n",
" * Analiza przydatności zawodników w La Lidze\n",
"\n",
"### Wypełnienie ankiet i zakończenie\n",
"\n",
"* Czas: 16.45 - 17.00\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
}

View File

@ -0,0 +1,115 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Organizacja demonstracji projektów\n",
"Informacje dotyczą dmemostracji końcowych projektów na zajęciach PBR. \n",
"Podane poniżej informacje mogą ulec korektom do dnia 9 czerwca 2022 włącznie."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Termin i forma demonstracji\n",
" * Demonstracje będą prowadzone w dniu 10 czerwca 2022 w formie stacjonarnej w auli A.\n",
" * Czas na jedną demonstrację: 10 minut (włączając przerwę).\n",
" * Niezbędnym elementem demonstracji jest interakcja demonstrowanego systemu z widownią.\n",
" * Demonstracje rozpoczną się o godzinie 11.00, a zakończą lunchem o godzinie 15.30."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oceny, wyróżnienia\n",
" * Demonstracje są oceniane przez jury: prowadzących projekty i zaproszonych gości z biznesu.\n",
" * Dla dwóch najwyżej ocenionych demonstracji przewidziane są nagrody ufundowane przez firmę DomData."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plan dnia: Sztuczna Inteligencja, Cyberbezpieczeństwo, Biznes\n",
"\n",
"### Cyberware\n",
"\n",
"* Czas: 11.00 - 11.30\n",
" * HoneyPot\n",
" * RandomSec\n",
" * Phish&Ware\n",
" \n",
"### Learn and Play\n",
"\n",
"* Czas: 11.30 - 11.50\n",
" * Tao Testing - rożnorodne testy online\n",
" * Soita - inteligentny system nauczania\n",
" \n",
"### Natural Language Processing\n",
"\n",
"* Czas: 11.50 - 12.30\n",
" * Transfix - translacja i korekta testów\n",
" * Automatyczne generowanie tweetów\n",
" * Wyszukiwanie w dokumentach zdigitalizowaych\n",
" * Speakato - asystent głosowy poleceń systemu Windows \n",
"\n",
"### Przerwa na kawę\n",
"\n",
"* Czas: 12.30 - 13.00\n",
"\n",
"### Music i inne\n",
"\n",
"* Czas: 13.00 - 13.30\n",
" * System rekomendacji muzycznych\n",
" * Odgadywanie utworu muzycznego\n",
" * System rezerwacji lotów\n",
"\n",
"\n",
"### Sport Analysis\n",
"\n",
"* Czas: 13.30 - 14.30\n",
" * Metryki piłkarzy na poszczególnych pozycjach\n",
" * TV2D - analiza video meczu piłkarskiego\n",
" * Przewidywanie kontuzji w piłce nożnej\n",
" * Przewidywanie wyniku drużyny w tabeli końcowej\n",
"\n",
"\n",
"### Prezentacje projektu AI Tech oraz Centrum Sztucznej Inteligencji\n",
"\n",
"* Czas: 14.30 - 15.00\n",
"\n",
"### Prelekcje zproszonych gości z biznesu\n",
"\n",
"* Czas: 15.00 - 15.30\n",
"\n",
"### Lunch\n",
"\n",
"* Czas: 15.30 - 16.30"
]
}
],
"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
}

View File

@ -0,0 +1,191 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Organizacja demonstracji projektów\n",
"Informacje dotyczą dmemostracji projektów na zajęciach PBR. \n",
"Podane poniżej informacje mogą ulec korektom do dnia 31 stycznia włącznie."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Termin i forma demonstracji\n",
" * Demonstracje będą prowadzone w formie zdalnej za pomocą platformy MS-Teams.\n",
" * Czas na demonstrację: 8 minut (+ 1 minuta przerwy)\n",
" * Niezbędnym elementem demonstracji jest interakcja demonstrowanego systemu z widownią.\n",
" * Zajęcia rozpoczną się o 13:45, a zakończą o 17:00."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Ocena projektu\n",
"\n",
" * Każdy opiekun grupy będzie proponował ocenę systemu prezentowanego przez grupę w skali do 180 punktów laboratoryjnych w oparciu o:\n",
" * ocenę dokumentacji projektu,\n",
" * ocenę stanu projektu na zajęciach laboratoryjnych w dniu 25 stycznia,\n",
" * ocenę demonstracji w dniu 1 lutego.\n",
" * Projekt powinien znajdować się na 6. poziomie gotowości technologicznej:\n",
" * Poziom 5.\n",
" * Zweryfikowano działanie w warunkach zbliżónych do rzeczywistego (np. przeprowadzono testowanie prototypu wdrożónego na serwerze WMI).\n",
" * Poziom 6.\n",
" * Dokonano demonstracji działania w warunkach zbliżónych do rzeczywistych (np. zademonstrowano wdrożony prototyp z interakcją użytkowników).\n",
" \n",
" * Jeśli projekt nie spełnia założeń, to ocena końcowa za wynik projektu wynosi 0 punktów (na 180).\n",
" * Jeśli projekt spełnia założenia, to opiekun projektu proponuje ocenę w skali do 180 punktów.\n",
" * Proponowane składowe oceny implementacji systemu\n",
"\n",
"<table>\n",
" <tr> \n",
" <td> Za co? </td> <td> Maksymalna liczba punktów do zdobycia </td>\n",
" </tr>\n",
" <tr> \n",
" <td> Functionality (funkcjonalność) </td> <td> 40 </td> \n",
" </tr>\n",
" <tr>\n",
" <td> Usability (Użyteczność) </td> <td> 30 </td>\n",
" </tr>\n",
" <tr> \n",
" <td> Reliability (niewystępowanie błędów) </td> <td> 20 </td>\n",
" </tr>\n",
" <tr>\n",
" <td>Performance (wydajność: zużycie zasobów, czas odpowiedzi) </td> <td>10 </td>\n",
" </tr>\n",
" <tr>\n",
" <td> Supportability (możliwość instalacji i działania na różnych platformach) </td> <td> 10 </td>\n",
" </tr>\n",
" <tr>\n",
" <td> Podręcznik użytkowania lub pomocy dla użytkownika) </td> <td> 20 </td>\n",
" </tr>\n",
" <tr> \n",
" <td>Raport z testowania wersji końcowej </td> <td> 20 </td>\n",
" </tr>\n",
" <tr>\n",
" <td> Raport użyteczności wersji końcowej </td> <td> 20 </td>\n",
" </tr>\n",
" <tr>\n",
" <td> Documentation (zebranie wytworzonych dokumentów systemu oraz podręcznika i raportów (testowania i użyteczności)) </td> <td> 10 </td>\n",
" </tr>\n",
" <tr>\n",
" <td> SUMA </td> <td> 180 </td>\n",
" </tr>\n",
" </table>\n",
" \n",
" * Ocena będzie zatwierdzana przez komisję, w której skład wchodzić będą wszyscy opiekunowie.\n",
" * Do oceny zostaną doliczone punkty bonusowe za demonstracje wyróżnione przez studentów oraz zaproszonych gości.\n",
" * Punkty bonusowe będą przyznawane na podstawie wyników ankiety. W ramach ankiety każdy student i każdy prowadzący (gość) będzie poproszony o wskazanie sześciu najlepszych demonstracji. Studenci nie mogą głosować na demonstracje swoich grup.\n",
"\n",
" * Link do ankiety:\n",
" https://forms.gle/Xrk3fCHc7MXkmFET8\n",
" \n",
"\n",
"### Demonstracje wyróżnione:\n",
"\n",
"<table>\n",
" <tr>\n",
" <td>Miejce</td> <td> Nazwa projektu </td> <td>Punkty bonusowe</td>\n",
" </tr>\n",
" <tr> \n",
" <td>1.</td><td> Jaka to nuta? </td> <td>20</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2.</td><td> DOC AI </td> <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3.</td><td> Songwise </td><td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td><td> Speakato </td><td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <td>5</td><td> PhishandWare </td><td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <td>6</td><td> Meetify </td><td>3</td>\n",
" </tr> \n",
"</table> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plan zajęć\n",
"\n",
"### Wprowadzenie\n",
"* Czas 13.45 - 13.50\n",
"\n",
"### Cyberware\n",
"\n",
"* Czas: 13.50 - 14.15\n",
" * HoneyPot\n",
" * RandomSec\n",
" * Phish&Ware\n",
" \n",
"### Learn and Play\n",
"\n",
"* Czas: 14.20 - 14.55\n",
" * Rozpoznawanie komend głosowych w grach\n",
" * Tao Testing\n",
" * Testy\n",
" * Ekosystem\n",
" \n",
"### Music\n",
"\n",
"* Czas: 15.00 - 15.25\n",
" * Wyszukiwanie słuchaczy podobnej muzyki\n",
" * Rekomandacje muzyczne\n",
" * Odgadywanie utworu muzycznego\n",
"\n",
"\n",
"### Natural Language Processing\n",
"\n",
"* Czas: 15.30 - 15.55\n",
" * Transfix\n",
" * Automatyczne generowanie kampanii\n",
" * Wyszukiwanie w dokumentach\n",
"\n",
"### Sport Analysis\n",
"\n",
"* Czas: 16.00 - 16.40\n",
" * Predykcja sukcesu w piłce nożnej\n",
" * TV2D\n",
" * Predykcja kontuzji\n",
" * Metryki piłkarzy\n",
" * Analiza przydatności zawodników w La Lidze\n",
"\n",
"### Wypełnienie ankiet i zakończenie\n",
"\n",
"* Czas: 16.45 - 17.00\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.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}

View File

@ -249,7 +249,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.7.6" "version": "3.8.5"
} }
}, },
"nbformat": 4, "nbformat": 4,

View File

@ -0,0 +1,81 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"<div class=\"alert alert-block alert-info\">\n",
"<h1> Projekt badawczo-rozwojowy</h1>\n",
"<h2> 12. <i>Planowanie prac badawczo-rozwojowych</i>[laboratorium]</h2> \n",
"<h3>Krzysztof Jassem (2021)</h3>\n",
"</div>\n",
"\n",
"![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Cel laboratorium nr 12\n",
"\n",
"Celem laboratorium jest opracowanie harmonogramu wstecznego dla zadań wykonanych w trakcie przedmiotu Projekt badawczo-rozwojowy. Harmonogram uwzględniać ma ponadto zadania planowane do wykonania w drugim semestrze."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Plan laboratorium\n",
"Utwórzcie harmonogram wykonania zadań utworzony w programie MS-Project. \n",
"Harmonogram powinien odtwarzać autentyczne terminy zadań wykonanych do końca 1. semestru. \n",
"\n",
"Dokumentację wyniku zadania będą stanowić:\n",
"* plik .mpp,\n",
"* wydruk wykresu Gantta (zawierający m.in. procent aktualnego wykonania każdego zadania),\n",
"* dotychczasową estymację kosztów wykonania projektu; ceny jednostkowe za zasoby (w tym osobogodziny) powinny opierać się na udokumentowanych źródłach.\n",
"\n",
"Dostęp do MS-Project przez remote-labs.wmi.amu.edu.pl\n",
"\n",
"Jeśli nie ma dostępu do MS-Project, to proszę wybrać dowolny system, np. OpenProject.\n",
"\n",
"Ocena: 30 punktów"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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[laboratorium]",
"title": "Projekt badawczo-rozwojowy",
"year": "2021"
},
"nbformat": 4,
"nbformat_minor": 4
}

View File

@ -7,7 +7,7 @@
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n", "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"<div class=\"alert alert-block alert-info\">\n", "<div class=\"alert alert-block alert-info\">\n",
"<h1> Projekt badawczo-rozwojowy</h1>\n", "<h1> Projekt badawczo-rozwojowy</h1>\n",
"<h2> 13. <i>Planowanie prac badawczo-rozwojowych</i>[laboratorium]</h2> \n", "<h2> 12. <i>Planowanie prac badawczo-rozwojowych</i>[laboratorium]</h2> \n",
"<h3>Krzysztof Jassem (2021)</h3>\n", "<h3>Krzysztof Jassem (2021)</h3>\n",
"</div>\n", "</div>\n",
"\n", "\n",
@ -18,7 +18,7 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"# Cel laboratorium nr 13\n", "# Cel laboratorium nr 12\n",
"\n", "\n",
"Celem laboratorium jest opracowanie harmonogramu wstecznego dla zadań wykonanych w trakcie przedmiotu Projekt badawczo-rozwojowy. Harmonogram uwzględniać ma ponadto zadania planowane do wykonania w drugim semestrze." "Celem laboratorium jest opracowanie harmonogramu wstecznego dla zadań wykonanych w trakcie przedmiotu Projekt badawczo-rozwojowy. Harmonogram uwzględniać ma ponadto zadania planowane do wykonania w drugim semestrze."
] ]
@ -29,13 +29,18 @@
"source": [ "source": [
"# Plan laboratorium\n", "# Plan laboratorium\n",
"Utwórzcie harmonogram wykonania zadań utworzony w programie MS-Project. \n", "Utwórzcie harmonogram wykonania zadań utworzony w programie MS-Project. \n",
"Harmonogram powinien odtwarzać autentyczne terminy zadań już wykonanych. \n", "Harmonogram powinien odtwarzać autentyczne terminy zadań wykonanych do końca 1. semestru. \n",
"Ponadto harmonogram zawierać ma zadania do wykonania do końca 1. semestru oraz w 2. semestrze przedmiotu Projekt badawczo-rozwojowy. \n", "\n",
"Dokumentację wyniku zadania będą stanowić:\n", "Dokumentację wyniku zadania będą stanowić:\n",
"* plik .mpp,\n", "* plik .mpp,\n",
"* wydruk wykresu Gantta (zawierający m.in. procent aktualnego wykonania każdego zadania),\n", "* wydruk wykresu Gantta (zawierający m.in. procent aktualnego wykonania każdego zadania),\n",
"* odpowiednie raporty potwierdzające poprawność przydzielenia zasobów,\n", "* dotychczasową estymację kosztów wykonania projektu; ceny jednostkowe za zasoby (w tym osobogodziny) powinny opierać się na udokumentowanych źródłach.\n",
"* dotychczasową estymację kosztów wykonania projektu; ceny jednostkowe za zasoby (w tym osobogodziny) powinny opierać się na udokumentowanych źródłach." "\n",
"Dostęp do MS-Project przez remote-labs.wmi.amu.edu.pl\n",
"\n",
"Jeśli nie ma dostępu do MS-Project, to proszę wybrać dowolny system, np. OpenProject.\n",
"\n",
"Ocena: 30 punktów"
] ]
} }
], ],

View File

@ -0,0 +1,739 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"<div class=\"alert alert-block alert-info\">\n",
"<h1> Przygotowanie do projektu badawczo-rozwojowego</h1>\n",
"<h2> 13. <i>Planowanie prac badawczo-rozwojowych</i>[wykład]</h2> \n",
"<h3>Krzysztof Jassem (2021)</h3>\n",
"</div>\n",
"\n",
"![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-success\">\n",
" \n",
"<h3>Harmonogram projektu</h3> \n",
" \n",
"Harmonogram projektu to plan uzyskania celów projektu uwzględniający:\n",
"<ul>\n",
" <li> podział pracy na etapy i zadania,</li>\n",
" <li> przydział zasobów do zadań,</li>\n",
" <li> terminy wykonania zadań.</li>\n",
"</ul>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 1. Zasady planowania harmonogramu"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.1. Bierz pod uwagę ograniczenia"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-success\">\n",
"<h3>Ograniczenia</h3> \n",
" \n",
"Ograniczenia to czynniki, które wpływają na realizację harmonogramu.\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Rodzaje ograniczeń:\n",
"Wyróżniamy następujace typy ograniczeń:\n",
" * Ograniczenia czasowe\n",
" * Ograniczenia techniczne\n",
" * Ograniczenia organizacyjne "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ograniczenia czasowe\n",
"**Ograniczenie czasowe** to ramy czasowe, w których musi się zmieścić projekt lub jego etap.\n",
"\n",
"* Rodzaje ograniczeń czasowych:\n",
" * Nie wcześniej niż,\n",
" * Nie później niż,\n",
" * W konkretnym dniu.\n",
"\n",
"* Przykłady ograniczeń czasowych:\n",
" * wykonanie pewnego zadania jest uwarunkowane ukończeniem innego zadania,\n",
" * projekt ma być zakończony w określonym terminie.\n",
" \n",
"* Wskazówki: jak radzić sobie z ograniczaniami czasowymi?\n",
" * Ustawiać zależności między zadaniami\n",
" * Ustawiać hamronogram \"od końca\"."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ograniczenia techniczne\n",
"**Ograniczenie techniczne** to ograniczenia wynikające z przyczyn zewnętrznych, niezależnych od zespołu projektowego.\n",
"\n",
"* Przykłady ograniczeń technicznych:\n",
" * termin dostawy sprzętu,\n",
" * załamanie pogody,\n",
" * pandemia,\n",
" * współpraca z podmiotami zewnętrznymi.\n",
" \n",
"* Wskazówki: jak radzić sobie z ograniczeniami technicznymi?\n",
"\n",
" * Ustawiać zależność ZR (Zakończenie Rozpoczęcie) dla zadań zależnych od innych przedsiębiorstw,\n",
" * Dodawać do zadań odstępy czasowe,\n",
" * Dodawać rezerwę kierowniczą."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ograniczenia organizacyjne\n",
"**Ograniczenia organizacyjne** to ograniczenia wynikające z zależności pomiędzy kilkoma projektami realizowanymi:\n",
" * w jednym zespole,\n",
" * przez daną osobę, \n",
" * z wykorzystaniem tych samych zasobów.\n",
"\n",
" * Wskazówki: jak radzić sobie z ograniczeniami organizacyjnymi?\n",
" * Odpowiednio zarządzać zasobami: technicznymi i ludzkimi,\n",
" * Współdzielić zasoby między projektami,\n",
" * Ustawiać indywidualne czasy pracy."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.2. Zarządzaj zapasem czasu"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-success\">\n",
"<h3>Zapas czasu</h3> \n",
" \n",
"<b> Zapas czasu </b> to czas, o który może opóźnić się realizacja zadania, nie wpływając na termin ukończenia projektu.\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-success\">\n",
" \n",
"<h3>Ścieżka krytyczna</h3> \n",
" \n",
"<b> Ścieżka krytyczna </b> 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",
"<figure> \n",
"<img src=\"obrazy/ścieżka krytyczna.png\" alt=\"Przykład ścieżki krytycznej\" width=500px>\n",
"<figcaption> Przykład ścieżki krytycznej </figcaption>\n",
"</figure>\n",
"\n",
"</div>"
]
},
{
"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": [
"<div class=\"alert alert-block alert-success\">\n",
"<h3>Prawo Parkinsona</h3> \n",
" \n",
"Praca będzie się rozrastać, aby wypełnić cały czas na nią przewidziany.\n",
"\n",
"<figure> \n",
"<img src=\"obrazy/prawo Parkinsona.png\" alt=\"Prawo Parkinsona\" width=500px>\n",
"<figcaption> Prawo Parkinsona, źródło: https://www.timeflies.us/blog/what-is-parkinson-s-law-and-how-it-can-make-you-more-productive</figcaption>\n",
"</figure>\n",
"\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 2. Struktura podziału pracy"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-success\">\n",
"<h3>Struktura Podziału Pracy</h3> \n",
" \n",
"Struktura Podziału Pracy to hierarchiczna reprezentacja podziału pracy w projekcie.\n",
"\n",
"</div>"
]
},
{
"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",
"<figure> \n",
"<img src=\"obrazy/SPP.jfif\" alt=\"Struktura Podziału Pracy\" width=600px>\n",
"<figcaption> Struktura Podziału Pracy, źródło: http://pm2pm.pl/slownik-project-managera-wbs/</figcaption>\n",
"</figure>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-info alert-success\">\n",
"<h3>Zasada 8 - 80</h3>\n",
"Wykonanie najmniejszej jednostki harmonogramu powinno zajmować między 8 a 80 godzin.\n",
"</div>"
]
},
{
"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",
"<br> </br> \n",
"<figure> \n",
"<img src=\"obrazy/ustawienie daty.png\" alt=\"Ustawienie daty\" width=300px>\n",
"<figcaption> Ustawienie daty początku projektu</figcaption>\n",
"</figure>"
]
},
{
"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",
"<br> </br> \n",
"<figure> \n",
"<img src=\"obrazy/stworzenie SPP.png\" alt=\"Stworzenie SPP\" width=300px>\n",
"<figcaption> Stworzenie SPP</figcaption>\n",
"</figure>"
]
},
{
"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",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/tryby zadań.png\" alt=\"Ustawianie trybów zadań\" width=500px>\n",
"<figcaption> Ustawianie trybów zadań</figcaption>\n",
"</figure>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.4. Określenie punktów kontrolnych"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-success\">\n",
"<h3>Punkt kontrolny</h3> \n",
" \n",
"<b>Punkt kontrolny</b> (ang. milestone) punkt na osi czasu, który podsumowuje określony zestaw zadań, bądź daną fazę projektu.\n",
"<ul>\n",
" <li> Może to być: podpisanie dokumentu, otrzymanie wyniku, ważne spotkanie, zatwierdzenie pracy itp.\n",
" <li> Zazwyczaj osiągnięcie punktu kontrolnego wiąże się z dalszymi decyzjami odnośnie rozwoju projektu.\n",
" <li> Punkt kontrolny ma zerowy czas trwania.\n",
" <li> Pojęcie punktu kontrolnego zastąpiło pojęcie kamienia milowego.\n",
"</ul>\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/ustawienie punktu kontrolnego.png\" alt=\"Ustawianie punktu kontrolnego\" width=900px>\n",
"<figcaption> Ustawianie punktu kontrolnego</figcaption>\n",
"</figure>\n",
"\n",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/punkt kontrolny.png\" alt=\"Punkt kontrolny w MS-Project\" width=500px>\n",
"<figcaption> Oznaczenie punktu kontrolnego w MS-Project</figcaption>\n",
"</figure>"
]
},
{
"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",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/czas pracy 1.png\" alt=\"Ustawianie czasu pracy dla zespołu\" width=500px>\n",
"<figcaption> Ustawianie czasu pracy dla zespołu - przycisk</figcaption>\n",
"</figure>\n",
"\n",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/czas pracy 2.png\" alt=\"Ustawianie czasu pracy dla zespołu\" width=500px>\n",
"<figcaption> Ustawianie czasu pracy dla zespołu - kalendarz</figcaption>\n",
"</figure>\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.6. Modyfikacja diagramu Gantta"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-success\">\n",
"<h3>Diagram Gantta</h3> \n",
" \n",
"<b> Diagram Gantta </b> 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",
"<br>\n",
"<figure> \n",
"<img src=\"obrazy/diagram Gantta.png\" alt=\"diagram Gantta\" width=500px>\n",
"<figcaption> Przykładowy diagram Gantta, źródło: https://kierownikprojektu.com/2020/06/11/16-zalet-wykresu-gantta/ </figcaption>\n",
"</figure>\n",
"\n",
"\n",
"<h4> Zalety wykresu Gantta </h4>\n",
"<ul>\n",
"<li> przedstawia następstwo zdarzeń, </li>\n",
"<li> uwzględnia zadania wykonywane równolegle, </li>\n",
"<li> dobrze sprawdza się dla niewielkich projektów. </li>\n",
"</ul>\n",
"\n",
"<h4> Wady wykresu Gantta </h4>\n",
"<ul>\n",
"<li> nie zawiera szczegółowych opisów zadań, </li>\n",
"<li> wymusza podanie konkretnych dat. </li>\n",
"</ul>\n",
"</div>"
]
},
{
"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": [
"<div class=\"alert alert-block alert-success\">\n",
"<h3>Zależności między zadaniami</h3> \n",
" \n",
"Zadanie B jest <b>zależne</b> od A, gdy zmiana terminu wykonania A wpływa na termin wykonania B. Zadanie A nazywamy <b>poprzednikiem</b>, a B <b>następnikiem </b>. \n",
" \n",
"<h4> Typy zależności </h4>\n",
"<ul>\n",
"<li> Zadania typu ZR (zakończenie-rozpoczęcie). Następnik (B) może się rozpocząć dopiero po zakończeniu poprzednika (A).\n",
"<li> Zadania typu RR (rozpoczęcie-rozpoczęcie). Następnik (B) może się rozpocząć dopiero po rozpoczęciu poprzednika(A).\n",
"<li> Zadania typu ZZ (zakończenie-zakończenie). Następnik (B) może się zakończyć dopiero po zakończeniu poprzednika (A).\n",
"<li> Zadania typu RZ (rozpoczęcie-zakończenie). Następnik (B) może się zakończyć dopiero po rozpoczęciu poprzednika (A).\n",
"</ul>\n",
"</div>"
]
},
{
"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",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/zależności.png\" alt=\"Ustawianie zależności między zadaniami\" width=500px>\n",
"<figcaption> Ustawianie zależności między zadaniami</figcaption>\n",
"</figure>"
]
},
{
"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",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/odstęp czasowy.png\" alt=\"Ustawianie odstępów czasowych\" width=500px>\n",
"<figcaption> Ustawianie odstępów czasowych</figcaption>\n",
"</figure>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.9 Określenie zasobów w projekcie"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-success\">\n",
"<h3>Zasoby </h3> \n",
" \n",
"<b>Zasoby (ang. resources) </b> 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",
"<ul>\n",
"<li> Praca (ludzie lub komputery),\n",
"<li> Materiał (np. energia),\n",
"<li> Koszt (np. koszt podróży).\n",
"</ul>\n",
"</div> "
]
},
{
"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",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/zasoby 1.png\" alt=\"Zdefiniowanie zasobów w MS-Project\" width=400px>\n",
"<figcaption> Definiowanie zasobów - arkusz zasobów</figcaption>\n",
"</figure>\n",
"\n",
"<br> </br>\n",
"\n",
"<figure> \n",
"<img src=\"obrazy/zasoby 2.png\" alt=\"Zdefiniowanie zasobów w MS-Project\" width=800px>\n",
"<figcaption> Definiowanie zasobów - dane zasobów</figcaption>\n",
"</figure>"
]
},
{
"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",
"<br> </br>\n",
"\n",
"<figure> \n",
"<img src=\"obrazy/czas pracy zasobu.png\" alt=\"Czas pracy zasobu\" width=500px>\n",
"<figcaption> Ustawianie indywidualnego czasu pracy - wybranie zasobu</figcaption>\n",
"</figure>\n",
"\n",
"<br> </br>\n",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/czas pracy zasobu 2.png\" alt=\"Czas pracy zasobu 2\" width=500px>\n",
"<figcaption> Ustawianie indywidualnego czasu pracy - zmiana tygodniowego planu pracy</figcaption>\n",
"</figure>"
]
},
{
"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",
" <br> </br>\n",
"\n",
"<figure> \n",
"<img src=\"obrazy/przydzielanie zasobów.png\" alt=\"Przydzielanie zasobów do zadań\" width=500px>\n",
"<figcaption> Przydzielanie zasobów do zadań</figcaption>\n",
"</figure>\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",
"<figure> \n",
"<img src=\"obrazy/przeciążenie zasobów 1.png\" alt=\"Sprawdzenie przeciążenia zasobów\" width=400px>\n",
"<figcaption> Sprawdzenie przeciążenia zasobów</figcaption>\n",
"</figure>\n",
"\n",
" \n",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/przeciążenie zasobów 2.png\" alt=\"Zasoby z nadmierną alokacją pracy\" width=800px>\n",
"<figcaption> Zasoby z nadmierną alokacją pracy (zasoby przeciążone) - przykład</figcaption>\n",
"</figure>\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",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/odciążanie ręczne.png\" alt=\"Odciążanie ręczne\" width=500px>\n",
"<figcaption> Zmniejszenie zaangażowania zasobu w zadanie</figcaption>\n",
"</figure>\n",
"\n",
"<br> </br>\n",
"Automatyczne bilansowanie zasobu wykonywane jest przez MS-Porject na żądanie użytkownika.\n",
"\n",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/automatyczne bilansowanie zasobów.png\" alt=\"automatyczne bilansowanie zasobów\" width=500px>\n",
"<figcaption>Automatyczne bilansowanie zasobów</figcaption>\n",
"</figure>\n",
"\n",
"<br> </br>\n",
"Efekt bilansowania może spowodować przesunięcie pracy w czasie, a co za tym idzie, opóźnienie realizacji projektu:\n",
"\n",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/bilansowanie automatyczne 1.png\" alt=\"obciążenie zasobu przez bilansowaniem\" width=400px>\n",
"<figcaption>Obciążenie zasobu przez bilansowaniem</figcaption>\n",
"</figure>\n",
"\n",
"\n",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/bilansowanie automatyczne 2.png\" alt=\"obciążenie zasobu po bilansowaniu\" width=400px>\n",
"<figcaption>Obciążenie zasobu po bilansowaniu</figcaption>\n",
"</figure>"
]
},
{
"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",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/zadania krytyczne.png\" alt=\"ścieżka krytyczne\" width=600px>\n",
"<figcaption>Ścieżka krytyczna - przykład</figcaption>\n",
"</figure>\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",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/raport całościowy.png\" alt=\"raport całościowy\" width=600px>\n",
"<figcaption>Przykład raportu całościowego</figcaption>\n",
"</figure>\n",
"\n",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/raport zasobów.png\" alt=\"raport zasobów\" width=600px>\n",
"<figcaption>Przykład raportu zasobów</figcaption>\n",
"</figure>\n",
"\n",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/raport kosztów.png\" alt=\"raport kosztów\" width=600px>\n",
"<figcaption>Przykład raportu kosztów</figcaption>\n",
"</figure>"
]
},
{
"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",
"<br> </br>\n",
"<figure> \n",
"<img src=\"obrazy/modyfikacja planu.png\" alt=\"modyfikacja planu\" width=600px>\n",
"<figcaption>Metody poprawiania harmonogramu</figcaption>\n",
"</figure>"
]
},
{
"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.7.6"
},
"subtitle": "13. Planowanie prac badawczo-rozwojowych[wykład]",
"title": "Przygotowanie do projektu badawczo-rozwojowego",
"year": "2021"
},
"nbformat": 4,
"nbformat_minor": 4
}

View File

@ -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",
"<div class=\"alert alert-block alert-info\">\n",
"<h1> Przygotowanie do projektu badawczo-rozwojowego</h1>\n",
"<h2> 14. Zarządzanie projektami badawczo-rozwojowymi</i>[wykład]</h2> \n",
"<h3>Krzysztof Jassem (2021)</h3>\n",
"</div>\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",
"<figure> \n",
"<img src=\"obrazy/czynnik ludzki.jpg\" alt=\"Okładka\" width=300px>\n",
"<figcaption> Okładka książki </figcaption>\n",
"</figure>"
]
},
{
"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",
"<table>\n",
" <tr>\n",
" <th>Problem</th> <th> Bar szybkiej obsługi </th> <th>Projekt B+R</th>\n",
" </tr>\n",
" <tr> \n",
" <td>Czy błąd jest grzechem?</td> <td> Oczywiście </td> <td>It's OK. to fail</td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy za popełnianie błędów należy karać?</td><td> Niestety, tak </td> <td>Niestety, nie</td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy ludzi należy zachęcać do popełniania błędów?</td><td> Zdecydowanie nie </td><td> Tak</td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy wadliwą wersję hamburgera / systemu należy wyrzucić?</td><td> Ależ TAK! </td><td>Niekoniecznie</td>\n",
" </tr> \n",
"</table> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 1.2. Sposób motywowania: bodźce negatywne i pozytywne\n",
"<table>\n",
" <tr>\n",
" <th>Problem</th> <th> Bar szybkiej obsługi </th> <th>Projekt B+R</th>\n",
" </tr>\n",
" <tr>\n",
" <td>Większość ludzi lubi swoją pracę.</td><td> FALSE </td> <td> TRUE</td>\n",
" </tr>\n",
" <tr> \n",
" <td>Zarządzanie ludźmi to \"kopanie ich w tyłek\".</td> <td> TRUE </td> <td> FALSE </td>\n",
" </tr>\n",
"</table> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 1.3. Podejście do indywidualistów\n",
"<table>\n",
" <tr>\n",
" <th>Problem</th> <th> Bar szybkiej obsługi </th> <th>Projekt B+R</th>\n",
" </tr>\n",
" <tr>\n",
" <td>Nie ma ludzi niezastąpionych</td><td> TRUE </td> <td> FALSE</td>\n",
" </tr>\n",
" <tr> \n",
" <td>Czy wyjątkowość pracownika należy podtrzymywać czy tępić? </td> <td> Tępić (lub awansować) </td> <td> Hołubić </td>\n",
" </tr>\n",
"</table> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 1.4. Podejście do kreatywności i samodoskonalenia się pracowników\n",
"<table>\n",
" <tr>\n",
" <th>Problem</th> <th> Bar szybkiej obsługi </th> <th>Projekt B+R</th>\n",
" </tr>\n",
" <tr>\n",
" <td>Jaką część czasu poświęcać na realizację zadania, a jaką na dyskusję?</td><td> 99 / 1 </td> <td> Dyskusja jest ważnym elementem pracy.</td>\n",
" </tr>\n",
" <tr> \n",
" <td>Czy warto poświęcać czas pracownika na doskonalenie innych umiejętności?</td> <td> To zależy </td> <td> Warto </td>\n",
" </tr>\n",
"</table> "
]
},
{
"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": [
"<div class=\"alert alert-block alert-success\">\n",
"<h3>Prawo Parkinsona</h3> \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",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3.1. Kto najlepiej szacuje czas przewidziany na pracę?\n",
"\n",
"<table>\n",
" <tr>\n",
" <th>Kto szacował? </th> <th> Jaką osiagnięto wydajność? </th>\n",
" </tr>\n",
" <tr> \n",
" <td>Kierownik</td> <td> 6,6 </td> \n",
" </tr>\n",
" <tr>\n",
" <td>Kierownik w konsultacji z programistą</td><td> 7,8 </td>\n",
" </tr>\n",
" <tr>\n",
" <td>Programista</td><td> 8,0 </td>\n",
"</table> \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",
"<table>\n",
" <tr>\n",
" <th>Kto szacował? </th> <th> Jaką osiagnięto wydajność? </th>\n",
" </tr>\n",
" <tr> \n",
" <td>Programista</td> <td> 8,0 </td> \n",
" </tr>\n",
" <tr>\n",
" <td>Osobna z zewnątrz</td><td> 9,5 </td>\n",
"</table> \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",
"<table>\n",
" <tr>\n",
" <th>Kto szacował? </th> <th> Jaką osiagnięto wydajność? </th>\n",
" </tr>\n",
" <tr> \n",
" <td>Osoba z zewnątrz</td> <td> 9,5 </td> \n",
" </tr>\n",
" <tr>\n",
" <td>Nikt</td><td> 12,0 </td>\n",
"</table> \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": [
"<div class=\"alert alert-block alert-success\"> \n",
"<h3>Wniosek końcowy</h3>\n",
"Prawo Parkinsona odnosi się do organizacji formalnych <b>typu biurokratycznego</b>. \n",
"\n",
"Prawo Parkinsona <b>nie</b> stosuje się do pracy programistycznej.\n",
"</div>"
]
},
{
"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",
"<table>\n",
" <tr>\n",
" <th>Porównanie między... </th> <th> Stosunek wydajności </th>\n",
" </tr>\n",
" <tr> \n",
" <td>Najlepszy a średni</td> <td> 2,5 : 1</td> \n",
" </tr>\n",
" <tr>\n",
" <td>Najlepszy a najgorszy</td><td> 10 : 1 </td>\n",
"</table> "
]
},
{
"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",
"<table>\n",
" <tr>\n",
" <th>Czynnik środowiska </th> <th> 1. kwartyl </th> <th> 4. kwartyl </th>\n",
" </tr>\n",
" <tr> \n",
" <td>Jaką masz powierzchnię do dyspozycji</td> <td> 7 m kw. </td> <td> 4 m kw. </td>\n",
" \n",
" </tr>\n",
" <tr>\n",
" <td>Czy jest dostatecznie cicho?</td><td> TAK: 57% </td> <td> TAK: 29% </td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy masz zapewnioną prywatność?</td><td> TAK: 62% </td> <td> TAK: 19% </td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy możesz wyłączyć telefon?</td><td> TAK: 52% </td> <td> TAK: 10% </td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy ludzie niepotrzebnie odrywają Cię od pracy?</td><td> TAK: 38% </td> <td> TAK: 76% </td>\n",
" </tr>\n",
"</table> \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.7.6"
},
"subtitle": "14. Zarządzanie pracami badawczo-rozwojowymi[wykład]",
"title": "Przygotowanie do projektu badawczo-rozwojowego",
"year": "2021"
},
"nbformat": 4,
"nbformat_minor": 4
}

View File

@ -242,6 +242,13 @@
"\n" "\n"
] ]
}, },
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Schemat CI/CD](obrazy/cicd.drawio.png \"Schemat CI/CD\")"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
@ -430,6 +437,16 @@
" * Możliwość pracy w środowisku rozproszonym\n", " * Możliwość pracy w środowisku rozproszonym\n",
" * Możliwość usunięcia bariery między wykonawcą i klientem" " * Możliwość usunięcia bariery między wykonawcą i klientem"
] ]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Przykład - Jenkins\n",
"\n",
"https://git.wmi.amu.edu.pl/filipg/paper-cutter/src/branch/master/Jenkinsfile\n",
"\n"
]
} }
], ],
"metadata": { "metadata": {

View File

@ -7,7 +7,7 @@
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n", "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"<div class=\"alert alert-block alert-info\">\n", "<div class=\"alert alert-block alert-info\">\n",
"<h1> Przygotowanie do projektu badawczo-rozwojowego</h1>\n", "<h1> Przygotowanie do projektu badawczo-rozwojowego</h1>\n",
"<h2> 14. Zarządzanie projektami badawczo-rozowjowymi</i>[wykład]</h2> \n", "<h2> 14. Zarządzanie projektami badawczo-rozwojowymi</i>[wykład]</h2> \n",
"<h3>Krzysztof Jassem (2021)</h3>\n", "<h3>Krzysztof Jassem (2021)</h3>\n",
"</div>\n", "</div>\n",
"\n", "\n",
@ -18,10 +18,23 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"## Produkuj hamburgery, sprzedawaj hamburgery...\n", "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",
"<figure> \n",
"<img src=\"obrazy/czynnik ludzki.jpg\" alt=\"Okładka\" width=300px>\n",
"<figcaption> Okładka książki </figcaption>\n",
"</figure>"
]
},
{
"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", "## ... 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", "Różnice w zarządzaniu można zobrazować w kilku aspektach:\n",
" * Podejście do popełniania błędów przez pracowników\n", " * Podejście do popełniania błędów przez pracowników \n",
" * Sposób motywowania: bodźce negatywne i pozytywne\n", " * Sposób motywowania: bodźce negatywne i pozytywne\n",
" * Podejście do indywidualistów\n", " * Podejście do indywidualistów\n",
" * Podejście do kreatywności i samodoskonalenia się pracowników" " * Podejście do kreatywności i samodoskonalenia się pracowników"
@ -31,29 +44,360 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"## Czy ludzie pracują lepiej pod presją?" "# 1.1. Popełnianie błędów przez pracowników\n",
"<table>\n",
" <tr>\n",
" <th>Problem</th> <th> Bar szybkiej obsługi </th> <th>Projekt B+R</th>\n",
" </tr>\n",
" <tr> \n",
" <td>Czy błąd jest grzechem?</td> <td> Oczywiście </td> <td>It's OK. to fail</td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy za popełnianie błędów należy karać?</td><td> Niestety, tak </td> <td>Niestety, nie</td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy ludzi należy zachęcać do popełniania błędów?</td><td> Zdecydowanie nie </td><td> Tak</td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy wadliwą wersję hamburgera / systemu należy wyrzucić?</td><td> Ależ TAK! </td><td>Niekoniecznie</td>\n",
" </tr> \n",
"</table> "
] ]
}, },
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"## Prawo Parkinsona - mit czy rzeczywistość?" "# 1.2. Sposób motywowania: bodźce negatywne i pozytywne\n",
"<table>\n",
" <tr>\n",
" <th>Problem</th> <th> Bar szybkiej obsługi </th> <th>Projekt B+R</th>\n",
" </tr>\n",
" <tr>\n",
" <td>Większość ludzi lubi swoją pracę.</td><td> FALSE </td> <td> TRUE</td>\n",
" </tr>\n",
" <tr> \n",
" <td>Zarządzanie ludźmi to \"kopanie ich w tyłek\".</td> <td> TRUE </td> <td> FALSE </td>\n",
" </tr>\n",
"</table> "
] ]
}, },
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"## 7 syrenich śpiewów...\n", "# 1.3. Podejście do indywidualistów\n",
"## ...czyli o pokusach w zarządzaniu, które prowadzą na manowce" "<table>\n",
" <tr>\n",
" <th>Problem</th> <th> Bar szybkiej obsługi </th> <th>Projekt B+R</th>\n",
" </tr>\n",
" <tr>\n",
" <td>Nie ma ludzi niezastąpionych</td><td> TRUE </td> <td> FALSE</td>\n",
" </tr>\n",
" <tr> \n",
" <td>Czy wyjątkowość pracownika należy podtrzymywać czy tępić? </td> <td> Tępić (lub awansować) </td> <td> Hołubić </td>\n",
" </tr>\n",
"</table> "
] ]
}, },
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"## Jakie czynniki faktycznie wpływają na lepszą pracę informatyków?" "# 1.4. Podejście do kreatywności i samodoskonalenia się pracowników\n",
"<table>\n",
" <tr>\n",
" <th>Problem</th> <th> Bar szybkiej obsługi </th> <th>Projekt B+R</th>\n",
" </tr>\n",
" <tr>\n",
" <td>Jaką część czasu poświęcać na realizację zadania, a jaką na dyskusję?</td><td> 99 / 1 </td> <td> Dyskusja jest ważnym elementem pracy.</td>\n",
" </tr>\n",
" <tr> \n",
" <td>Czy warto poświęcać czas pracownika na doskonalenie innych umiejętności?</td> <td> To zależy </td> <td> Warto </td>\n",
" </tr>\n",
"</table> "
]
},
{
"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": [
"<div class=\"alert alert-block alert-success\">\n",
"<h3>Prawo Parkinsona</h3> \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",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3.1. Kto najlepiej szacuje czas przewidziany na pracę?\n",
"\n",
"<table>\n",
" <tr>\n",
" <th>Kto szacował? </th> <th> Jaką osiagnięto wydajność? </th>\n",
" </tr>\n",
" <tr> \n",
" <td>Kierownik</td> <td> 6,6 </td> \n",
" </tr>\n",
" <tr>\n",
" <td>Kierownik w konsultacji z programistą</td><td> 7,8 </td>\n",
" </tr>\n",
" <tr>\n",
" <td>Programista</td><td> 8,0 </td>\n",
"</table> \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",
"<table>\n",
" <tr>\n",
" <th>Kto szacował? </th> <th> Jaką osiagnięto wydajność? </th>\n",
" </tr>\n",
" <tr> \n",
" <td>Programista</td> <td> 8,0 </td> \n",
" </tr>\n",
" <tr>\n",
" <td>Osobna z zewnątrz</td><td> 9,5 </td>\n",
"</table> \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",
"<table>\n",
" <tr>\n",
" <th>Kto szacował? </th> <th> Jaką osiagnięto wydajność? </th>\n",
" </tr>\n",
" <tr> \n",
" <td>Osoba z zewnątrz</td> <td> 9,5 </td> \n",
" </tr>\n",
" <tr>\n",
" <td>Nikt</td><td> 12,0 </td>\n",
"</table> \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": [
"<div class=\"alert alert-block alert-success\"> \n",
"<h3>Wniosek końcowy</h3>\n",
"Prawo Parkinsona odnosi się do organizacji formalnych <b>typu biurokratycznego</b>. \n",
"\n",
"Prawo Parkinsona <b>nie</b> stosuje się do pracy programistycznej.\n",
"</div>"
]
},
{
"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",
"<table>\n",
" <tr>\n",
" <th>Porównanie między... </th> <th> Stosunek wydajności </th>\n",
" </tr>\n",
" <tr> \n",
" <td>Najlepszy a średni</td> <td> 2,5 : 1</td> \n",
" </tr>\n",
" <tr>\n",
" <td>Najlepszy a najgorszy</td><td> 10 : 1 </td>\n",
"</table> "
]
},
{
"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",
"<table>\n",
" <tr>\n",
" <th>Czynnik środowiska </th> <th> 1. kwartyl </th> <th> 4. kwartyl </th>\n",
" </tr>\n",
" <tr> \n",
" <td>Jaką masz powierzchnię do dyspozycji</td> <td> 7 m kw. </td> <td> 4 m kw. </td>\n",
" \n",
" </tr>\n",
" <tr>\n",
" <td>Czy jest dostatecznie cicho?</td><td> TAK: 57% </td> <td> TAK: 29% </td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy masz zapewnioną prywatność?</td><td> TAK: 62% </td> <td> TAK: 19% </td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy możesz wyłączyć telefon?</td><td> TAK: 52% </td> <td> TAK: 10% </td>\n",
" </tr>\n",
" <tr>\n",
" <td>Czy ludzie niepotrzebnie odrywają Cię od pracy?</td><td> TAK: 38% </td> <td> TAK: 76% </td>\n",
" </tr>\n",
"</table> \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."
] ]
} }
], ],
@ -76,7 +420,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.8.5" "version": "3.7.6"
}, },
"subtitle": "14. Zarządzanie pracami badawczo-rozwojowymi[wykład]", "subtitle": "14. Zarządzanie pracami badawczo-rozwojowymi[wykład]",
"title": "Przygotowanie do projektu badawczo-rozwojowego", "title": "Przygotowanie do projektu badawczo-rozwojowego",

View File

@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2021-11-29T14:03:06.274Z" agent="5.0 (X11)" etag="t4A7ywasqgVCScrE_afR" version="15.5.8" type="device"><diagram id="SXcAk9oLA_2oDQYAUqRg" name="Page-1">7VvbcqM4EP0aP8ZlEMb2Y+JkZrObnU0lVTOZp5QMitEYECsJX+brtzHCXGQ8eHwhqXWqkkKtC6L79OlWQzpoHCw/cxx5fzOX+B2z5y476LZjmiPLgL+JYJUKDHtkpZIpp66S5YJn+pMoYU9JY+oSURooGfMljcpCh4UhcWRJhjlni/KwN+aX7xrhKdEEzw72dek36kovlQ7NQS7/g9Cpl90ZHjDtCXA2WD2J8LDLFgURuuugMWdMplfBckz8RHmZXtJ5n2p6NxvjJJRNJnzBD/+Ei8fg369/kZsH/uLfk59Xhqk2J1fZExMXFKCajEuPTVmI/btcesNZHLokWbYHrXzMA2MRCA0Q/iBSrpQ1cSwZiDwZ+KqXLKl8SaZ3B33V/L5uZp23S7X4urEqNB4JpwGRhGeyUPLVS7HxPbtJ0sgXWrdWxVZ1qVQTyePXaliJBIu5Q3apVSEV8ymRO8aZGxyAAxEGu+ErmMeJjyWdl/eBFZKnm3G5seFC2Xsf26frzrEfqzt9E1FnjDo3qDPud4amXKQt7mANJYDmKLmMA//akQx0eDMnXFLwnAc8If4jE1RSFsKQCZOSBYUB1z6dJh0ygUsRFyyWPg3JeOPLuVmSuWS52zC6IrMJtvJBxUIWUu1F7tKZyCt4czbt+Kq3NN1HsfBAAhqD+8HvhOPQ8dr1zpJzHsk11aotOqfZ0DkN1KZ3mhpCan0wWE6T4Nt1qHBY12FBFIPixCsO3dcI9Bh5hGNfdH0cpS4nZkQ6ntJswfIRoyHMvJuDToWSuVh4GzS9Ud8fMz9xd9gA6iF7OBokC0rOZqTQ87b+2fRkodP8fZrAquWQcI2Kk5HFJvVQZIG2kMVoG1mcjKd1oo44uQI7B1R2TNuHDdxMOFxNkyvHI85MF+uSSUwhGdLEoNQtq0oiZLtkNCqnClnrd/gop6D3kCw05aN2k4V+m9Y3jmb69xWK0hDTJBbZBxpfTX1ka+/OuK5vlbkOmK28RLoxNasCoc02DkAV0qjtc8JpPUE4kLhOQ2HUhV4YQ+pT0nI4TFcSXQhd5FUte4mAOyMgqqTLm/S5EAEHWyLgaHiqXKhV8innwQccUY0S+bRNPXZT6hm2mgYPNIZwSeSz1ftBxP4nozbMaB4aQQ4yI9KJHgPHvWEHaLZVSxqDUm7RG3wIayLrJPmAZVYKJZUCSE06cM05XhWGraOo2JF2mFY5wBiV0uUvtrXv+FEFv+l+j5vJ2BrAx/fQft6ZyPxJwhkNdQ/YncoICSd7zN1Xjwl5SWZ2JzN949fJzHBLMmP0Tlb800Pa4UfxDDFCkkS9UYGjElGBs24WHqTPzxFeM9EC8FVGzRtdkuxFjHEcG9hVGwwszQaZT5eMMLRPlVbUFmAhUiQvb0Siq3YDEzrw0HvMuDRsmiy2WjNFume1YcM2FI9qPPBMih9qind8JohOXlQIGNGmY53iLNd+IakxTlo9Bhg6Tp7InJJF8owr4Nxgz1RosVhcijqNYrA1qLzW6CEtBtu2HoLtwalCsKlhAc8cEkns/NCLe//T0/2oadxttUiTbbMUd1Pmd+k8o/4nAiD/SfKUFu5V6N4yo/4tVnVqDWl8iK8TqkV4a4C6fc03z/p9gqmfZrOK/CcI7LHbkKbr30WLGFpZ94W79zvDXllbzrBIx8dodCp86A5/y5xZgo/kSzyJQQv68Wk7RgL4251wuubLCw524QBVmAKNDA0H/S08gU7FE0j/NOGCg9PjwK6+th3oudx5caDnchccnAEHlbhg6mHhvDDQq2rZW576VK6Qx3ESJUpmyVYapohpHf0LWcbi4Gzx8uHAkePTtjzlrB8OoJFm7I9Vw637Zq39ihNq/P3AdsicqTCpH2Tu0wpkT3KcRqiaV3P3T9d7MsWlGNWYKHrVI69OFEcqRkEz/x+b9G1v/p9K6O4/</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB