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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Za co? Maksymalna liczba punktów do zdobycia Wskazówki
Functionality (funkcjonalność) 40 Pokazać wszystkie funkcjonalności. Aby uzyskać maximum, trzeba dać możliwość jakiegoś udziału widowni w demonstracji.
Usability (Użyteczność) 30 Zwrócić uwagę widzów na zalety związane z użytecznością systemu.
Reliability (niewystępowanie błędów2 20 Pokazać demonstrację na żywo (filmik zamiast demonstracji sugeruje, że aplikacja nie jest wiarygodna)
Performance (wydajność: zużycie zasobów, czas odpowiedzi) 10 Aplikacja powinna działać bez przestojów
SUMA 100
" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Za co? Maksymalna liczba punktów do zdobycia
Podręcznik użytkowania lub pomocy dla użytkownika) 10
Raport z testowania wersji końcowej 20
Raport użyteczności wersji końcowej 20
SUMA 50
" + ] + } + ], + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Miejce Nazwa projektu Punkty bonusowe
1. Grupa 7 (Brydż) 10
2. / 3. Grupa 3 (BiedronApp) 6
2. / 3. Grupa 2 (SmartHome WRSD) 6
4. Grupa 1 (FinTech) 3
5. Grupa 5 (AUTOWycena)2
\n", + "\n", + "### Prezentacje wyróżnione przez prowadzących i gości\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Miejce Nazwa projektu Punkty bonusowe
1. / 2. Grupa 3 (BiedronApp) 9
1. / 2. Grupa 7 (Brydż) 9
3. Grupa 5 (AUTOWycena) 5
4 Grupa 1 (FinTech) 3
5 Grupa 2 (SmartHome WRSD) 2
\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", "

Systemy informatyczne

\n", - "

14. Zarządzanie pracami badawczo-rozwojowymi[laboratorium]

\n", + "

14. Zarządzanie pracami twórczymi[laboratorium]

\n", "

Krzysztof Jassem (2022)

\n", "
\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 14\n", - "Celem laboratorium jest przygotowanie publicznej demonstracji projektu." - ] - }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plan laboratorium\n", - "Podczas laboratorium studenci demonstrują wykonany system informatyczny swojemu opiekunowi. \n", - "Opiekun podejmuje decyzję, czy system jest na 6. poziomie gotowości technicznej. \n", - "W przypadku pozytywnym wyraża zgodę na wykonanie demonstracji publicznej. " + "Z tym wykładem nie są planowane zajęcia laboratoryjne." ] } ], @@ -52,7 +42,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.8.5" }, "subtitle": "14. Zarządzanie pracami badawczo-rozwojowymi[laboratorium]", "title": "Projekt badawczo-rozwojowy", diff --git a/materiały na laboratorium/13_planowanie_prac_badawczo-rozwojowych_lab.ipynb b/materiały na laboratorium/13_planowanie_prac_w_projekcie_informatycznym_lab.ipynb similarity index 96% rename from materiały na laboratorium/13_planowanie_prac_badawczo-rozwojowych_lab.ipynb rename to materiały na laboratorium/13_planowanie_prac_w_projekcie_informatycznym_lab.ipynb index 797021e..0e2055a 100644 --- a/materiały na laboratorium/13_planowanie_prac_badawczo-rozwojowych_lab.ipynb +++ b/materiały na laboratorium/13_planowanie_prac_w_projekcie_informatycznym_lab.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/14_zarządzanie_pracami_badawczo-rozwojowymi.ipynb b/materiały na laboratorium/14_zarządzanie_pracami_badawczo-rozwojowymi.ipynb deleted file mode 100644 index 5a4e7d8..0000000 --- a/materiały na laboratorium/14_zarządzanie_pracami_badawczo-rozwojowymi.ipynb +++ /dev/null @@ -1,63 +0,0 @@ -{ - "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 pracami badawczo-rozwojowymi[laboratorium]

\n", - "

Krzysztof Jassem (2022)

\n", - "
\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 14\n", - "Celem laboratorium jest przygotowanie publicznej demonstracji projektu." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Plan laboratorium\n", - "Podczas laboratorium studenci demonstrują wykonany system informatyczny swojemu opiekunowi. \n", - "Opiekun podejmuje decyzję, czy system jest na 6. poziomie gotowości technicznej. \n", - "W przypadku pozytywnym wyraża zgodę na wykonanie demonstracji publicznej. " - ] - } - ], - "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[laboratorium]", - "title": "Projekt badawczo-rozwojowy", - "year": "2021" - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/materiały na wykład/15_demonstracja_projektu.ipynb b/materiały na laboratorium/14_zarządzanie_pracami_w_projekcie_informatycznym.ipynb similarity index 67% rename from materiały na wykład/15_demonstracja_projektu.ipynb rename to materiały na laboratorium/14_zarządzanie_pracami_w_projekcie_informatycznym.ipynb index d06b28c..1f41fea 100644 --- a/materiały na wykład/15_demonstracja_projektu.ipynb +++ b/materiały na laboratorium/14_zarządzanie_pracami_w_projekcie_informatycznym.ipynb @@ -7,12 +7,20 @@ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n", "
\n", "

