From 39cad7d03c18271ffc6ad31f6199281fccce9c32 Mon Sep 17 00:00:00 2001 From: jassem Date: Sun, 15 Sep 2024 15:21:09 +0200 Subject: [PATCH] =?UTF-8?q?aktualizacja=20materia=C5=82=C3=B3w=20na=20rok?= =?UTF-8?q?=202024=5F25?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Organizacja zajęć_2024-checkpoint.ipynb | 241 ++++ Organizacja zajęć_2024.ipynb | 241 ++++ ...ła integracja_ewaluacja-checkpoint.ipynb} | 4 +- materiały na wykład/json_script.ipynb | 114 -- ...odologia_Prince2 (wykład dodatkowy).ipynb | 1019 ----------------- 5 files changed, 484 insertions(+), 1135 deletions(-) create mode 100644 .ipynb_checkpoints/Organizacja zajęć_2024-checkpoint.ipynb create mode 100644 Organizacja zajęć_2024.ipynb rename materiały na wykład/{03_ciągła integracja_ewaluacja.ipynb => .ipynb_checkpoints/03_ciągła integracja_ewaluacja-checkpoint.ipynb} (99%) delete mode 100644 materiały na wykład/json_script.ipynb delete mode 100644 materiały na wykład/metodologia_Prince2 (wykład dodatkowy).ipynb diff --git a/.ipynb_checkpoints/Organizacja zajęć_2024-checkpoint.ipynb b/.ipynb_checkpoints/Organizacja zajęć_2024-checkpoint.ipynb new file mode 100644 index 0000000..be4f4bb --- /dev/null +++ b/.ipynb_checkpoints/Organizacja zajęć_2024-checkpoint.ipynb @@ -0,0 +1,241 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Organizacja zajęć na przedmiocie Systemy Informatyczne Analizy Danych (2024 - 2025)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Informacje o przedmiocie\n", + "Systemy informatyczne analizy danych to przedmiot prowadzony w formie wykładów i laboratoriów dla studentów III semestru studiów magisterskich na kierunku Analiza i Przetwarzanie Danych. \n", + "Celem przedmiotu jest zaznajomienie studentów z przebiegiem tworzenia systemu informatycznego z zakresu analizy danych - od powstania wizji projektu do realizacji działającego prototypu. Cel ten będzie realizowany poprzez kształcenie następujących umiejętności u studentów:\n", + "\n", + "- metody prototypowania\n", + "- znajomość systemów kontroli wersji\n", + "- stosowanie ciągłej integracji i ciągłej ewalaucji \n", + "- rozwój kreatywności w projektowaniu systemu informatycznego\n", + "- poznanie charakterystyki innowacyjnego systemu informatycznego\n", + "- rozwój umiejętności współpracy w zespole\n", + "- nabycie umiejętności menedżerskich\n", + "- nabycie umiejętności pozyskiwania inwestorów dla projektów informatycznych\n", + "- rozwój umiejętności występowania publicznego\n", + "- doskonalenie umiejętności pracy zespołowej metodykami zwinnymi\n", + "- poznanie praktyk ciągłej integracji. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Efekty kształcenia\n", + "Student:\n", + " - Rozumie społeczne aspekty pracy zespołowej w projekcie informatycznym.\n", + " - Potrafi określić cechy innowacyjnego projektu informatycznego.\n", + " - Potrafi wizualizować system informatyczny za pomocą makiety.\n", + " - Potrafi przygotować się do procesu pozyskiwania inwestorów dla systemu informatycznego.\n", + " - Potrafi uczestniczyć w projekcie prowadzonym metodykami zwinnymi.\n", + " - Potrafi uczestniczyć w procesie ciągłej integracji.\n", + " - Potrafi zintegrować system ciągłej integracji z systemem kontroli wersji.\n", + " - Potrafi opracować specyfikację zakresu systemu informatycznego.\n", + " - Potrafi organizować pracę w trakcie rozwoju systemu informatycznego.\n", + " - Potrafi zaprojektować użyteczny system informatyczny.\n", + " - Umie zorganizować proces przeprowadzenia testów systemu informatycznego.\n", + " - Potrafi uruchomić procesy prowadzące do pozyskania systemu informatycznego o wysokiej jakości.\n", + " - Potrafi planować zadania w projekcie informatycznym.\n", + " - Zna specyfikę zarządzania projektem informatycznym.\n", + " - Potrafi przedstawić cele i działanie systemu informatycznego jego interesariuszom.\n", + " - Potrafi przygotować demonstrację systemu informatycznego.\n", + " - Potrafi zaprezentować publicznie cele i działanie systemu informatycznego.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Zasady zaliczenia wykładów\n", + "\n", + "### Testy podczas prowadzenia wykładów \n", + "Podczas wykładów (standardowo w środku i na końcu wykładu) przeprowadzane są testy. Za prawidłowe odpowiedzi na pytania testowe podawane podczas wykładu studenci otrzymują punkty (1 punkt za prawidłową odpowiedź). Testy rozwiązywane mogą być na dowolnych urządzeniach, które dysponują przeglądarką internetową. System do testów jest osiągalny pod adresem: \n", + " **cybertest2.wmi.amu.edu.pl** \n", + "Logowanie do systemu odbywa się za pomocą standardowych danych dostępowych na WMI. \n", + "\n", + "**UWAGA: Rozwiązywanie testów dozwolone jest tylko podczas obecności na wykładzie. Rozwiązywanie testów poza wykładem skutkuje koniecznością egzaminu pisemnego.**\n", + "\n", + "Wykładowca zobowiązuje się do przeprowadzenia testów z minimum 120 pytaniami podczas całego kursu. \n", + "\n", + "### Egzamin: ustny i pisemny \n", + "Student jest dopuszczony do egzaminu **ustnego**, jeśli zdobędzie co najmniej 80 punktów w ciągu całego kursu. \n", + "\n", + "Studenci niespełniający powyższego kryterium zdają egzamin **pisemny** obejmujący materiał przedstawiany na wykładach. \n", + "\n", + "Zdobycie odpowiedniej liczby punktów gwarantuje minimalną ocenę z egzaminu ustnego. \n", + "\n", + "\n", + "### Ocena minimalna z egzaminu na podstawie zdobytych punktów \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Liczba prawidłowych odpowiedzi Ocena
100-1205
90-994,5
80-894
poniżejegzamin pisemny
\n", + "\n", + "Wykładowca ma prawo podwyższyć ocenę minimalną na podstawie:\n", + " - notatek z wykładów\n", + " - oceny kompetencji studenta podczas egzaminu ustnego. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Zasady zaliczenia z laboratoriów\n", + "\n", + "Laboratoria zaliczane są na podstawie punktów zdobywanych na poszczególnych zajęciach.\n", + "\n", + "Zadania wykonywane są w zespołach (maksymalnie) 4-osobowych. Wszystkie osoby z danego zespołu obecne na zajęciach otrzymują tę samą ocenę punktową.\n", + "\n", + "Punkty można uzyskiwać za:\n", + "\n", + " * wykonywanie zadań zaplanowanych na dane laboratorium,\n", + " * prezentację koncepcji projektu,\n", + " * realizację sprintów (począwszy od laboratorium nr 6),\n", + " * wykonanie **prototypu systemu informatycznego** potwierdzone demonstracją końcową.\n", + "\n", + "Student nieobecny na zajęciach ma możliwość uzyskania oceny punktowej nie wyższej niż 50% punktów zdobytych przez zespół. Warunkiem uzyskania punktów jest wykonanie w przeciągu tygodnia zadań zaproponowanych przez lidera zaspołu i zaakceptowanych przez prowadzącego.\n", + " \n", + "### Prototyp systemu informatycznego\n", + " \n", + "Przez prototyp systemu informatycznego rozumiana jest działająca wersja systemu informatycznego spełniająca wszystkie lub wybrane jego funkcje.\n", + "\n", + "W pliku **Tematy projektów** zaproponowano tematy projektów informatycznych. Studenci mają prawo opracowania własnego tematu projektu za akceptacją prowadzącego.\n", + " \n", + "\n", + "### Punktacja zadań wykonywanych na laboratorium\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Typ zadania Maksymalna liczba punktów
Zadania na laboratoriach12 x 30 = 360
Sprinty6 x 10 = 60
Wykonanie prototypu potwierdzone demonstracją150
Harmonogram wsteczny 30
Suma600
\n", + "\n", + "### Ocena prototypu\n", + "\n", + "Na przedostatnich zajęciach z laboratorium opiekun projektu decyduje, czy prototyp projektu spełnił swoje założenia.\n", + " \n", + "Jeśli prototyp nie spełnia założeń, to ocena końcowa wynosi 0 punktów (na 150).\n", + "\n", + "Jeśli prototyp spełnia założenia, to opiekun projektu proponuje ocenę w skali do 150 punktów. Ostateczna ocena uzgadniana jest przez obu opiekunów po końcowej demonstracji pubicznej.\n", + "\n", + "Proponowane składowe oceny implementacji prototypu:\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \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
Functionality (funkcjonalność) 40
Usability (Użyteczność) 30
Reliability (niewystępowanie błędów) 20
Performance (wydajność: zużycie zasobów, czas odpowiedzi) 10
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 150
\n", + " \n", + "\n", + "### Skala ocen z laboratorium\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Liczba punktów Ocena
500-6005
450-4994,5
400-4494
350-3993,5
300-3493
\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.13" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Organizacja zajęć_2024.ipynb b/Organizacja zajęć_2024.ipynb new file mode 100644 index 0000000..be4f4bb --- /dev/null +++ b/Organizacja zajęć_2024.ipynb @@ -0,0 +1,241 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Organizacja zajęć na przedmiocie Systemy Informatyczne Analizy Danych (2024 - 2025)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Informacje o przedmiocie\n", + "Systemy informatyczne analizy danych to przedmiot prowadzony w formie wykładów i laboratoriów dla studentów III semestru studiów magisterskich na kierunku Analiza i Przetwarzanie Danych. \n", + "Celem przedmiotu jest zaznajomienie studentów z przebiegiem tworzenia systemu informatycznego z zakresu analizy danych - od powstania wizji projektu do realizacji działającego prototypu. Cel ten będzie realizowany poprzez kształcenie następujących umiejętności u studentów:\n", + "\n", + "- metody prototypowania\n", + "- znajomość systemów kontroli wersji\n", + "- stosowanie ciągłej integracji i ciągłej ewalaucji \n", + "- rozwój kreatywności w projektowaniu systemu informatycznego\n", + "- poznanie charakterystyki innowacyjnego systemu informatycznego\n", + "- rozwój umiejętności współpracy w zespole\n", + "- nabycie umiejętności menedżerskich\n", + "- nabycie umiejętności pozyskiwania inwestorów dla projektów informatycznych\n", + "- rozwój umiejętności występowania publicznego\n", + "- doskonalenie umiejętności pracy zespołowej metodykami zwinnymi\n", + "- poznanie praktyk ciągłej integracji. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Efekty kształcenia\n", + "Student:\n", + " - Rozumie społeczne aspekty pracy zespołowej w projekcie informatycznym.\n", + " - Potrafi określić cechy innowacyjnego projektu informatycznego.\n", + " - Potrafi wizualizować system informatyczny za pomocą makiety.\n", + " - Potrafi przygotować się do procesu pozyskiwania inwestorów dla systemu informatycznego.\n", + " - Potrafi uczestniczyć w projekcie prowadzonym metodykami zwinnymi.\n", + " - Potrafi uczestniczyć w procesie ciągłej integracji.\n", + " - Potrafi zintegrować system ciągłej integracji z systemem kontroli wersji.\n", + " - Potrafi opracować specyfikację zakresu systemu informatycznego.\n", + " - Potrafi organizować pracę w trakcie rozwoju systemu informatycznego.\n", + " - Potrafi zaprojektować użyteczny system informatyczny.\n", + " - Umie zorganizować proces przeprowadzenia testów systemu informatycznego.\n", + " - Potrafi uruchomić procesy prowadzące do pozyskania systemu informatycznego o wysokiej jakości.\n", + " - Potrafi planować zadania w projekcie informatycznym.\n", + " - Zna specyfikę zarządzania projektem informatycznym.\n", + " - Potrafi przedstawić cele i działanie systemu informatycznego jego interesariuszom.\n", + " - Potrafi przygotować demonstrację systemu informatycznego.\n", + " - Potrafi zaprezentować publicznie cele i działanie systemu informatycznego.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Zasady zaliczenia wykładów\n", + "\n", + "### Testy podczas prowadzenia wykładów \n", + "Podczas wykładów (standardowo w środku i na końcu wykładu) przeprowadzane są testy. Za prawidłowe odpowiedzi na pytania testowe podawane podczas wykładu studenci otrzymują punkty (1 punkt za prawidłową odpowiedź). Testy rozwiązywane mogą być na dowolnych urządzeniach, które dysponują przeglądarką internetową. System do testów jest osiągalny pod adresem: \n", + " **cybertest2.wmi.amu.edu.pl** \n", + "Logowanie do systemu odbywa się za pomocą standardowych danych dostępowych na WMI. \n", + "\n", + "**UWAGA: Rozwiązywanie testów dozwolone jest tylko podczas obecności na wykładzie. Rozwiązywanie testów poza wykładem skutkuje koniecznością egzaminu pisemnego.**\n", + "\n", + "Wykładowca zobowiązuje się do przeprowadzenia testów z minimum 120 pytaniami podczas całego kursu. \n", + "\n", + "### Egzamin: ustny i pisemny \n", + "Student jest dopuszczony do egzaminu **ustnego**, jeśli zdobędzie co najmniej 80 punktów w ciągu całego kursu. \n", + "\n", + "Studenci niespełniający powyższego kryterium zdają egzamin **pisemny** obejmujący materiał przedstawiany na wykładach. \n", + "\n", + "Zdobycie odpowiedniej liczby punktów gwarantuje minimalną ocenę z egzaminu ustnego. \n", + "\n", + "\n", + "### Ocena minimalna z egzaminu na podstawie zdobytych punktów \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Liczba prawidłowych odpowiedzi Ocena
100-1205
90-994,5
80-894
poniżejegzamin pisemny
\n", + "\n", + "Wykładowca ma prawo podwyższyć ocenę minimalną na podstawie:\n", + " - notatek z wykładów\n", + " - oceny kompetencji studenta podczas egzaminu ustnego. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Zasady zaliczenia z laboratoriów\n", + "\n", + "Laboratoria zaliczane są na podstawie punktów zdobywanych na poszczególnych zajęciach.\n", + "\n", + "Zadania wykonywane są w zespołach (maksymalnie) 4-osobowych. Wszystkie osoby z danego zespołu obecne na zajęciach otrzymują tę samą ocenę punktową.\n", + "\n", + "Punkty można uzyskiwać za:\n", + "\n", + " * wykonywanie zadań zaplanowanych na dane laboratorium,\n", + " * prezentację koncepcji projektu,\n", + " * realizację sprintów (począwszy od laboratorium nr 6),\n", + " * wykonanie **prototypu systemu informatycznego** potwierdzone demonstracją końcową.\n", + "\n", + "Student nieobecny na zajęciach ma możliwość uzyskania oceny punktowej nie wyższej niż 50% punktów zdobytych przez zespół. Warunkiem uzyskania punktów jest wykonanie w przeciągu tygodnia zadań zaproponowanych przez lidera zaspołu i zaakceptowanych przez prowadzącego.\n", + " \n", + "### Prototyp systemu informatycznego\n", + " \n", + "Przez prototyp systemu informatycznego rozumiana jest działająca wersja systemu informatycznego spełniająca wszystkie lub wybrane jego funkcje.\n", + "\n", + "W pliku **Tematy projektów** zaproponowano tematy projektów informatycznych. Studenci mają prawo opracowania własnego tematu projektu za akceptacją prowadzącego.\n", + " \n", + "\n", + "### Punktacja zadań wykonywanych na laboratorium\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Typ zadania Maksymalna liczba punktów
Zadania na laboratoriach12 x 30 = 360
Sprinty6 x 10 = 60
Wykonanie prototypu potwierdzone demonstracją150
Harmonogram wsteczny 30
Suma600
\n", + "\n", + "### Ocena prototypu\n", + "\n", + "Na przedostatnich zajęciach z laboratorium opiekun projektu decyduje, czy prototyp projektu spełnił swoje założenia.\n", + " \n", + "Jeśli prototyp nie spełnia założeń, to ocena końcowa wynosi 0 punktów (na 150).\n", + "\n", + "Jeśli prototyp spełnia założenia, to opiekun projektu proponuje ocenę w skali do 150 punktów. Ostateczna ocena uzgadniana jest przez obu opiekunów po końcowej demonstracji pubicznej.\n", + "\n", + "Proponowane składowe oceny implementacji prototypu:\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \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
Functionality (funkcjonalność) 40
Usability (Użyteczność) 30
Reliability (niewystępowanie błędów) 20
Performance (wydajność: zużycie zasobów, czas odpowiedzi) 10
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 150
\n", + " \n", + "\n", + "### Skala ocen z laboratorium\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Liczba punktów Ocena
500-6005
450-4994,5
400-4494
350-3993,5
300-3493
\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.13" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/materiały na wykład/03_ciągła integracja_ewaluacja.ipynb b/materiały na wykład/.ipynb_checkpoints/03_ciągła integracja_ewaluacja-checkpoint.ipynb similarity index 99% rename from materiały na wykład/03_ciągła integracja_ewaluacja.ipynb rename to materiały na wykład/.ipynb_checkpoints/03_ciągła integracja_ewaluacja-checkpoint.ipynb index f1a6b4f..1a9aae8 100644 --- a/materiały na wykład/03_ciągła integracja_ewaluacja.ipynb +++ b/materiały na wykład/.ipynb_checkpoints/03_ciągła integracja_ewaluacja-checkpoint.ipynb @@ -453,7 +453,7 @@ "author": "Krzysztof Jassem", "email": "jassem@amu.edu.pl", "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -468,7 +468,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.9.13" }, "subtitle": "06. Prototypowanie i ciągła integracja[wykład]", "title": "Przygotowanie do projektu badawczo-rozwojowego", diff --git a/materiały na wykład/json_script.ipynb b/materiały na wykład/json_script.ipynb deleted file mode 100644 index 442e952..0000000 --- a/materiały na wykład/json_script.ipynb +++ /dev/null @@ -1,114 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "#procedura napisywania plików ipynb (generowanie nagłówka i metadanych)\n", - "import json\n", - "\n", - "def modjup(filen,numer,tytul,typ,author,email,lang,title,year):\n", - " zerocell=['![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\\n',\n", - " '
\\n', \n", - " '