Systemy informatyczne

\n", - "

15. Demonstracja wyników projektu badawczo-rozwojowego [wykład]

\n", - "

Krzysztof Jassem (2021)

\n", + "

14. Zarządzanie pracami w projeckie informatycznym[laboratorium]

\n", + "

Krzysztof Jassem (2022)

\n", "
\n", "\n", "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plan laboratorium\n", + "Z tym wykładem nie są planowane zajęcia laboratoryjne." + ] } ], "metadata": { @@ -34,10 +42,10 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.8.5" }, - "subtitle": "15. Demonstracja projektu[wykład]", - "title": "Przygotowanie do projektu badawczo-rozwojowego", + "subtitle": "14. Zarządzanie pracami badawczo-rozwojowymi[laboratorium]", + "title": "Projekt badawczo-rozwojowy", "year": "2021" }, "nbformat": 4, diff --git a/materiały na laboratorium/15_demonstracja_projektu_lab.ipynb b/materiały na laboratorium/15_demonstracja_projektu_lab.ipynb deleted file mode 100644 index 9dc2df1..0000000 --- a/materiały na laboratorium/15_demonstracja_projektu_lab.ipynb +++ /dev/null @@ -1,66 +0,0 @@ -{ - "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", - "

15. Demonstracja wyników projektu badawczo-rozwojowego - wnioski[laboratorium]

\n", - "

Krzysztof Jassem (2022)

\n", - "
\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 15\n", - "Celem laboratorium jest wyciągnięcie wniosków z demonstracji projektu badawczo-rozwojowego." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Plan laboratorium\n", - "## Dyskusja i ocena projektu\n", - "Opiekun projektu przeprowadza z zespołem projektowym dyskusję na temat demonstracji wyników projektu badawczo-rozwojowego. Wynikiem dyskusji jest ocena projektu.\n", - "## Ocena końcowa z przedmiotu Projekt badawczo-rozwojowy.\n", - "Opiekun wystawia oceny końcowe studentom. Oceny mogą się różnić między osobami w grupie, jeśli:\n", - " * skład grupy zmieniał się na początkowych zajęciach,\n", - " * niektórzy studenci nie brali udziału we wszystkich zajęciach." - ] - } - ], - "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": "15. Demonstracja projektu[laboratorium]", - "title": "Projekt badawczo-rozwojowy", - "year": "2021" - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/materiały na wykład/13_planowanie prac badawczo-rozwojowych.ipynb b/materiały na wykład/.ipynb_checkpoints/13_planowanie_prac_w_projekcie_informatycznym-checkpoint.ipynb similarity index 99% rename from materiały na wykład/13_planowanie prac badawczo-rozwojowych.ipynb rename to materiały na wykład/.ipynb_checkpoints/13_planowanie_prac_w_projekcie_informatycznym-checkpoint.ipynb index 0ed97e5..ac32517 100644 --- a/materiały na wykład/13_planowanie prac badawczo-rozwojowych.ipynb +++ b/materiały na wykład/.ipynb_checkpoints/13_planowanie_prac_w_projekcie_informatycznym-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[wykład]

\n", + "

13. Planowanie prac w projekcie informatycznym[wykład]

\n", "

Krzysztof Jassem (2022)