%s

\\n'%(title),\n", - " '

%s. %s [%s]

\\n'%(numer,tytul,typ),\n", - " '

%s (%s)

\\n'%(author,year),\n", - " '
\\n',\n", - " '\\n',\n", - " '![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)']\n", - " zerodict={'cell_type': 'markdown','metadata': {'collapsed': False},'source': zerocell}\n", - " with open(filen, 'r+') as f:\n", - " ll=json.load(f)\n", - " ll[\"metadata\"][\"author\"]=author\n", - " ll[\"metadata\"][\"email\"]=email\n", - " ll[\"metadata\"][\"lang\"]=lang\n", - " subtitle=\"%s.%s[%s]\"%(numer,tytul,typ)\n", - " ll[\"metadata\"][\"subtitle\"]=subtitle\n", - " ll[\"metadata\"][\"title\"]=title\n", - " ll[\"metadata\"][\"year\"]=year\n", - " \n", - " if not(ll['cells'][0]['source'][0]==zerocell[0]):\n", - " ll['cells'].insert(0,zerodict)\n", - " else:\n", - " ll['cells'][0]=zerodict\n", - " f.seek(0)\n", - " json.dump(ll,f,indent=4)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "ename": "UnicodeDecodeError", - "evalue": "'charmap' codec can't decode byte 0x81 in position 8350: character maps to ", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mUnicodeDecodeError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[1;31m#uruchom procedurę\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 15\u001b[1;33m \u001b[0mmodjup\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilen\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mnumer\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtytul\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtyp\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mauthor\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0memail\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mlang\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtitle\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0myear\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[1;32m\u001b[0m in \u001b[0;36mmodjup\u001b[1;34m(filen, numer, tytul, typ, author, email, lang, title, year)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0mzerodict\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m{\u001b[0m\u001b[1;34m'cell_type'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;34m'markdown'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'metadata'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;34m'collapsed'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'source'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mzerocell\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilen\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'r+'\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 15\u001b[1;33m \u001b[0mll\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mjson\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mload\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mf\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 16\u001b[0m \u001b[0mll\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"metadata\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"author\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mauthor\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 17\u001b[0m \u001b[0mll\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"metadata\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"email\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0memail\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;32m~\\anaconda3\\lib\\json\\__init__.py\u001b[0m in \u001b[0;36mload\u001b[1;34m(fp, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001b[0m\n\u001b[0;32m 291\u001b[0m \u001b[0mkwarg\u001b[0m\u001b[1;33m;\u001b[0m \u001b[0motherwise\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0mJSONDecoder\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m \u001b[1;32mis\u001b[0m \u001b[0mused\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 292\u001b[0m \"\"\"\n\u001b[1;32m--> 293\u001b[1;33m return loads(fp.read(),\n\u001b[0m\u001b[0;32m 294\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcls\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mobject_hook\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mobject_hook\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 295\u001b[0m \u001b[0mparse_float\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mparse_float\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparse_int\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mparse_int\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;32m~\\anaconda3\\lib\\encodings\\cp1250.py\u001b[0m in \u001b[0;36mdecode\u001b[1;34m(self, input, final)\u001b[0m\n\u001b[0;32m 21\u001b[0m \u001b[1;32mclass\u001b[0m \u001b[0mIncrementalDecoder\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mIncrementalDecoder\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mdecode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfinal\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 23\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcharmap_decode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0merrors\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mdecoding_table\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 24\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 25\u001b[0m \u001b[1;32mclass\u001b[0m \u001b[0mStreamWriter\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCodec\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mStreamWriter\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;31mUnicodeDecodeError\u001b[0m: 'charmap' codec can't decode byte 0x81 in position 8350: character maps to " - ] - } - ], - "source": [ - "#zmodyfikuj te dane\n", - "filen=\"01_praca_zespolowa.ipynb\"\n", - "\n", - "numer=\"1\"\n", - "tytul=\"\"\n", - "typ=\"wyklad\"\n", - "\n", - "author=\"Krzysztof Jassem\"\n", - "email=\"jassem@amu.edu.pl\"\n", - "lang= \"pl\"\n", - "title=\"\"\n", - "year=\"2021\"\n", - "\n", - "#uruchom procedurę\n", - "modjup(filen,numer,tytul,typ,author,email,lang,title,year)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "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 wykład/metodologia_Prince2 (wykład dodatkowy).ipynb b/materiały na wykład/metodologia_Prince2 (wykład dodatkowy).ipynb deleted file mode 100644 index adf734d..0000000 --- a/materiały na wykład/metodologia_Prince2 (wykład dodatkowy).ipynb +++ /dev/null @@ -1,1019 +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", - "

0. Metodologia Prince2[wykład]

\n", - "
\n", - "\n", - "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "# Metodologia Prince2 - wyjaśnienie pojęcia\n", - "Prince2 (PRojects IN Controlled Environments) to metoda **zarządzania** ***projektami***\n", - "niezależna od zmiennych projektu, takich jak: \n", - " * środowisko, \n", - " * skala, \n", - " * typ, \n", - " * organizacja, \n", - " * kultura, \n", - " * położenie geograficzne." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "# 1. Pojęcie projektu" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "

Projekt

\n", - "Projekt to organizacja założona:\n", - " \n", - "

na określony czas

\n", - "

w celu dostarczenia rozwiązania

\n", - "

dla określonej potrzeby biznesowej.

\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "

Przykład projektu

\n", - " \n", - "

Potrzeba biznesowa: Oszczędzenie 70% czasu biura obsługi klienta.

\n", - "

Rozwiązanie: System automatycznego obiegu dokumentów.

\n", - "

Czas: 6 miesięcy

\n", - "

Projekt: Zespół ludzi wydelegowanych na 6 miesięcy dla dostarczenia systemu automatycznego obiegu dokumentów w celu zaoszczędzenia 70% czasu biura obsługi klienta.

\n", - "
\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### Cechy charakterystyczne projektu\n", - "Projekt jest przeciwieństwiem pojęcia \"business as usual\" (działanie rutynowe). Projekt od rutyny odróżniają następujące cechy:\n", - "\n", - " * **Zmiana** - projekt to środek do przeprowadzenia zmiany.\n", - " * **Tymczasowość** - projekt ma swoją datę początku i końca.\n", - " * **Wielofukcyjność** - przy projektach zaangażowani są ludzie o różnych kompetencjach.\n", - " * **Wyjątkowość** - każdy projekt jest wyjątkowy (nawet jak jest jakiś wzorzec projektu, to każdy projekt się czymś wyróżnia: albo zespołem, albo klientem, albo położeniem geograficznym, itp.\n", - " * **Niepewność** - projekty ze swojej natury są ryzykowne, bo mają wprowadzić zmianę." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### Zarządzanie projektem\n", - " Zarządzanie projektem to:\n", - " - planowanie zadań,\n", - " - delegowanie ludzi do zadań,\n", - " - monitorowanie wykonywania zadań,\n", - " - kontrolowanie\n", - " aby:\n", - " - osiągnąć cel projektu,\n", - " - w wyznaczonym czasie,\n", - " - przy zachowaniu przeznaczonych kosztów." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### Aspekty kontroli w zarządzaniu projektem\n", - " Projekt należy kontrolować pod następującymi aspektami:\n", - " - koszty (czy przestrzegamy kosztów projektu?),\n", - " - czas (kiedy skończymy?),\n", - " - jakość (czy produkt spełnia oczekiwania jakościowe?),\n", - " - zakres (czy zakres działania projektu będzie pokrywa się z oczekiwaniami?),\n", - " - korzyści dla klienta (czy użytkownik naszego produktu uzyskuje planowaną korzyść?),\n", - " - ryzyko (jakie jest ryzyko niepowodzenia lub niepożądanych skutków projektu i czy potrafimy to ryzyko zminimalizować?)." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "# 2. Przegląd metodologii zarządzania projektem \n", - "(por. https://startnearshoring.com/knowledge/it-project-management-a-quick-guide-to-tools-and-methodologies/)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## 2.1. Metodologie tradycyjne\n", - "Metodologie tradycyjne charakteryzują się działaniem \"krok po kroku\". Kładą nacisk na:\n", - " * skrupulatne zbieranie wymagań,\n", - " * dokładną analizęm\n", - " * istotność dokumentacji.\n", - " \n", - "Sprawdzają się w projektach z dobrze określonymi wymaganiami już od początku. \n", - "\n", - "Produkt ma być realizowany i dostarczony zgodnie z określonym planem. W planowaniu **nie** analizuje się szczegółowo, w jaki sposób produkt ma być wykonany. " - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "### Waterfall (model kaskadowy) (wg Wikipedia)\n", - "> Model polega on na wykonywaniu podstawowych czynności jako odrębnych faz projektowych, kolejno po sobie. Jeśli któraś z faz nie powodzi się, to następuje nawrót do poprzedniej fazy. Każda czynność to schodek (kaskady):\n", - "> * Planowanie systemu (w tym specyfikacja wymagań).\n", - "> * Analiza systemu (w tym analiza wymagań i studium wykonalności).\n", - "> * Projekt systemu (poszczególnych struktur itp.).\n", - "> * Implementacja (wytworzenie kodu).\n", - "> * Testowanie (poszczególnych elementów systemu oraz elementów połączonych w całość).\n", - "> * Wdrożenie i pielęgnacja powstałego systemu.\n", - "\n", - "Model kaskadowy sprawdza się dla małych, krótkich projektów z ustalonymi wymaganiami, które nie mogą zmienić się w trakcie realizacji projektu." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "
Plusy modelu kaskadowego
\n", - "
    \n", - "
  1. Projekty są dobrze określone, a zatem łatwe w zarządzaniu.
  2. \n", - "
  3. Przebieg projektu opisany jest liniowo (sekwencyjnie), przez co łatwiej go zrozumieć.
  4. \n", - "
\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "
Minusy modelu kaskadowego
\n", - "
    \n", - "
  1. Dokonanie wszelkich zmian w projekcie jest kosztowne.
  2. \n", - "
  3. Jakikolwiek namacalny efekt działań jest widoczny dopiero po dłuższym czasie.
  4. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "### Prince2\n", - "W metodyce Prince2 projekt dzielony jest na **etapy**. Po każdym etapie następuje uszczegółowienie planu najbliższych etapów.\n", - "\n", - "W Prince2 nacisk kładzie się na osiągnięcie założonych **produktów biznesowych**.\n", - "\n", - "**Struktura organizacyjna** jest precyzyjnie określona - każdy członek teamu ma przypisaną rolę. \n", - "\n", - "Ważną rolę odgrywają **procedury raportowania**." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "
Plusy modelu Prince2
\n", - "
    \n", - "
  1. Podział projektu na etapy ułatwia kontrolę nad projektem (sprawdzamy, czy na końcu etapu mamy planowany rezultat).
  2. \n", - "
  3. Dobrze dokumentuje przebieg projektu.
  4. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "
Minusy modelu Prince2
\n", - "
    \n", - "
  1. Każda zmiana wymaga \"łańcucha akceptacji\" i wymusza zmiany w dokumentacji.
  2. \n", - "
  3. Tworzenie obszernej dokumentacji jest pracochłonne.
  4. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "### PMBOK (Project Management Body of Knowledge)\n", - "Projekt ma swój **cykl życia**, który składa się z ciągu etapów lub faz od inicjacji do zamknięcia. \n", - "\n", - "W cyklu życia projektu odbywają się różnego rodzaju **procesy**, które na siebie oddziaływują. \n", - "\n", - "Wyróżnia się nawet 49 różnych rodzajów procesów, podzielonych na **grupy**:\n", - " * procesy rozpoczęcia (inicjowania) - zdefiniowanie nowego projektu (lub nowej fazy w istniejącym projekcie),\n", - " * procesy planowania - określenie zakresu i celu projektu, zdefiniowanie akcji prowadzących do realizacji celu,\n", - " * procesy realizacji - realizacja wymagań projektowych,\n", - " * procesy monitorowania i kontroli - śledzenie, przeglądanie postępu oraz wydajności prac projektowych; ewentualnie inicjacja zmian w planie,\n", - " * procesy zakończenia (zamknięcia) - formalne zakończenie projektu.\n", - "\n", - "Procesy połączone są ze sobą wkładami i rezultatami. Rezultaty z jednego procesu mogą być wkładem do następnych. \n", - "\n", - "PMBOX oferuje wiele różnych procesów do wyboru. Zadaniem menadżera projektu jest wybór procesów odpowiednich do projektu. " - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "
Plusy modelu PMBOK
\n", - "
    \n", - "
  1. Podczas trwania projektu można dodawać nowe narzędzia i techniki działania (ze względu na różnorodność dostępnych procesów).
  2. \n", - "
  3. Kierownik projektu ma dostęp do pełnej informacji o zachodzących procesach.
  4. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "
Minusy modelu PMBOK
\n", - "
    \n", - "
  1. Mała elastyczność
  2. \n", - "
  3. Centralizacja władzy
  4. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## 2.2. Metodologie zwinne\n", - "Metodologie zwinne przeciwstawiają się metodologiom tradycyjnym w czterech płaszczyznach:\n", - " * Inteakcje między ludźmi podczas pracy są ważniejsze niż procesy i narzędzia.\n", - " * Działające oprogramowanie (choćby prototyp) jest ważniejsze niż rozbudowana dokumentacja.\n", - " * Współpraca z klientem / uzytkownikiem podczas pracy jest ważniejsza niż negocjowanie umowy.\n", - " * Reakcja na zmiany jest ważniejsza niż stosowanie się do planu." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "### Scrum (pol. młyn)\n", - "Scrum jest metodologią, w której kluczowym elementem jest **sprint** - faza, która kończy się działającym prototypem. Po każdym sprincie następuje planowanie działań w kolejnym sprincie - biorące pod uwagę dotychczasowe doświadczenia." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "
Plusy modelu Scrum
\n", - "
    \n", - "
  1. Szybkie dostarczanie działającego systemu - również w wersji końcowej (na rynek).
  2. \n", - "
  3. Elastyczne dostosowywanie się do zmieniających się potrzeb biznesowych.
  4. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - "
Minusy modelu Scrum
\n", - "
    \n", - "
  1. Wymagana jest współpraca ze strony klienta (użytkownika) - a o to niełatwo!
  2. \n", - "
  3. Konieczne jest zaangażowanie i zrozumienie koncepcji ze strony całego zespołu wykonawców.
  4. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "### Kanban\n", - "Nazwa pochodzi z języka japońskiego: \n", - " * Znak 看(kan)występuje w złożeniach z innymi znakami oraz w czasownikach 看る(miru)- doglądać, zajmować się czymś, opiekować; a także 看す(mesu)- rządzić, zarządzać. \n", - " * Znak 板(ita, w złożeniach czytany jako \"han\" i \"ban\")funkcjonuje także poza złożeniami, i oznacza deskę, tablicę. \n", - " * Rzeczownik 看板(kanban)będący nazwą metodologii, sam w sobie oznacza także: znak, billboard, tablicę informacyjną.\n", - "\n", - "**Kanban** jest metodologią, w której kluczowym elementem jest **wizualizacja** przebiegu projektu - najczęściej za pomocą tablicy, na której przesuwane są zadania wraz z postępem ich wykonania (od początku do zakończenia)." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "
Plusy modelu Kanban
\n", - "
    \n", - "
  1. Motywujący wpływ na pracę zespołową.
  2. \n", - "
  3. Wysoka wydajność poprzez zapobieganie zatorom w pracy.
  4. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - "
Minusy modelu Kanban
\n", - "
    \n", - "
  1. Wysoko wskazane jest doświadczenie przynajmniej jednego członka zespołu.
  2. \n", - "
  3. Istotne dla sukcesu jest ustawienie zadań w odpowiedniej kolejności.
  4. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "# 3. Metodologia Prince2" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "
\n", - " \n", - "

3.1. Pryncypia w Prince2

\n", - "\n", - " Pryncypia Prince2 to nakazy wynikające z najlepszych praktyk zarządzania projektami. \n", - " \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 1.Ciągła zasadność biznesowa\n", - "* Musi istnieć jakiś biznesowy (przeliczalny na pieniądze) powód do rozpoczęcia projektu. \n", - "* Uzasadnienie biznesowe musi mieć miejsce podczas całego projektu - trzeba to cały czas sprawdzać." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 2. Korzystanie z doświadczeń\n", - "* Podczas wykonywania projektu należy wyciągać wnioski - uczyć się lekcji.\n", - "* Lekcje te powinny być zapisywane." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 3. Określone role i obowiązki\n", - "W projekcie wykonawcy mają określone role i określone zakresy odpowiedzialności. Dotyczy to również przedstawicieli klienta." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 4. Zarządzanie etapami \n", - "Projekt jest planowany i monitorowany etap po etapie." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 5. Zarządzanie tolerancją\n", - "Jeśli przebieg projektu mieści się w granicach tolerancji (czas, pieniądze itp.), to nie ma potrzeby alarmować przełożonych. W przypadku **wyjątku** (wyjście poza granicę tolerancji), trzeba powiadomić przełożonych." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 6. Koncentracja na produktach\n", - "Najważniejsza w projekcie jest jakość dostarczanych produktów." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 7. Dostosowywanie do warunków\n", - "Metodyka zarządzania powinna być dostosowana do specyfiki projektu: środowisko, złożoność, zespół, ryzyko itp." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "
\n", - "\n", - "

3.2. Motywy przewodnie (tematy) Prince2

\n", - "\n", - " Motyw przewodni to aspekt zarządzania. \n", - " \n", - "(Na przykład jedna osoba może zarządzać tylko jednym (lub kilkoma) aspektem zarządzania.)\n", - " \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 1. Potrzeba biznesowa\n", - "W zarządzaniu trzeba cały czas wyjaśniać zespołowi, jaka jest potrzeba biznesowa projektu - skąd projekt się wziął i dlaczego warto go kontynuować." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 2. Organizacja\n", - "Trzeba precyzyjnie przydzielić role w zespole oraz odpowiedzialności." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 3. Jakość\n", - "Trzeba mieć jasno określone aspekty jakości, które ma spełniać tworzony produkt." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 4. Plany\n", - "Zespół projektowy powinien znać **plan** całego przedsięwzięcia - co i kiedy się wydarzy." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - " ### 5. Ryzyko\n", - "Trzeba wiedzieć, jak sobie radzić ze zdarzeniami, które nie są pewne - mieć przygotowany \"plan B\" na wszelkie okoliczności." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "
\n", - " \n", - "

Ryzyko

\n", - " Ryzyko to niepewne wydarzenie, które w przypadku zajścia będzie miało wpływ na osiągnięcie założeń projektu.\n", - "
\n", - " \n", - "Wartość ryzyka można wyznaczyć mnożąc prawdopodobieństwo zajścia zdarzenia przez wielkość jego wpływu na projekt.\n", - " \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 6. Zmiana\n", - "Niezbędna jest świadomość tego, jak decyzja o jakiejkolwiek zmianie wpłynie na plany i produkt." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 7. Postępy\n", - "Trzeba stale monitorować wykonywanie projektu i na bieżąco decydować, czy i jak się powinno kontynuować." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "
\n", - " \n", - "

3.3. Procesy Prince2

\n", - " \n", - " Proces to zestaw aktywności, mających na celu zrelizowanie pewnego określonego celu.\n", - " \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 1. Przygotowanie projektu\n", - "CEL: Zapewnienie, że:\n", - " * projekt ma sens biznesowy i jest na niego pozwolenie,\n", - " * znany jest zakres projektu,\n", - " * wyznaczono osoby do roli zarządczych,\n", - " * zaplanowano prace do inicjacji projektu,\n", - " * odrzucono nierozsądne pomysły." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 2. Zarządzanie strategiczne projektem\n", - " CEL: Zapewnienie, że:\n", - " * są osoby odpowiedzialne za inicjację projektu, dostarczanie produktów i zakończenie projektu,\n", - " * przedstawiciel klineta ma dostęp do informacji o postępach projektu,\n", - " * plany dotyczące wykorzystania produktu po zakończeniu projektu są cały czas aktualne." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 3. Inicjowanie projektu\n", - " CEL: Oszacowanie następujących cech projektu:\n", - " * czas wykonania,\n", - " * koszt wykonania,\n", - " * oczekiwana jakość,\n", - " * zakres,\n", - " * ryzyko,\n", - " * korzyści." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 4. Sterowanie etapem\n", - " CEL: zapewnienie, że dla danego etapu:\n", - " * przydzielono wykonawców do wszystkich zadań,\n", - " * praca jest monitorowana,\n", - " * problemy są zgłaszane,\n", - " * każdy etap jest udokumentowany raportem." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 5. Zarządzanie wytwarzaniem produktu\n", - " CEL: zapewnienie, że\n", - " * jest pełne zrozumienie, jakie są wymagania na przyjęcie produktu,\n", - " * dostarczony produktu mieści się w granicach przyjętej tolerancji." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 6. Zarządzanie punktami granicznymi między etapami\n", - " CEL: dostarczenie przełożonym wystarczającej informacji, by można określić:\n", - " * czy etap zakończył się sukcesem,\n", - " * czy (i ewentualnie jak) należy zmodyfikować kolejny etap,\n", - " * czy (i ewentualnie jak) należy zmodyfikować cały plan,\n", - " * potwierdzić, czy istnieje potrzeba biznesowa na kontynuowanie planu i czy można zaakceptować ryzyko." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### 7. Zamykanie projektu \n", - " CEL: Określenie momnetu w czasie, kiedy projekt jest zaakceptowany, czyli:\n", - " * sprawdzono, że produkty są zaakceptowane przez ich użytkowników,\n", - " * zweryfikowano, że działanie produktów jest zgodne z założeniami,\n", - " * określono uzyskane i przyszły korzyści z wyników projektu,\n", - " * zdefiniowano ryzyka i niepewności, któe mogą powstać po zakońceniu projektu." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## 3.4. Grupy interesariuszy\n", - "W projekcie zgodnym z PRINCE2 powinny być zawsze reprezentowane trzy główne grupy interesariuszy:\n", - "\n", - " * Biznes,\n", - " * Użytkownicy, \n", - " * Dostawcy." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### Strona reprezentująca Biznes\n", - "„Czy projekt jest ciągle wart realizacji?”. \n", - "\n", - "W Komitecie Sterującym biznes reprezentowany jest przez **Przewodniczącego**." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### Strona reprezentująca Użytkowników\n", - "Użytkownicy odnoszą korzyści dzięki eksploatacji wytworzonych w projekcie produktów. Mogą też tymi produktami się posługiwać oraz je serwisować i utrzymywać. \n", - "\n", - "W celu zapewnienia, że w projekcie powstaną właściwe produkty o uzgodnionej jakości, użytkownicy muszą być reprezentowani w Komitecie Sterującym. Reprezentację tę powierza się roli **Głównego Użytkownika**." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### Strona reprezentująca dostawców\n", - "Dostawca zapewnia zasoby i umiejętności niezbędne do wytworzenia produktów, np. firma IT. \n", - "\n", - "Interesy dostawców są reprezentowane w Komitecie Sterującym przez rolę **Głównego Dostawcy**." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "
\n", - "\n", - "

3.5. Role w Prince2

\n", - " \n", - " Rola to funkcja w projekcie, do której przypisane są obowiązki i odpowiedzialności. \n", - "
Role są powierzane konkretnym osobom. W niewielkim projekcie jedna osoba może pełnić kilka ról.\n", - " \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "* **Komitet Sterujący** (ang. Project Board), a w nim: \n", - " * Przewodniczący (Executive),\n", - " * Główny Użytkownik (Senior User),\n", - " * Główny Dostawca (Senior Supplier)." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "* **Kierownik Projektu** (Project Manager) - odpowiedzialny za operacyjne (codzienne) zarządzanie projektem. \n", - "\n", - "Jego podstawowym obowiązkiem jest dbanie o to, aby projekt wytwarzał wymagane produkty przy założonych celach, którymi są: \n", - "\n", - "- czas, \n", - "- koszt, \n", - "- jakość, \n", - "- zakres, \n", - "- ryzyko,\n", - "- korzyści." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "* **Kierownik Zespołu** (Team Manager) - odpowiedzialny za dostarczanie określonego produktu o zdefiniowanej jakości w ramach uzgodnionego kosztu i czasu. \n", - "\n", - "Rola Kierownika Zespołu jest opcjonalna i ma zazwyczaj zastosowanie w dużych projektach." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "* **Nadzór Projektu** (Project Assurance) - drugie źródło informacji dla Komitetu Sterującego (przydatne w sytuacji, gdy Kierownik Projektu nie chce ujawniać problemów)." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "* **Wsparcie Projektu** (Project Support) - wsparcie administracyjne oraz wsparcie w zakresie planowania i zarządzania ryzykiem Obsługa Zmian." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "* **Obsługa Zmian** - osoba lub zespół delegowany do oceny żądań zmian lub odstępstw - z reguły są to zmiany poważniejsze niż te, które są w gestii Kierownika Projektu, a za mało istotne, by zawracać głowę Komitetowi Sterującemu." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "# Podsumowanie\n", - " * Metodologie zarządzania projektami można podzielić na:\n", - " * tradycyjne (sekwencyjne)\n", - " * zwinne (adaptacyjne, iteracyjne)\n", - " * Prince2 zaliczana jest do metodologii sekwencyjnych. \n", - " * Metodologia Prince2 jest bardzo często stosowana w projektach badawczo-rozwojowych finansowanych przez instytucje, gdyż oczekują one:\n", - " * wymiernych produktów,\n", - " * ciągłego raportowania,\n", - " * umiejętności zarządzania ryzykiem.\n", - " * W rzeczywistych projektach stosuje się najczęściej kompilację przeróżnych metodologii.\n", - " " - ] - } - ], - "metadata": { - "author": "Krzysztof Jassem", - "celltoolbar": "Slideshow", - "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": "04. Metodologia Prince 2[wykład]", - "title": "Przygotowanie do projektu badawczo-rozwojowego", - "year": "2021" - }, - "nbformat": 4, - "nbformat_minor": 4 -}