\n", "
\n", "\n", @@ -728,7 +728,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.8.5" }, "subtitle": "13. Planowanie prac badawczo-rozwojowych[wykład]", "title": "Przygotowanie do projektu badawczo-rozwojowego", diff --git a/materiały na wykład/14_zarządzanie_pracami_badawczo-rozwojowymi.ipynb b/materiały na wykład/.ipynb_checkpoints/14_zarządzanie_pracami_w_projekcie_informatycznym-checkpoint.ipynb similarity index 98% rename from materiały na wykład/14_zarządzanie_pracami_badawczo-rozwojowymi.ipynb rename to materiały na wykład/.ipynb_checkpoints/14_zarządzanie_pracami_w_projekcie_informatycznym-checkpoint.ipynb index d4cb6a4..c2f07e6 100644 --- a/materiały na wykład/14_zarządzanie_pracami_badawczo-rozwojowymi.ipynb +++ b/materiały na wykład/.ipynb_checkpoints/14_zarządzanie_pracami_w_projekcie_informatycznym-checkpoint.ipynb @@ -6,8 +6,8 @@ "source": [ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n", "
\n", - "

Przygotowanie do projektu badawczo-rozwojowego

\n", - "

14. Zarządzanie projektami badawczo-rozwojowymi[wykład]

\n", + "

Systemy informatyczne

\n", + "

14. Zarządzanie projektem informatycznym[wykład]

\n", "

Krzysztof Jassem (2021)

\n", "
\n", "\n", @@ -420,7 +420,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.8.5" }, "subtitle": "14. Zarządzanie pracami badawczo-rozwojowymi[wykład]", "title": "Przygotowanie do projektu badawczo-rozwojowego", diff --git a/materiały na wykład/12_ocena_jakości_systemu.ipynb b/materiały na wykład/12_ocena_jakości_systemu.ipynb index 21a8eee..21e4477 100644 --- a/materiały na wykład/12_ocena_jakości_systemu.ipynb +++ b/materiały na wykład/12_ocena_jakości_systemu.ipynb @@ -615,7 +615,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.8.5" }, "subtitle": "12. Ocena jakości systemu informatycznego[wykład]", "title": "Przygotowanie do projektu badawczo-rozwojowego", diff --git a/materiały na wykład/13_planowanie_prac_w_projekcie_informatycznym.ipynb b/materiały na wykład/13_planowanie_prac_w_projekcie_informatycznym.ipynb new file mode 100644 index 0000000..ac32517 --- /dev/null +++ b/materiały na wykład/13_planowanie_prac_w_projekcie_informatycznym.ipynb @@ -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", + "
\n", + "

Systemy informatyczne

\n", + "

13. Planowanie prac w projekcie informatycznym[wykład]

\n", + "

Krzysztof Jassem (2022)

\n", + "
\n", + "\n", + "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " \n", + "

Harmonogram projektu

\n", + " \n", + "Harmonogram projektu to plan uzyskania celów projektu uwzględniający:\n", + "" + ] + }, + { + "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": [ + "
\n", + "

Ograniczenia

\n", + " \n", + "Ograniczenia to czynniki, które wpływają na realizację harmonogramu.\n", + "
" + ] + }, + { + "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": [ + "
\n", + "

Zapas czasu

\n", + " \n", + " Zapas czasu  to czas, o który może opóźnić się realizacja zadania, nie wpływając na termin ukończenia projektu.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " \n", + "

Ścieżka krytyczna

\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", + "\"Przykład\n", + "
Przykład ścieżki krytycznej
\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", + "\"Prawo\n", + "
Prawo Parkinsona, źródło: https://www.timeflies.us/blog/what-is-parkinson-s-law-and-how-it-can-make-you-more-productive
\n", + "
\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Struktura podziału pracy" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Struktura Podziału Pracy

\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", + "
\n", + "\"Struktura\n", + "
Struktura Podziału Pracy, źródło: http://pm2pm.pl/slownik-project-managera-wbs/
\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", + "
\n", + "\"Ustawienie\n", + "
Ustawienie daty początku projektu
\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", + "
\n", + "\"Stworzenie\n", + "
Stworzenie SPP
\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", + "\"Ustawianie\n", + "
Ustawianie trybów zadań
\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", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + "
\n", + "\"Ustawianie\n", + "
Ustawianie punktu kontrolnego
\n", + "
\n", + "\n", + "

\n", + "
\n", + "\"Punkt\n", + "
Oznaczenie punktu kontrolnego w MS-Project
\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", + "\"Ustawianie\n", + "
Ustawianie czasu pracy dla zespołu - przycisk
\n", + "
\n", + "\n", + "

\n", + "
\n", + "\"Ustawianie\n", + "
Ustawianie czasu pracy dla zespołu - kalendarz
\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", + "\"diagram\n", + "
Przykładowy diagram Gantta, źródło: https://kierownikprojektu.com/2020/06/11/16-zalet-wykresu-gantta/
\n", + "
\n", + "\n", + "\n", + "

Zalety wykresu Gantta

\n", + "\n", + "\n", + "

Wady wykresu Gantta

\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", + "
" + ] + }, + { + "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", + "
\n", + "\"Ustawianie\n", + "
Ustawianie zależności między zadaniami
\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", + "
\n", + "\"Ustawianie\n", + "
Ustawianie odstępów czasowych
\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", + "
" + ] + }, + { + "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", + "\"Zdefiniowanie\n", + "
Definiowanie zasobów - arkusz zasobów
\n", + "
\n", + "\n", + "

\n", + "\n", + "
\n", + "\"Zdefiniowanie\n", + "
Definiowanie zasobów - dane zasobów
\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", + "\"Czas\n", + "
Ustawianie indywidualnego czasu pracy - wybranie zasobu
\n", + "
\n", + "\n", + "

\n", + "

\n", + "
\n", + "\"Czas\n", + "
Ustawianie indywidualnego czasu pracy - zmiana tygodniowego planu pracy
\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", + "\"Przydzielanie\n", + "
Przydzielanie zasobów do zadań
\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", + "\"Sprawdzenie\n", + "
Sprawdzenie przeciążenia zasobów
\n", + "
\n", + "\n", + " \n", + "

\n", + "
\n", + "\"Zasoby\n", + "
Zasoby z nadmierną alokacją pracy (zasoby przeciążone) - przykład
\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", + "\"Odciążanie\n", + "
Zmniejszenie zaangażowania zasobu w zadanie
\n", + "
\n", + "\n", + "

\n", + "Automatyczne bilansowanie zasobu wykonywane jest przez MS-Porject na żądanie użytkownika.\n", + "\n", + "

\n", + "
\n", + "\"automatyczne\n", + "
Automatyczne bilansowanie zasobów
\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", + "\"obciążenie\n", + "
Obciążenie zasobu przez bilansowaniem
\n", + "
\n", + "\n", + "\n", + "

\n", + "
\n", + "\"obciążenie\n", + "
Obciążenie zasobu po bilansowaniu
\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", + "\"ścieżka\n", + "
Ścieżka krytyczna - przykład
\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", + "\"raport\n", + "
Przykład raportu całościowego
\n", + "
\n", + "\n", + "

\n", + "
\n", + "\"raport\n", + "
Przykład raportu zasobów
\n", + "
\n", + "\n", + "

\n", + "
\n", + "\"raport\n", + "
Przykład raportu kosztów
\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", + "
\n", + "\"modyfikacja\n", + "
Metody poprawiania harmonogramu
\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", + "
\n", + "\"Okładka\"\n", + "
Okładka książki
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Problem Bar szybkiej obsługi Projekt B+R
Czy błąd jest grzechem? Oczywiście It's OK. to fail
Czy za popełnianie błędów należy karać? Niestety, tak Niestety, nie
Czy ludzi należy zachęcać do popełniania błędów? Zdecydowanie nie Tak
Czy wadliwą wersję hamburgera / systemu należy wyrzucić? Ależ TAK! Niekoniecznie
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1.2. Sposób motywowania: bodźce negatywne i pozytywne\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Problem Bar szybkiej obsługi Projekt B+R
Większość ludzi lubi swoją pracę. FALSE TRUE
Zarządzanie ludźmi to \"kopanie ich w tyłek\". TRUE FALSE
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1.3. Podejście do indywidualistów\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Problem Bar szybkiej obsługi Projekt B+R
Nie ma ludzi niezastąpionych TRUE FALSE
Czy wyjątkowość pracownika należy podtrzymywać czy tępić? Tępić (lub awansować) Hołubić
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1.4. Podejście do kreatywności i samodoskonalenia się pracowników\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Problem Bar szybkiej obsługi Projekt B+R
Jaką część czasu poświęcać na realizację zadania, a jaką na dyskusję? 99 / 1 Dyskusja jest ważnym elementem pracy.
Czy warto poświęcać czas pracownika na doskonalenie innych umiejętności? To zależy Warto
" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Kto szacował? Jaką osiagnięto wydajność?
Kierownik 6,6
Kierownik w konsultacji z programistą 7,8
Programista 8,0
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Kto szacował? Jaką osiagnięto wydajność?
Programista 8,0
Osobna z zewnątrz 9,5
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Kto szacował? Jaką osiagnięto wydajność?
Osoba z zewnątrz 9,5
Nikt 12,0
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Porównanie między... Stosunek wydajności
Najlepszy a średni 2,5 : 1
Najlepszy a najgorszy 10 : 1
" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Czynnik środowiska 1. kwartyl 4. kwartyl
Jaką masz powierzchnię do dyspozycji 7 m kw. 4 m kw.
Czy jest dostatecznie cicho? TAK: 57% TAK: 29%
Czy masz zapewnioną prywatność? TAK: 62% TAK: 19%
Czy możesz wyłączyć telefon? TAK: 52% TAK: 10%
Czy ludzie niepotrzebnie odrywają Cię od pracy? TAK: 38% TAK: 76%
\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 +}