90
Metodyki Prowadzenia Projektów IT na podstawie projektu internetowej firmy turystycznej. 1

[praca inzynierska]Prince2vsScrum_1.1

Embed Size (px)

DESCRIPTION

inz 1.1

Citation preview

Page 1: [praca inzynierska]Prince2vsScrum_1.1

Metodyki Prowadzenia Projektów IT na podstawie projektu internetowej firmy turystycznej.

1

Page 2: [praca inzynierska]Prince2vsScrum_1.1

Spis Treści1. Cel...........................................................................................................................................42. Informacje o zastosowanych metodach..................................................................................43. Rozwiązanie problemu............................................................................................................44. Zawartość pracy......................................................................................................................45. Dokumentacja techniczna z wykonanego systemu IT............................................................5

1. Przejrzyj zawartość strony............................................................................................72. Znajdź wycieczkę..........................................................................................................83. Wyszukaj ofertę...........................................................................................................104. Dodaj komentarz..........................................................................................................125. Pokaż komentarze.......................................................................................................136. Rejestruj się.................................................................................................................147. Zaloguj się...................................................................................................................168. Edytuj dane..................................................................................................................179. Zapisz na newsletter...................................................................................................1810. Zarządzaj schowkiem................................................................................................1911. Zarezerwuj ofertę.......................................................................................................2012. Modyfikuj zawartość strony......................................................................................2113. Zarządzaj użytkownikami..........................................................................................2514. Zarządzaj grupami użytkowników...........................................................................2615. Modyfikuj dane klientów...........................................................................................2716. Modyfikuj rezerwacje................................................................................................2817. Modyfikuj Emaile......................................................................................................291. Dodanie nowego newsa przez administratora:............................................................302. Dodanie nowego typu wakacji przez administratora...................................................313. Dodanie nowego hotelu przez administratora:............................................................334. Dodanie pliku do galerii plików..................................................................................355. Dodaj użytkownika......................................................................................................36

6. Opis oraz porównanie metodyki Prince2 oraz metodyki Scrum ..........................................377. Opis Prince2..........................................................................................................................37

Uruchamianie projektu/Przygotowanie projektu(PP)......................................................38Zarządzanie strategiczne projektem (ZS)........................................................................39Planowanie(PL) ..............................................................................................................39Inicjowanie projektu (IP).................................................................................................40Sterowanie etapem (SE)..................................................................................................40Zarządzanie zakresem etapu (ZE)...................................................................................41Zamykanie projektu (ZP).................................................................................................41Uzasadnienie biznesowe..................................................................................................41Organizacja......................................................................................................................42Role w Prince2:...............................................................................................................42Zakresy obowiązków.......................................................................................................42Plany................................................................................................................................43Elementy sterowania........................................................................................................44Zarządzanie ryzykiem......................................................................................................44Parametry ryzyka w PRINCE2........................................................................................44Jakość w środowisku projektowym.................................................................................45Zarządzanie konfiguracją.................................................................................................45Sterowanie zmianami......................................................................................................45Planowanie oparte na produktach....................................................................................46

2

Page 3: [praca inzynierska]Prince2vsScrum_1.1

Sterowanie zmianami......................................................................................................46Przeglądy jakości.............................................................................................................46Dokumentacja inicjująca projekt ....................................................................................46Rejestry............................................................................................................................47Raporty............................................................................................................................47Plany................................................................................................................................47

8. Opis Scrum............................................................................................................................48Mistrz...............................................................................................................................49Właściciel Produktu.........................................................................................................49Zespół..............................................................................................................................49Spotkanie planistyczne wydania......................................................................................49Sprint...............................................................................................................................50Spotkanie planistyczne Sprintu.......................................................................................51Przegląd Sprintu..............................................................................................................52Retrospektywa Sprintu....................................................................................................53Codzienny Scrum............................................................................................................53Rejestr produktowy i wypalanie w projekcie..................................................................54Rejestr zadaniowy i wypalanie w Sprincie......................................................................55Wykres wypalania w Sprincie to wykres przedstawiający..............................................55„Gotowe”, czyli kryterium gotowości produkcyjnej (Definition of Done, DoD)...........56Planowanie w Prince2.....................................................................................................57Planowanie w Scrum.......................................................................................................60Podsumowanie.................................................................................................................61Zakres obowiązków Komitetu Sterującego ....................................................................62Zakres obowiązków Głównego użytkownika produktu .................................................62Zakres obowiązków Głównego dostawcy produktu .......................................................62Zakres obowiązków Przewodniczącego Komitetu Sterującego .....................................62Zakres obowiązków Kierownika Projektu .....................................................................62Zakres obowiązków Nadzoru projektowego...................................................................63Zakres obowiązków kierownika zespołu.........................................................................63Zakres obowiązków wsparcia projektowego...................................................................63Zakres obowiązków właściciela ryzyka..........................................................................63Zakres obowiązków Interesariusza..................................................................................64Zakres obowiązków Scrum mastera................................................................................64Zakres obowiązków Produkt ownera..............................................................................64Zakres obowiązków członka zespołu..............................................................................64

9. Wymagania funkcjonalne.....................................................................................................6410. Wymagania niefunkcjonalne...............................................................................................6611. Przeglądy sprintów..............................................................................................................6612. Przegląd wydania................................................................................................................6813. Diagram związków encji.....................................................................................................7014. Wybór technologii...............................................................................................................7015. Opis używanych technologii...............................................................................................7016. Moduły systemu..................................................................................................................72

3

Page 4: [praca inzynierska]Prince2vsScrum_1.1

1. CelCelem tej pracy jest porównanie dwóch metodyk prowadzenia projektów informatycznych; Prince2 oraz Scrum oraz wykonanie aplikacji informatycznej „internetowa firma turystyczna”, która umożliwia stworzenie portalu internetowego tematycznie związanego z turystyką. Nad aplikacją pracowaliśmy używając metodyki Scrum.

2. Informacje o zastosowanych metodachMetody zastosowane w projekcie w celu stworzenia aplikacji są następujące:

Zebranie wymagań użytkownika Stworzenie diagramu przypadków użycia Stworzenie diagramu związków encji Użycie kryteriów akceptacyjnych projektowanie aplikacji implementacja funkcjonalności przeprowadzenie testów przypadków użycia wytworzenie dokumentacji projektowej

Metody zastosowane w projekcie w celu porównania metodyki Prince2 i Scrum

Opis metodyki Prince2 Opis metodyki Scrum Porównanie metodyki Scrum i Prince2 pod kątem jakości Porównanie metodyki Scrum i Prince2 pod kątem planowania Porównanie metodyki Scrum i Prince2 pod kątem ryzyka Porównanie metodyki Scrum i Prince2 pod kątem ról w zespole projektowym Porównanie metodyki Scrum i Prince2 pod kątem milestones

3. Rozwiązanie problemuProblem zostanie rozwiązany dzięki wykonaniu aplikacji informatycznej nad którą zespół będzie pracował według metodyki Scrum. Obserwacje metodyki Scrum zostaną porównane z metodyką Prince2. Wnioski zostaną zaprezentowane w tym dokumencie.

4. Zawartość pracydokumentację techniczną z wykonanego systemu IT w której skład wchodzą:

1. słownik systemu2. role w systemie3. Diagram przypadków użycia

4

Page 5: [praca inzynierska]Prince2vsScrum_1.1

4. Diagram związków encji5. Diagram przepływu sterowania6. Opis oraz porównanie metodyki Prince2 oraz metodyki Scrum 7. Opis metodyki Prince28. Opis metodyki Scrum9. Porównanie metodyki Scrum i Prince2 pod kątem jakości10. Porównanie metodyki Scrum i Prince2 pod kątem planowania11. Porównanie metodyki Scrum i Prince2 pod kątem ryzyka12. Porównanie metodyki Scrum i Prince2 pod kątem ról w zespole projektowym13. Opis procesu wytwórczego w którego skład wchodzą:

1. wymagania początkowe dla wydania i sprintów wraz z kryteriami akceptacyjnymi

2. podziału pracy na sprinty(iteracje)3. przeglądy sprintów4. przegląd wydania

5. Dokumentacja techniczna z wykonanego systemu IT

Słownik pojęć

Pojęcie Opis

Aktor Abstrakcyjny użytkownik systemu, który reprezentuje grupę rzeczywistych użytkowników lub partnerów systemu o podobnych funkcjach i sposobie komunikacji z systemem.

Przypadek użycia

Grupa interakcji między aktorem a systemem. Interakcje powinny mieć cechy transakcji(niepodzielnych operacji) w systemie dostarczających aktorowi rezultatu o mierzalnej wartości.

Diagram kontekstowy

Graficzne przedstawienie elementów środowiska, z którymi definiowany system pozostaje w interakcji. Elementy środowiska przedstawia się za pomocą aktorów.

Użytkownik końcowy

Bezpośredni konsument usługi; jest to aktor, który jest identyfikowany w modelu każdej usługi. W usłudze może uczestniczyć wielu aktorów.

Skrót Pełna nazwa/wyjaśnienie

5

Page 6: [praca inzynierska]Prince2vsScrum_1.1

Klient Internetowa firma turystyczna dla której jest przeprowadzony projekt informatyczny opisany w tym dokumencie. Na potrzeby projektu korzystaliśmy z wymyślonej firmy

Projekt Proces wytważania aplikacji dla klienta

Metodyka agile

Metody prowadzenia projektów z grupy agile(zwinnych, lekkich)

Team Zespół tworzący projekt

Artefakt Dokument który jest tworzony w ramach metodyki

Role w systemie

Rola Opis Roli

Klient Osoba zarejestrowana w systemie. Posiada pełne możliwości przeglądania strony, dodawania komentarzy, rezerwacji wycieczki.

Browser Osoba odwiedzająca stronę. Posiada możliwość przeglądania ogólnie dostępnych treści

Administrator Pracownik posiadający uprawnienia do wprowadzania danych konfiguracyjnych dla aplikacji- na przykład do modyfikacji list słownikowych

6

Page 7: [praca inzynierska]Prince2vsScrum_1.1

Diagram przypadków użycia

1. Przejrzyj zawartość strony

Nazwa przypadku Przejrzyj zawartość strony

Nr id 1

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet normalny

Typ ogólny

Aktorzy Browser, Klient

Opis Przypadek użycia dotyczy przeglądania zawartości strony w różnych sekcjach: Aktualności, Ubezpieczenia, Słowniczek Turysty, Centrum Prasowe, Kursy i Szkolenia, Pomoc Konsularna, Kontakt, O nas, Porady zdrowotne, Przewodniki

Warunek początkowy Brak

Warunek końcowy Brak

Główny przepływ zdarzeń Aktor uruchamia przypadek.

Określenie żądanego zakresu danych do wyświetlenia

System wyświetla informacje zawarte w określonej sekcji strony..

Aktor odczytuje informacje.

Koniec przypadku użycia

Alternatywne przepływy zdarzeń

Brak

Wymagania niefunkcjonalne

Brak

Uwagi dodatkowe brak

7

Page 8: [praca inzynierska]Prince2vsScrum_1.1

2. Znajdź wycieczkę

Nazwa przypadku Znajdź wycieczkę

Nr id 2

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet normalny

Typ ogólny

Aktorzy Browser, Klient

Opis Przypadek użycia dotyczy wyszukiwania ofert wycieczek przy wykorzystaniu wyszukiwarki w menu „Znajdź wycieczkę”

Warunek początkowy Brak

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. Aktor wprowadza określone kryteria na formularzu Znajdź wycieczkę

3. Wyszukanie rekordów poprzez wciśnięcie przycisku „Szukaj”

4. System wyświetla informacje dotyczące wycieczki spełniające kryteria.

5. Aktor odczytuje informacje.

6. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

3a. Aktor nie wpisuje daty w menu „Znajdź wycieczkę- powrót do punktu 2 przypadku użycia.”

Wymagania niefunkcjonalne

Wyświetlenie listy wycieczek spełniających kryteria określone przez aktora.

Brak

8

Page 9: [praca inzynierska]Prince2vsScrum_1.1

Uwagi dodatkowe brak

Pola znajdujące się w narzędziu „Znajdź wycieczkę ” będą następujące:

Nazwa pola Wymagalność

Kategoria wycieczki

Nie

Kraj Nie

Miejsce pobytu Nie

Wyjazd od Tak

Liczba dni Nie

Przedział cenowy

Nie

9

Page 10: [praca inzynierska]Prince2vsScrum_1.1

3. Wyszukaj ofertę

Nazwa przypadku Wyszukaj ofertę

Nr id 3

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet normalny

Typ ogólny

Aktorzy Browser, Klient

Opis Przypadek użycia dotyczy wyszukiwania ofert przy wykorzystaniu następujących sekcji: Oferty tematyczne, Najpopularniejsze kraje, Najpopularniejsze miejsca pobytu, Najwyżej oceniane hotele

Warunek początkowy Brak

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. Aktor wybiera określoną sekcję do wyszukania oferty

3. Aktor wybiera określoną subkategorię w ramach danej sekcji..

4. System wyświetla informacje dotyczące wybranej wycieczki lub grupy wycieczek..

5. Aktor używa przycisku „Pokaż oferty ” w celu wyświetlenia wyników wyszukiwania

6. System wyświetla listę wraz z następującymi danymi: zdjęcie, szczegóły wycieczki, Standard, Najbliższy termin, Cena.

7. Użytkownik wybiera określoną ofertę poprzez kliknięcie na pole „Nazwa” lub kliknięcie na pole „Zakwaterowanie”.

8. System wyświetla informacje dotyczące określonej wycieczki lub też miejsca Zakwaterowania. Dokładny opis pól dostępnych znajduje się w tabeli,

9. Koniec przypadku użycia

Alternatywne przepływy 2a. Aktor nie wpisuje poprawnej daty w menu „Znajdź wycieczkę- powrót do

1

Page 11: [praca inzynierska]Prince2vsScrum_1.1

zdarzeń punktu 2 przypadku użycia.”

Wymagania niefunkcjonalne

Brak

Uwagi dodatkowe Po wyszukaniu określonej wycieczki można ją zarezerwować korzystając z przypadku Dostosuj ofert. Można również dodać lub przeglądać komentarze „Dodaj opinię ”, „Zobacz opinię” jak i dodać do schowka ”Dodaj do schowka”

Tabela pola dostępne po wybraniu określonej wycieczki

Pole

Nazwa

Typ transportu

Miejsce wylotuMiejsce lądowania

Standard

Wyżywienie

Rodzaj wyjazduCena

Dodatki

Pola widoczne w menu dolnym:

Pole

Szczegóły oferty

Informacje o hotelu

Opinie o hotelu

1

Page 12: [praca inzynierska]Prince2vsScrum_1.1

Informacje o miejscowości

Pola dostępne po wybraniu menu „Zakwaterowanie”:Pole

Nazwa

Lokalizacja

Standard

Opis

Komentarze

Dodaj opinię

4. Dodaj komentarz

Nazwa przypadku Dodaj komentarz

Nr id 4

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet normalny

Typ ogólny

1

Page 13: [praca inzynierska]Prince2vsScrum_1.1

Aktorzy Browser, Klient

Opis Przypadek użycia dotyczy dodawania komentarzy do określonej wycieczki. W celu dodania komentarza należy najpierw wybrać wycieczkę korzystając ze scenariusza Znajdź wycieczkę lub Wyszukaj ofertę.

Warunek początkowy Brak

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. Aktor używa przycisku „Dodaj opinię”

3. System wyświetla formularz dodawania opinii.

4. Aktor wypełnia formularz dodania opinii uzupełniając pole „Autor ” oraz „Treść”.

5. Aktor zatwierdza dodanie opinii poprzez naciśnięcie przycisku „Dodaj opinię”

6. System zapisuje opinię, wyświetla komunikat „Komentarz został dodany pomyślnie!” oraz pokazuje listę komentarzy do danej oferty

7. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

5a. Aktor używa przycisku „Anuluj” -koniec przypadku użycia

Wymagania niefunkcjonalne

Brak

Uwagi dodatkowe Brak

5. Pokaż komentarze

Nazwa przypadku Pokaż komentarze

Nr id 5

1

Page 14: [praca inzynierska]Prince2vsScrum_1.1

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet normalny

Typ ogólny

Aktorzy Browser, Klient

Opis Przypadek użycia dotyczy wyświetlania komentarzy do określonej wycieczki. W celu wyświetlenia komentarzy należy najpierw wybrać wycieczkę korzystając ze scenariusza Znajdź wycieczkę lub Wyszukaj ofertę.

Warunek początkowy Brak

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. Aktor używa przycisku „Komentarze”

3. System wyświetla listę dostępnych komentarzy dla danej wycieczki.

4. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

Brak

Wymagania niefunkcjonalne

Brak

Uwagi dodatkowe Brak

6. Rejestruj się

Nazwa przypadku Rejestruj się

Nr id 6

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

1

Page 15: [praca inzynierska]Prince2vsScrum_1.1

Typ Ogólny

Aktorzy Browser

Opis Pozwala zarejestrować swoje dane i założyć konto

Warunek początkowy Brak.

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek

2. .System wyświetla formularz rejestracji

3. Aktor wypełnia formularz.

4. System sprawdza poprawność danych.

5. System zakłada konto.

6. Aktor zostaje zalogowany.

7. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

3a. Zerwane połączenie – koniec przypadku użycia.

5a. System odrzuca dane w przypadku niezgodności z wymaganiami i wyprowadza komunikat o niepoprawności – powrót do kroku 2.

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

Formularz rejestracji

Pole Wymagania

Login Minimum 5 znaków

Hasło Minimum 5 znaków

Powtórz hasło Pole powinno mieć taką samą wartość jak haslo

Imię Minimum 5 znaków

Nazwisko Minimum 5 znaków

Data urodzenia

Pole wymagane

Numer dowodu osobistego

9 znaków

Ulica Minimum 3 znaki

Numer domu Brak

Numer Brak

1

Page 16: [praca inzynierska]Prince2vsScrum_1.1

mieszkania

Miasto Minimum 3 znaki

Kod pocztowy

Pole wymagane

Województwo Brak

Numer telefonu

Brak

Numer telefonu komórkowego

Brak

E-mail Poprawny adres e-mail

7. Zaloguj się

Nazwa przypadku Zaloguj się

Nr id 7

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Klient, Administrator

1

Page 17: [praca inzynierska]Prince2vsScrum_1.1

Opis Pozwala zalogować się na konto

Warunek początkowy Wpisanie loginu i hasła

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. System sprawdza login i hasło

3. Aktor zostaje zalogowany, i dostaje dostęp do konta

4. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

3a. Aktor wpisuje niepoprawny login lub/i hasło i nie zostaje zalogowany – komunikat o błędzie i koniec przypadku użycia

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

8. Edytuj dane

Nazwa przypadku Edytuj dane

Nr id 8

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Klient, Administrator

Opis Pozwala edytować dane użytkownika

Warunek początkowy Wpisanie loginu i hasła

Warunek końcowy Brak

1

Page 18: [praca inzynierska]Prince2vsScrum_1.1

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. System sprawdza login i hasło

3. Aktor zostaje zalogowany, i dostaje dostęp do swoich danych

4. Aktor modyfikuje swoje dane.

5. System zapisuje zmiany

6. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

3a. Aktor wpisuje niepoprawny login lub/i hasło i nie zostaje zalogowany – komunikat o błędzie i koniec przypadku użycia

4a. Aktor wpisuje niepoprawne dane-powrót do punktu 4

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

9. Zapisz na newsletter

Nazwa przypadku Zapisz na newsletter

Nr id 9

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Klient, Browser

Opis Pozwala zarejestrować się na subskrypcję Newsletteru

Warunek początkowy Brak

Warunek końcowy Brak

1

Page 19: [praca inzynierska]Prince2vsScrum_1.1

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. Aktor wprowadza swojego maila.

3. System zapisuje zmiany

4. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

2a. Aktor wpisuje niepoprawny adres mailowy – komunikat o błędzie i koniec przypadku użycia

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

10. Zarządzaj schowkiem

Nazwa przypadku Zarządzaj schowkiem

Nr id 10

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Klient, Browser

Opis Pozwala dodawać wybrane przez aktora oferty do schowka i zarządzać nimi.

Warunek początkowy Brak

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. Aktor wywołuje odpowiednie operacje na schowku ofert(pokazanie zawartości schowka- przycisk „Pokaż schowek”, wyczyszczenie

1

Page 20: [praca inzynierska]Prince2vsScrum_1.1

zawartości schowka- przycisk- „Opróżnij schowek”, dodanie nowej oferty do schowka – przycisk „Dodaj do schowka”

3. System zapisuje zmiany

4. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

Brak

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

11. Zarezerwuj ofertę

Nazwa przypadku Zarezerwuj ofertę

Nr id 11

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Klient

Opis Pozwala rezerwować wybraną ofertę.

Warunek początkowy Realizacja scenariusza „Zaloguj się” a następnie wybranie oferty poprzez scenariusz „Wyszukaj ofertę” lub „Znajdź wycieczkę”

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. Aktor wypełnia wybiera dane w formularzu i naciska przycisk „Zapisz”

3. System zapisuje zmiany

4. Koniec przypadku użycia

2

Page 21: [praca inzynierska]Prince2vsScrum_1.1

Alternatywne przepływy zdarzeń

Brak

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

Pola w formularzu zamówienia:

Pole

Terminy i ceny

Liczba osób dorosłych

Liczba dzieci

Liczba niemowląt

Liczba pokoi

12. Modyfikuj zawartość strony

2

Page 22: [praca inzynierska]Prince2vsScrum_1.1

Nazwa przypadku Modyfikuj zawartość strony

Nr id 12

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Administrator

Opis Pozwala wykonywać odpowiednie operacje (Dodaj, Podgląd, Edycja, Usuń)

w odpowiednich sekcjach – Newsy, Artykuły, Typy wakacji, Kraje, Miejsca pobytu, Hotele, Oferty, Dodatki, Przewodniki, Galerie plików,

Warunek początkowy Zalogowanie się na prawach administratora

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. Aktor wybiera odpowiednią sekcję i wykonuje operacje(dodaj, usuń, edytuj lub podgląd)

3. System zapisuje zmiany

4. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

2a Aktor nie wypełnił wszystkich wymaganych pól lub wypełnił je niepoprawnie – komunikat o błędzie i powrót do formularza z danej sekcji – punkt 2

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

Newsy

Pole wymaganeTytuł takTreść tak

2

Page 23: [praca inzynierska]Prince2vsScrum_1.1

Artykuły

Pole wymaganeTytuł takTreść tak

Typy wypoczynku

Pole wymaganeNazwa takOpis takObrazek nie

Kraje

Pole wymaganeNazwa takOpis takObrazek nie

Miejsca pobytu

Pole wymaganeNazwa takKraj takOpis takObrazek nie

Hotele

Pole wymaganeNazwa takStandard nieOpis takObrazek nie

Oferty

Pole wymaganeNazwa NieTerminy NieCena za osobę

Nie

Typ Tak

2

Page 24: [praca inzynierska]Prince2vsScrum_1.1

Transportu

Początek podróży

Nie

Cel podróży Nie

wyżywienie Tak

Cena NieTyp wypoczynku

Tak

Kraj Tak

Miejsce pobytu

Tak

Hotel Tak

Opis Nie

Dodatki Nie

Galeria plików

Nie

Dodatki

Pole wymaganeNazwa takOpis takObrazek nie

Przewodniki

Pole wymaganeNazwa NieOpis NieObrazek nie

Galerie plików

Pole wymaganeNazwa takPlik nie

2

Page 25: [praca inzynierska]Prince2vsScrum_1.1

13. Zarządzaj użytkownikami

Nazwa przypadku Zarządzaj użytkownikami

Nr id 13

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Administrator

Opis Pozwala dodawać, edytować oraz usuwać dane użytkowników.

Warunek początkowy Zalogowanie się na prawach administratora

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. Aktor modyfikuje dane użytkownika (dodaj, usuń, edytuj)

3. System zapisuje zmiany

4. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

2a. Aktor nie wypełnia wymaganych danych lub wypełnia je niepoprawnie- komunikat o błędzie – powrót do punktu 2.

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

Pole wymaganeLogin Tak od 3 do 20

znakówHasło Tak od 5 do 20

znaków

2

Page 26: [praca inzynierska]Prince2vsScrum_1.1

Powtórz hasło

Tak od 5 do 20 znaków

Grupa Tak

14. Zarządzaj grupami użytkowników

Nazwa przypadku Zarządzaj grupami użytkowników

Nr id 14

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Administrator

Opis Pozwala dodawać, edytować oraz usuwać grupy użytkowników

Warunek początkowy Zalogowanie się na prawach administratora

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. Aktor modyfikuje dane grup użytkowników (dodaj, usuń, edytuj)

3. System zapisuje zmiany

4. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

2a. Aktor nie wypełnia wymaganych danych lub wypełnia je niepoprawnie- komunikat o błędzie – powrót do punktu 2.

Wymagania brak

2

Page 27: [praca inzynierska]Prince2vsScrum_1.1

niefunkcjonalneUwagi dodatkowe brak

Pole WymaganeNazwa Tak Lista artykułów

Nie

Szczegóły artykułu

Nie

Usuwanie artykułu

Nie

15. Modyfikuj dane klientów

Nazwa przypadku Modyfikuj dane klientów

Nr id 15

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Administrator

Opis Pozwala dodawać, edytować oraz usuwać grupy użytkowników

Warunek początkowy Zalogowanie się na prawach administratora

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. System wyświetla listę dostępnych klientów

2

Page 28: [praca inzynierska]Prince2vsScrum_1.1

3. Aktor modyfikuje dane klientów (podgląd lub usuń)

4. System zapisuje zmiany

5. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

brak

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

16. Modyfikuj rezerwacje

Nazwa przypadku Modyfikuj rezerwacje

Nr id 16

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Administrator

Opis Pozwala dodawać, edytować oraz usuwać grupy użytkowników

Warunek początkowy Zalogowanie się na prawach administratora

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. System wyświetla listę rezerwacji.

3. Aktor modyfikuje dane klientów (podgląd lub usuń)

4. System zapisuje zmiany

5. Koniec przypadku użycia

2

Page 29: [praca inzynierska]Prince2vsScrum_1.1

Alternatywne przepływy zdarzeń

brak

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

17. Modyfikuj Emaile

Nazwa przypadku Modyfikuj Emaile

Nr id 17

Autor Adam Rychel, Maciej Sowiński, Marcin Ciesielski, Jan Garczyński

Priorytet Normalny

Typ Ogólny

Aktorzy Administrator

Opis Pozwala dodawać, edytować oraz usuwać grupy użytkowników

Warunek początkowy Zalogowanie się na prawach administratora

Warunek końcowy Brak

Główny przepływ zdarzeń 1. Aktor uruchamia przypadek.

2. System wyświetla listę email.

3. Aktor modyfikuje email (usuń)

4. System zapisuje zmiany

5. Koniec przypadku użycia

Alternatywne przepływy zdarzeń

brak

Wymagania niefunkcjonalne

brak

Uwagi dodatkowe brak

2

Page 30: [praca inzynierska]Prince2vsScrum_1.1

6. Diagram związków encji

Diagram przejść ekranów

1. Dodanie nowego newsa przez administratora:

3

Page 31: [praca inzynierska]Prince2vsScrum_1.1

3

Page 32: [praca inzynierska]Prince2vsScrum_1.1

2. Dodanie nowego typu wakacji przez administratora

3

Page 33: [praca inzynierska]Prince2vsScrum_1.1

3. Dodanie nowego hotelu przez administratora:

3

Page 34: [praca inzynierska]Prince2vsScrum_1.1

3

Page 35: [praca inzynierska]Prince2vsScrum_1.1

4. Dodanie pliku do galerii plików

3

Page 36: [praca inzynierska]Prince2vsScrum_1.1

5. Dodaj użytkownika

3

Page 37: [praca inzynierska]Prince2vsScrum_1.1

7. Opis oraz porównanie metodyki Prince2 oraz metodyki Scrum

8. Opis Prince2Prince2 to metodyka zarządzania projektami oparta na doświadczeniach nabytych przez Project managerów z Wielkiej Brytanii. Jest to metodyka uniwersalna i można ją zastosować do każdego typu projektów.

Główne przyczyny porażek projektowych zgodnie z Prince21. Produkty

Brak poprawnej identyfikacji celów i produktów projektu Brak określenia jakie są wymagania akceptacyjne dla produktów

dostarczanych w projekcie 1. Zarządzanie strategiczne

Niedostateczne uzasadnienie biznesowe Brak poprawnych relacji pomiędzy klientem i dostawcą Błędy w podziale ról w projekcie Klient jest mało zaangażowany w projekt Zaangażowanie kierownictwa malejące wraz z czasem Nadmierny optymizm podczas harmonogramowania zasobów do projektu Nadmiernie rozbudowana biurokracja Brak tak zwanego „zdrowego rozsądku: Brak zaplanowania rezerw dla działań nie objętych planem(awaryjnych)

2. Zarządzanie codzienne/bieżące

3

Page 38: [praca inzynierska]Prince2vsScrum_1.1

Brak właściwych narzędzi do kierowania projektem lub nie poprawne ich wykorzystanie

Brak zarządzania zmianami w projekcie Błędy podczas planowania/estymowania działań

Nazwa PRINCE2 jest skrótem od angielskiego: Projects In Controlled Environment, co oznacza “projekty w kontrolowanym środowisku”

Historia Prince2Pierwowzorem dla Prince2 była metodyka PROMPT(Project Resource Organisation Management Planning Technique), metodyka ta służyła pierwotnie do prowadzenia projektów IT. PROMPT2 został wzbogacony o część związaną z zarządzaniem jakością i został wdrożony jako oficjalna rządowa metodyka. Po kupieniu praw do PROMPT2 przez rządową agencją CCTA został opublikowany standard Prince wydany jako „best practises” dla projektów każdego typu. Prince szybko stał się de facto oficjalną metodyką dla projektów prowadzonych w UK w każdym obszarze

PRINCE2 został upubliczniony pierwszy raz w roku 1996 r. jako ogólna metodyka zarządzania projektami dla każdej dziedziny biznesowej. Od tego czasu Prince2 zyskuje coraz szersze uznanie na całym świecie stanowiąc główną alternatywę dla PMBOK-a(Project management book of knowledge) organizacji PMI. W roku 2009 została wydana aktualizacja do metodyki Prince2 wprowadzająca większy nacisk na wykorzystanie „lessons learned” z poprzednich projektów.

Projekt według Prince2Środowisko zarządcze powołane w celu dostarczenia produktów biznesowych zgodnie z wymaganiami biznesowymi.

Procesy Prince2PRINCE2 cechuje się podejściem procesowym do zarządzania projektami. Definiuje precyzyjnie osiem procesów, które dalej dzielą się na pod procesy:

1. Strategiczne zarządzanie projektem (ZS) 2. Planowanie (PL) 3. Uruchamianie Projektu/ Przygotowanie projektu (PP) 4. Inicjowanie projektu (IP) 5. Sterowanie Etapem (SE) 6. Zarządzanie Wytwarzaniem Produktów (WP) 7. Zarządzanie Zakresem Etapu (ZE) 8. Zamykanie Projektu (ZP)

Zgodnie z Prince2 faza realizacyjna projektu może zostać rozbita na etapy realizacyjne(Stages).

3

Page 39: [praca inzynierska]Prince2vsScrum_1.1

Procesy Uruchamianie Projektu, Inicjowanie Projektu Zamykanie Projektu

są jednocześnie fazami w cyklu życia projektu. Fazę realizacyjną stanowią procesy Sterowania Etapem, Zarządzania Wytwarzaniem Produktów Zarządzania Zakresem Etapu

Planowanie oraz Strategiczne Zarządzanie projektem są procesami które mają miejsca podczas całego cyklu życia projektu, prócz zamykania projektu.

Uruchamianie projektu/Przygotowanie projektu(PP)Celem procesu PP jest przygotowanie informacji niezbędnych do uruchomienia projektu.Rozpoczęcie procesu Przygotowania projektu nie oznacza pozwolenie na realizację projektu. W tym procesie nie mówimy jeszcze o projekcie a jedynie przygotowujemy się do jego rozpoczęcia. Decyzja o rozpoczęciu projektu zostaje podjęta na podstawie pracy jaka jest wykonywana w Przygotowaniu projektu. Dokumentem który uruchamia proces jest Zlecenie przygotowania projektu(Project Mandate). W przygotowanie projektu musi zostać zaangażowane kierownictwo firmy który powołuje Komitet Sterujący(Project Board), który jest odpowiedzialny za nadzór nad projektem. Komitet Sterujący powołuje kierownika projektu. Efektem tego procesu jest dokument Podstawowe Założenia projektu(Project Brief).

Przygotowanie projektu składa się z podprocesów:1. PP1. Mianowanie Przewodniczącego Komitetu Sterującego i Kierownika Projektu 2. PP2. Projektowanie zespołu zarządzania projektem 3. PP3. Mianowanie zespołu zarządzania projektem 4. PP4. Przygotowanie podstawowych założeń projektu 5. PP5. Definiowanie formuły realizacyjnej/Definiowanie 6. PP6. Planowanie etapu inicjowania

Zarządzanie strategiczne projektem (ZS)W procesie zarządzania strategicznego zostały opisane czynności jakie może realizować komitet sterujący projektu. Kierownik projektu powinien raportować dla komitetu sterującego aktualną sytuację w projekcie, natomiast komitet sterujący na podstawie tych informacji może podejmować decyzje dotyczące projektu. Do takich decyzji należy min: przydział dodatkowych zasobów do projektu, zmiany w wymaganiach jakościowych dla ważnych produktów projektu czy zmiany dotyczące zarządzania projektem. Podstawową zasadą wprowadzoną w Prince2 jest tzw zarządzanie przez wyjątki(management by exception), ta zasada oznacza że komitet sterujący angażuje się w projekt tylko w wyjątkowych sytuacjach, pozostawiając codzienne kierowanie projektem kierownikowi projektu. Prince2 proponuje zestaw sytuacji kiedy komitet sterujący musi zabrać głos.:

Koniec etapu Przygotowania Projektu Koniec Etapu wykonawczego Eskalacja od kierownika projektu

3

Page 40: [praca inzynierska]Prince2vsScrum_1.1

Zarządzanie Strategiczne Projektem składa się z podprocesów:1. ZS1. Zezwolenie na inicjowanie projektu 2. ZS2. Zezwolenie na realizację projektu 3. ZS3. Zezwolenie na realizację etapu lub planu awaryjnego 4. ZS4. Podejmowanie decyzji doraźnych 5. ZS5. Zatwierdzenie zamknięcia projektu

Planowanie(PL) Planowanie jest procesem trwającym przez cały cykl życia projektu.

Planowanie składa się z podprocesów:1. PL1. Projektowanie planu 2. PL2. Definiowanie i analizowanie produktów 3. PL3. Określanie działań i zależności 4. PL4. Szacowanie 5. PL5. Harmonogramowanie 6. PL6. Analizowanie ryzyka 7. PL7. Kompletowanie planu

Inicjowanie projektu (IP)W procesie Inicjowania Projektu następuje zdefiniowanie zakresu projektu, oraz wszelkich procedur jakie będą używane w projekcie. Jest to również czas kiedy zostają podjęte strategiczne decyzje zarządcze dotyczące podziału pracy na etapy, harmonogramu, komunikacji oraz dokumentacji. IP jest procesem w którym doprecyzowujemy założenia jakie zostały zdefiniowane w Przygotowaniu projektu. Efektem końcowym jest Dokument Inicjujący Projektu(DIP), który od momentu podpisania staje się dokumentem referencyjnym dla wszystkiego co dzieje się w projekcie. Zaakceptowanie DIP-u przez Komitet sterujący oznacza zgodę na rozpoczęcie projektu.

Inicjowanie projektu składa się z podprocesów:1. IP1. Planowanie jakości 2. IP2. Planowanie projektu 3. IP3. Doprecyzowanie Uzasadnienia Biznesowego i Ryzyka 4. IP4. Ustanowienie elementów sterowania 5. IP5. Ustanowienie dokumentacji projektowej 6. IP6. Zestawienie Dokumentu Inicjującego Projekt

Sterowanie etapem (SE)Sterowanie etapem jest procesem w który ma miejsce podczas codziennej pracy nad projektem. Proces ten opisuje działania jakie może podjąć kierownik projektu aby projekt był sprawnie zarządzany. Sterowanie etapem jak nazwa wskazuje zajmuje się perspektywą zarządczą pojedynczego etapu realizacyjnego.

Sterowanie etapem składa się z podprocesów:1. SE1. Zgoda na wykonanie grupy zadań 2. SE2. Ocena postępów

4

Page 41: [praca inzynierska]Prince2vsScrum_1.1

3. SE3. Rejestrowanie zagadnień projektowych 4. SE4. Analizowanie zagadnień projektowych 5. SE5. Przeglądanie stanu etapu 6. SE6. Raportowanie o ważnych zdarzeniach 7. SE7. Podejmowanie działań korekcyjnych 8. SE8. Eskalowanie zagadnień projektowych 9. SE9. Odbieranie wykonanej grupy zadań

Zarządzanie wytwarzaniem produktów (ZWP)

Proces Zarządzania wytwarzaniem produktów opisuje zarządzanie pracą zleconą do realizacji. W Prince2 mówimy o tym że projekt dostarcza produkty. Produktem może być rzecz materialna jak i oprogramowanie lub dokumentacja. Można powiedzieć że wszystko co zostało stworzone przez projekt prowadzony zgodnie z Prince2 jest produktem, również dokumentacja projektowa. Produkt zawsze jest definiowany przez wymagania akceptacyjne oraz dostawcę.

Zarządzanie Wytwarzaniem Produktów składa się z podprocesów:1. WP1. Przyjęcie grupy zadań do realizacji 2. WP2. Wytwarzanie grupy zadań 3. WP3. Dostarczanie grupy zadań

Zarządzanie zakresem etapu (ZE)W Prince2 mówimy o tym że projekt może być podzielony na etapy realizacyjne. Każdy z tych etapów musi mieć jasno określony zakres jak i kryteria sukcesu. W tym procesie sprawdzane jest czy aktualny etap realizacyjny został przeprowadzony zgodnie z zaplanowanym harmonogramem, czy tolerancje dla projektu zostały przekroczone, czy ryzyka projektowe są poprawnie obsługiwane. Oraz czy uzasadnienie biznesowe dla projektu cały czas istnieje. Podczas procesu Zarządzania Zakresem Etapu następuje również planowanie następnego etapu realizacyjnego.

Zarządzanie Zakresem Etapu składa się z podprocesów:1. ZE1. Planowanie etapu 2. ZE2. Uaktualnienia planu projektu 3. ZE3. Uaktualnienie uzasadnienia biznesowego projektu 4. ZE4. Uaktualnienie rejestru ryzyka 5. ZE5. Raportowanie końca etapu 6. ZE6. Opracowanie planu naprawczego

Zamykanie projektu (ZP)Zgodnie z zaleceniami Prince2 projekty muszą być zamykane w sposób uporządkowany.Wszystko co się działo podczas projektu, ryzyka, nauczki projektowe(lessons learned) oraz pozostała dokumentacja muszą zostać zarchiwizowane i zabezpieczone. Na podstawie tych dokumentów może zostać przeprowadzony raport powdrożeniowy.Zamykanie projektu składa się z podprocesów:

1. ZP1. Przygotowanie projektu do zamknięcia 2. ZP2. Określanie działań następczych

4

Page 42: [praca inzynierska]Prince2vsScrum_1.1

3. ZP3. Przegląd oceniający projekt

Komponenty

Komponenty są grupą produktów zarządczych zdefiniowanych w Prince2.

Metodyka PRINCE2 opisuje osiem komponentów :1. Uzasadnienie biznesowe2. Organizacja3. Plany4. Elementy sterowania5. Zarządzanie ryzykiem6. Jakość w środowisku projektu7. Zarządzanie konfiguracją8. Sterowanie zmianami

Uzasadnienie biznesowe

Uzasadnienie biznesowe jest dokumentem który odpowiadana pytanie „dlaczego z biznesowej perspektywy uruchamiamy projekt”. Jest to dokument który opisuje cel jaki ma zostać osiągnięty, zakres i podstawowe założenia biznesowe. Przewodniczący komitetu sterującego jest właścicielem Uzasadnienia Biznesowego i jest odpowiedzialny za jego aktualność.

Skład uzasadnienia biznesowego:1. Przesłanki przemawiające za podjęciem projektu2. Formuła realizacyjna3. Oczekiwane korzyści 4. Zestawienie głównych ryzyk dla projektu5. Koszty projektu6. Terminy dla projektu7. Ocenę opłacalności inwestycji.

Organizacja

Struktura organizacyjna w Prince2 definiuje role i odpowiedzialności osób które zarządzają oraz realizują projekt. Kierownik Projektu występuje jest odpowiedzialny za wytworzenie produktów projektu. Projekt na zewnątrz reprezentuje Komitet Sterujący. Przewodniczący Komitetu Sterującego samodzielnie odpowiada za sukces projektu. Nie można łączyć ról kierownika projektu i członka komitetu sterującego.

Role w Prince2:1. Komitet Sterujący 2. Przewodniczący Komitetu Sterującego 3. Główny Użytkownik 4. Główny Dostawca 5. Kierownik projektu 6. Nadzór projektu

4

Page 43: [praca inzynierska]Prince2vsScrum_1.1

7. Kierownik Zespołu – rola opcjonalna 8. Wsparcie Projektu – rola opcjonalna 9. Właściciel ryzyka10. Interesariusz

Zakresy obowiązków

Zakres obowiązków Komitetu Sterującego 1. Strategiczne sterowanie projektem 2. Odpowiedzialność za nadzór nad projektem3. Komitet sterujący jako jedyny może reprezentować projekt.

Zakres obowiązków Głównego użytkownika produktu 1. Reprezentuje interesy użytkowników produktu2. Zapewnia zasoby od strony użytkowników3. Nadaje priorytet zagadnieniom projektowym, związanym z użytkownikami4. Dokonuje akceptacji jakości produktów

Zakres obowiązków Głównego dostawcy produktu1. Reprezentuje interesy dostawców produktów w projekcie2. Zapewnia zasoby od strony osób wytwarzających produkty3. Jest odpowiedzialny za merytorykę projektu4. Sprawuje specjalistyczny nadzór nad działaniami w projekcie oraz nad eksploatacją i

utrzymaniem specjalistycznych produktów projektu.

Zakres obowiązków Przewodniczącego Komitetu Sterującego1. Reprezentuje interesy sponsora projektu2. Odgrywa rolę mediatora 3. Przewodniczy zebraniom Komitetu Sterującego4. Przewodzi projektowi, jest jego główną siłą napędową

Zakres obowiązków Kierownika Projektu1. Ponosi odpowiedzialność za bieżące planowanie, zarządzanie i sterowanie2. Odpowiada za dostarczenie produktów zgodnie z zadanymi parametrami3. Odpowiada za opracowywanie i aktualizowanie wszystkich planów w projekcie4. Udziela pozwolenia na wykonanie grupy zadań5. Dokonuje odbioru zadań6. Prowadzi dokumentację projektową7. Jest odpowiedzialny za analizę skutków zmian w projekcie8. Składa raporty Komitetowi Sterującemu z postępów projektu9. Dostarcza motywacji pracownikom

Zakres obowiązków Kierownika Zespołu Specjalistycznego1. Odpowiada za opracowanie planów dla swojego zespołu2. Odpowiada za koordynację prac specjalistycznych projektu3. Wysyła do kierownika projektu raporty z punktów kontrolnych

Zakres obowiązków Członka Zespołu Specjalistycznego

4

Page 44: [praca inzynierska]Prince2vsScrum_1.1

1. Dysponuje umiejętnościami niezbędnymi do wytworzenia specjalistycznych produktów

2. Wytwarza specjalistyczne produkty cząstkowe oraz końcowe3. Odpowiada za przygotowywanie produktów do przeglądów jakości

Zakres obowiązków Biura projektów1. Udziela wsparcia administracyjnego 2. Kontroluje przestrzeganie procedur zarządczych3. Prowadzi dokumentację projektową4. Odpowiada za operacyjne zarządzanie konfiguracją5. Rejestruje zagadnienia projektowe6. Zapewnia szablony dokumentów (raportów, notatek, itp.)7. Sporządza notatki z narad komitetu sterującego8. Sporządza notatki z przeglądów jakości

PlanyPlany zgodnie z PRINCE2 muszą być zatwierdzone zanim zostaną przekazane do realizacji. Wyróżnia się 3 poziomy planu:

1. Plan projektu 2. Plan etapu 3. Plan pracy zespołu

Dodatkowo czwartym typem planu jest plan naprawczy (Exception plan), który zastępuje plan etapu w gdy pojawi się zdarzenie uniemożliwiające kontynuowanie prac zgodnie z obecnym harmonogramem.

Elementy sterowaniaElementy sterowania są to elementy zarządcze mające maksymalizować szansę na sukces projektu. Elementy sterowania są mocno związane z zarządzaniem przez wyjątki, czyli minimalnym angażowaniu komitetu sterującego w bieżące zarządzanie projektem. Mają zapewnić pełną i wiarygodną informację zarówno dla kierownika projektu jak i dla komitetu sterującego.

elementami sterowania są:1. Inicjowanie projektu 2. Raporty o ważnych wydarzeniach 3. Raporty o istotnych odchyleniach 4. Ocena nadzwyczajna 5. Ocena końcowa etapu 6. Zamknięcie projektu 7. Tolerancja

Tolerancja jest to dopuszczalne odchylenie od planów, które nie wymaga eskalacji do wyższego szczebla zarządzania. Kierownik projektu musi informować komitet sterujący o wszelkich prognozowanych i istotnych odchyleniach od planu. Parametry tolerancji:

1. Czas2. Koszty

4

Page 45: [praca inzynierska]Prince2vsScrum_1.1

3. Korzyści4. Ryzyko5. Jakość6. Zakres

Zarządzanie ryzykiemZ powodu niepowtarzalności projektów definiuje się ryzyko projektowe. Ryzyko jest to zgodnie z definicją przedstawioną w metodyce Prince2 „niepewność rezultatu działania”. Jako ryzyko określamy działanie którego nie jesteśmy pewni że wystąpi, natomiast jeśli tak będzie, jego wystąpienie będzie miało wpływ na projekt. Typowe ryzyka dla projektów IT to:

Małe zaangażowanie klienta, nieprzewidziane problemy przy testowaniu, problemy ze zdefiniowaniem wymagań .

Parametry ryzyka w PRINCE21. Prawdopodobieństwo wystąpienia 2. Oddziaływanie ryzyka na projekt3. Bliskość czasowa ewentualnego wystąpienia

Jakość w środowisku projektowym

Celem projektu jest wytworzenie produktów, zgodnych z wymaganiami które, zaspokoją potrzeby jakościowe użytkowników. Oczekiwania jakościowe są określane w Zleceniu Przygotowania Projektu, Założeniach Projektu, Dokumencie Inicjującym Projekt.Zarządzanie jakością składa się z 4 składników:

1. Systemie Zarządzania Jakością 2. Funkcji zapewniania jakości 3. Planowaniu jakości 4. Kontroli jakości

Jakość produktów, jakie powstają w PRINCE2, osiągana jest przez podwójną i obiektywną kontrolę tych produktów. Obiektywizm kontroli gwarantuje wykluczenie z niej kierownika projektu oraz wytwórców danego produktu.

Zarządzanie konfiguracjąZarządzanie konfiguracją polega na kontrolowaniu i standaryzacji użycia dokumentacji w projekcie. Konfiguracją są to wszystkie produkty projektu z uwzględnieniem ich statusów i wersji.

Zarządzanie konfiguracją składa się z następujących elementów:1. Planowanie 2. Identyfikacja 3. Kontrola 4. Charakteryzowanie statusu 5. Weryfikacja

Zarządzanie konfiguracją musi zapewnić:

4

Page 46: [praca inzynierska]Prince2vsScrum_1.1

1. Mechanizmy zarządzania, śledzenia i utrzymywania kontroli nad wszystkimi produktami projektu.

2. bezpieczeństwo przechowywania każdego produktu..3. System rejestrowania, śledzenia oraz dokumentowania wszystkich zagadnień

projektowych.

Sterowanie zmianamiSterowanie zmianami opiera się na technice sterowania zmianami.

Rodzaje zmian1. wniosek o wprowadzenie zmiany 2. odstępstwo 3. ustępstwo

TechnikiTechniki są to instrukcja postępowania, przy użyciu których w poszczególnych procesach wytwarzane są produkty projektu. Zarówno te zarządcze jak i specjaliztyczne.

PRINCE2 określa trzy techniki:1. Planowanie oparte na produktach2. Sterowanie zmianami3. Przeglądy jakości

Planowanie oparte na produktachPRINCE2 stosuje planowanie oparte na produktach nie zaś oparte na działaniach. Polega to na tym, że PRINCE2 planuje i mierzy postęp projektu realizacją poszczególnych precyzyjnie zdefiniowanych produktów a nie subiektywnie mierzonych działań.

Planowanie oparte na produktach stosuje następujące produkty:1. Struktura produktowa (PBS - Product Breakdown Structure)2. Opisy produktów 3. Diagram następstwa produktów (PFD- Product Flow Diagram)

Sterowanie zmianamiW projektach prowadzonych zgodnie z PRINCE2 wszystkie zmiany są traktowane jako zagadnienia projektowe. Wyróżniamy następujące typy zmian:

1. wnioski o zmianę – dotyczące zmiany w wymaganiach albo produkcie.2. odstępstwo – rejestrowane kiedy produkt nie przechodzi testów jakości.3. sugestie 4. zapytania 5. zagadnienia ogólne

Kierownik projektu jest odpowiedzialny za zbieranie i ocenianie zagadnień projektowych. Każde zgłoszenie zagadnienia projektowego musi być dokumentowane, a następnie jeśli

4

Page 47: [praca inzynierska]Prince2vsScrum_1.1

zgodni się na to kierownik projektu analizowane. Jeśli zmiana jaka jest postulowana w zagadnieniu projektowy może zostać wdrożona w ramach pozostałej na ten etap tolerancji, ojej wdrożeniu decyduje kierownik projektu. Natomiast jeśli jej wdrożenie wiązałoby się z przekroczeniem pozostałej tolerancji kierownik eskaluje sytuację do komitetu sterującego prosząc o decyzję.

Przeglądy jakościPRINCE2 wymaga aby produkty podlegały przeglądom jakości. Zadaniem przeglądów jakości jest określenie czy produkt spełnia kryteria jakości określone w specyfikacji tzn. czy nie zawiera błędów, lub braków i niezgodności ze specyfikacją.

Dokumentacja PRINCE2

Dokumentacja inicjująca projekt 1. Kontekst projektu2. Instrumenty sterowania3. Definicja projektu

a. Cele projektub. Metody osiągania celówc. Spodziewane wyniki (produktu)d. Formula realizacji projektue. Ograniczenia, wyłączeniaf. Powiązania projektu

4. Uzasadnienie ekonomiczne5. Struktura organizacyjna6. Plan projektu

a. Produktyb. Działaniac. Zasoby

7. Plan komunikacji8. Rejestr ryzyka9. Tolerancje w projekcie

Rejestry1. Rejestr ryzyka2. Rejestr zagadnień3. Rejestr jakości4. Rejestr doświadczeń5. Rejestr dzienny6. Rejestr zarządzania konfiguracją

Raporty1. Raport okresowy2. Raport końcowy etapu zarządczego3. Raport końcowy projektu4. Raport o odchyleniach

4

Page 48: [praca inzynierska]Prince2vsScrum_1.1

5. Raport z punktu kontrolnego6. Raport z wykorzystania zasobów7. Raport doświadczeń z projektu

Plany1. Plan etapu inicjowania projektu2. Plan jakości projektu3. Plan projektu4. Plan zarządzania konfiguracją5. Plan etapu zarządczego6. Plan jakości etapu zarządczego7. Plan awaryjny (rezerwowy)8. Plan wyjątkowy (naprawczy)9. Plan wykorzystania budżetu zmian10. Plan tekstowy11. Plan pracy zespołu specjalistycznego12. Plan przeglądu poprojektowego13. Plan bazowy (stan odniesienia)

9. Opis ScrumScrum jest to zwinna(agile) metodyka zarządzania projektami. Jej podstawą są wartości zadeklarowane w manifeście zwinności1.

Struktura Scrum-a obejmuje: Zespoły wykonawcze oraz związane z nimi role, ograniczenia czasowe narzędzia jak i ogólne reguły postępowania.

Zespoły Scrum-a są zaprojektowane w taki sposób, aby zmaksymalizować elastyczność oraz wydajność. Dlatego Scrum nie definiuje ról jakie mają zostać obsadzone w zespole. Metodyka zwraca uwagę na potrzebę samoorganizacji zespołów oraz interdyscyplinarności zespołów. Narzuca natomiast organizację procesu wytwórczego w podziale na etapy(Sprinty).

W Zespołach Scrum-owych występują trzy role: 1) Mistrz (Scrum Master) odpowiedzialny za sterowanie procesem Scrum. Nie jest to Kierownik projektu, gdyż taki nie występuje w Scrum-ie;2) Właściciel Produktu (Product Owner) odpowiedzialny za zbierania, pryjorytetyzowanie oraz ocenę funkcjonalnościach jakie mają zostać zaimplementowane w projekcie. Produkt owner jest przedstawicielem klienta w projekcie. 3) Zespół (The Team), który wykonuje pracę.

Zespół składa się ze specjalistów którzy posiadają wszelkie umiejętności konieczne do zmiany wymagań Produkt ownera w działający fragment produktu w ciągu jednego Sprintu.

Opisane w Scrum ograniczenia czasowe mają za cel zapewnić regularny rytm pracy. Scrumowe ograniczenia czasowe to:

spotkanie planistyczne wydania (Release Planning Meeting),

1 http://agilemanifesto.org/

4

Page 49: [praca inzynierska]Prince2vsScrum_1.1

spotkanie planistyczne Sprintu (Sprint Planning Meeting), Sprint, Codzienny Scrum (Daily Scrum), przegląd Sprintu (Sprint Review) retrospektywa Sprintu (Sprint Retrospective).

Głównym elementem Scruma jest Sprint, czyli iteracyjnie wytwarzania produktów. Sugeruje się aby Sprinty nie przekraczały miesiąca. Raz ustalona długość Sprintu w projekcie powinna pozostać niezmienna. Każdy Sprint powinien kończyć się oddaniem klientowi działającego produktu z funkcjonalnościami jakie mają zostać zaimplementowane. Oznacza to że podczas Sprintu następuje analiza funkcjonalna, analiza techniczna, programowanie, testy oraz oficjalny odbiór przyrostu funkcjonalności.

W projekcie Strumo-wym używa się pięciu podstawowych narzędzi. Oczywiście metodyka nie zabrania używania dodatkowych narzędzi. Rejestr produktowy (Product Backlog) to lista funkcji jakie mają zostać dodane do końcowego produktu. Rejestr zadaniowy (Sprint Backlog) to lista funkcji, jakie mają zostać dodane w najbliższym sprincie. Rejestr produktowy jest uzupełniony o pryjorytety dla każdej z funkcji.Wykres wypalania (Burndown Chart) to narzędzie służące do oceniania postępu prac w projekcie. Pomiar wypalania dla całego projektu (Release Burndown) pokazuje ilość pracy jaka została do zrobienia w stosunku to czasu jaki pozostał do wykorzystania w tym wydaniu.Pomiar wypalania dla Sprintu (Sprint Burndown) stosunek pracy jaka musi być wykonana i czasu pozostałego w tym sprincie.

Role w Scrumie

MistrzRola Mistrza polega na pilnowaniu tego czy zespół postępuje zgodnie z zasadami Scrium-a.Mistrz jest odpowiedzialny za odpowiednie wdrożenie Scrum-a do organizacji. Powinien on być nauczycielem Scrum-a zarówno dla zespołu jak i dla klienta. Scrum master jest również odpowiedzialny za nauczenie zespołu czym jest samoorganizacja zespołu.

Właściciel ProduktuWłaściciel Produktu jest jedyną odpowiedzialną za zarządzanie definiowanie pracy jaka ma być wykonana przez zespół. Właściciel produktu tworzy listę funkcjonalności jakie mają trafić do Produkt backloga jak i do Sprint backloga wraz z opisem kryteriów jakościowych. Właściciel produktu jest również odpowiedzialny za przypisanie pryjorytetu do każdego z zadań nad którym zespół będzie pracował. Ważne jest to że Właściciel produktu to jedna osoba a nie kilka. W Strumie nie występuje komitet sterujący, a jego rolę przejmuje właśnie Produkt Owner.

Aby Właściciel Produktu mógł pełnić skutecznie swoją rolę członkowie projektu muszą traktować do jako najwyższą władzę w projekcie. Tylko produtc owner decyduje o tym nad czym pracuje zespół i nikt nie może kazać zespołowi pracować nad czymś innym.

4

Page 50: [praca inzynierska]Prince2vsScrum_1.1

ZespółZespół jest to grupa osób pracujących nad wytworzeniem programu który implementuje funkcjonalności zlecone przez Produtc Ownera. Zespoły w Scrum są samoorganizujące, co oznaczą że nikt nawet Scrum master nie może narzucić zespołowi jak ma pracować. Zespół aby być w stanie dostarczyć kolejne Sprinty powinien być interdyscyplinarny, czyli posiadać w sobie ludzi o wszystkich niezbędne umiejętności. Zespół pracuje nad funkcjonalnościami jakie zleci mu do wykonania Produkt Owner. Zgodnie ze Scrum najlepszą liczebnością zespołu jest 7 osób plus minus 2.

Ograniczenia czasoweOgraniczenia czasowe w Scrumie dotyczą: spotkania planistycznego wydania, Sprintu, spotkania planistycznego Sprintu, przeglądu Sprintu, retrospektywy Sprintu i Codziennego Scruma.

Spotkanie planistyczne wydaniaPrzedmiotem spotkania planistycznego wydania jest ustalenie celu i planu realizacji projektu, które Zespoły i reszta organizacji może zrozumieć i będzie wspierać. Planowanie wydania odpowiada na pytania: "W jaki sposób przekształcić wizję w produkt, który odniesie sukces na rynku?", "Jak możemy sprostać oczekiwaniom klienta i zapewnić wymagany zwrot inwestycji, a nawet je przewyższyć?". W planie realizacji ustala się: cel ostateczny projektu, wstępne założenia rejestru produktowego, opis cech i funkcjonalności, które produkt będzie zawierał w chwili wydania, orazgłówne zagrożenia związane z realizacją projektu. Plan ten wyznacza również przypuszczalną datę zakończenia pracy i koszt wytworzenia produktu, które powinny być wiążące, o ile do planu nie zostaną wprowadzone zmiany. Dzięki temu organizacja może ze Sprintu na Sprint, w oparciu o kolejne przyrosty produktu, nadzorować postęp prac i dokonywać niezbędnych korekt w planie realizacji projektu.

Etap planowania wydania jest opcjonalny. Jeśli Zespoły Scrum rozpoczną pracę bez tego etapu, brak jego wyników (planu wydania) będzie stanowić przeszkodę, którą należy usunąć. Czynności prowadzące do usunięcia tej przeszkody staną się elementem rejestru produktowego.

W metodyce Scrum produkty tworzone są iteracyjnie: każdy Sprint wytwarza przyrost produktu, począwszy od elementów najbardziej pożądanych i najbardziej ryzykownych. Kolejne Sprinty tworzą dodatkowe elementy produktu. Każdy z przyrostów jest potencjalnie zbywalnym wycinkiem całości. Gdy powstanie ilość elementów wystarczająca, aby produkt stał się wartościowy i użyteczny dla inwestora, następuje wydanie produktu klientowi.

W scrumowym planowaniu wydania definiuje się cel całościowy oraz prawdopodobne efekty pracy. Takie planowanie zwykle wymaga nie więcej niż 15-20% czasu, jaki organizacja zużywała w tradycyjnym planowaniu. Niemniej w projekcie scrumowym odbywa się również planowanie dokładnie na czas (just-in-time, JIT) podczas przeglądów Sprintu i spotkań planistycznych Sprintu, oraz codziennie podczas każdego Codziennego Scruma. W ogólnym rozrachunku, prace planistyczne w Scrumie pochłaniają nieco więcej wysiłku niż tradycyjne planowanie projektu.

5

Page 51: [praca inzynierska]Prince2vsScrum_1.1

Planowanie wydania wymaga estymacji i przypisania priorytetów kolejnym pozycjom rejestru produktowego. Istnieje wiele technik spoza metodyki Scrum, które można skutecznie wykorzystać w tym procesie.2

SprintSprint jest iteracją. Sprinty zamykają się w ograniczeniach czasowych. Podczas Sprintu Mistrz ma za zadanie dopilnować, by nie wprowadzono żadnych zmian, które wpłynęłyby na Cel Sprintu. Skład osobowy Zespołu i cele jakościowe muszą pozostać niezmienne przez cały Sprint. Sprinty zawierają i składają się z: spotkania planistycznego Sprintu, prac programistycznych, przeglądu Sprintu, i retrospektywy Sprintu. Sprinty następują bezpośrednio po sobie, bez przerw pomiędzy nimi.

Aby coś osiągnąć, tworzymy projekt. W produkcji oprogramowania stosuje się go do stworzenia produktu lub systemu. Definicja projektu obejmuje opis tego, co ma powstać, plan, jak to coś wytworzyć, prace wykonywane według planu oraz powstały w rezultacie produkt końcowy. Każdy projekt posiada horyzont, czyli zaakceptowane ramy czasowe.Jeśli horyzont jest zbyt odległy, może zdarzyć się tak, że zmieni się definicja produktu, pojawi się zbyt dużo zmiennych, ryzyko będzie zbyt duże, itd. Scrum jest metodyką odpowiednią dla projektów na tyle złożonych, że przygotowywanie planów o horyzoncie czasowym dłuższym niż jeden miesiąc byłoby dla nich zbyt ryzykowne. Przewidywalność projektu musi być kontrolowana przynajmniej co miesiąc, a ryzyko, że projekt może wymknąć się spod kontroli lub stanie się nieprzewidywalny, powinno być kontrolowane i minimalizowane nie rzadziej niż co miesiąc.

Sprint może zostać zakończony przed końcem swojego ograniczenia czasowego. Jedynie Właściciel Produktu jest uprawniony do zamknięcia Sprintu, choć może tak uczynić za namową interesariuszy, Zespołu lub Mistrza. Jakie warunki muszą zachodzić, by nastąpiła konieczność odwołania Sprintu? Kierownictwo może być zmuszone do odwołania Sprintu, jeśli Cel Sprintu jest nieaktualny. Tak może się stać, gdy firma zmienia kierunek, lub gdy zmieniają się warunki rynkowe czy technologiczne.Ogólnie rzecz biorąc, Sprint powinien zostać odwołany, gdy nie ma już sensu jego realizacja, biorąc pod uwagę zaistniałe okoliczności. Jednak, ponieważ Sprint nie trwa długo, odwoływanie go jest rzadko sensowne.

Gdy Sprint zostaje odwołany, dokonuje się przeglądu wszystkich wykonanych, zakończonych elementów rejestru produktowego. Akceptowane są te, które stanowią potencjalnie zbywalny przyrost. Wszystkie pozostałe trafiają z powrotem do rejestru produktowego z początkowymi estymacjami. Jakakolwiek wykonana nad nimi praca uznana zostaje za straconą. Zakończenie Sprintu w ten sposób pochłania zasoby, ponieważ wszyscy muszą się przegrupować podczas nowego zebrania planistycznego, by rozpocząć nowy Sprint. 3

Spotkanie planistyczne SprintuSpotkanie planistyczne Sprintu odbywa się zawsze, gdy trzeba zaplanować nową iterację. Jego ograniczenie czasowe to osiem godzin przy planowaniu Sprintumiesięcznego. Dla krótszych Sprintów na ten etap należy przeznaczyć około 5% czasu trwania Sprintu. Zebranie składa się z dwóch części. W pierwszej, czterogodzinnej części, decyduje się o tym, co ma być wykonane w czasie Sprintu. W drugiej części, również

2 Scrum guide, http://www.scrum.org/scrumguides/3 Scrum guide, http://www.scrum.org/scrumguides/

5

Page 52: [praca inzynierska]Prince2vsScrum_1.1

trwającej cztery godziny, Zespół ma ustalić, w jaki sposób zbudować funkcjonalność w postaci przyrostu produktu w czasie tego Sprintu.Istnieją więc dwie części spotkania planistycznego Sprintu, koncentrujące się kolejno na tym „co?” i „jak?” należy zrealizować. Niektóre Zespoły scrumowe łączą te dwie części ze sobą. W części pierwszej Zespół zajmuje się pytaniem „co?”. Wtedy Właściciel Produktu przedstawia pozycje rejestru produktowego o najwyższym priorytecie. Zespół i Właściciel współpracują, by ustalić, jaka funkcjonalność ma być wypracowana podczas Sprintu. Danymi wejściowymi w tym spotkaniu są: rejestr produktowy, ostatnio stworzony przyrost, możliwości produkcyjne Zespołu w planowanym Sprincie i dotychczasowa wydajność Zespołu. Ilość pracy wybranej przez Zespół zależy tylko i wyłącznie od niego: jedynie Zespół może ocenić, ile jest w stanie osiągnąć podczas nadchodzącego Sprintu.

Po wyborze zakresu pracy określa się Cel Sprintu (Sprint Goal). Jest to cel, który zostanie osiągnięty przez implementację wybranego fragmentu rejestru produktowego. Ustalenie go ma uzmysłowić Zespołowi, po co buduje kolejny przyrost produktu. Cel Sprintu jest składową celu wydania.

Cel Sprintu istnieje, aby zapewnić Zespołowi nieco swobody, jeśli chodzi o wytwarzanąfunkcjonalność. Na przykład, celem Sprintu może być: „automatyzacja funkcjonalnościmodyfikującej konto klienta poprzez możliwość zastosowania bezpiecznej, odtwarzalnej transakcji w warstwie pośredniej ”. Podczas pracy Zespół ma w pamięci ten cel. Aby go zrealizować, Zespół implementuje funkcjonalność i niezbędną infrastrukturę.Jeśli praca okazuje się trudniejsza niż oczekiwano, Zespół współpracuje z Właścicielem i implementuje funkcjonalność tylko częściowo.

W drugiej części spotkania planistycznego Sprintu Zespół zajmuje się pytaniem „jak?”. W czasie tego drugiego, czterogodzinnego spotkania, Zespół zastanawia się, jak przekształcić elementy wybrane z rejestru produktowego podczas pierwszego bloku spotkania („co?”) w kompletny przyrost produktu. Zazwyczaj Zespół zaczyna od projektowania pracy; wtedy właśnie zidentyfikowane zostają zadania, czyli szczegółowe opisy prac prowadzących do przekształcenia rejestru produktowego w działający program. Prace te powinny zostać podzielone tak, by każde z nich mogło zostać wykonane w czasie maksymalnie jednego dnia. Lista tych zadań to rejestr zadaniowy (Sprint Backlog). Zespół organizuje się sam, aby rozdzielić pracę i podjąć sięzadań z rejestru zadaniowego, czy to podczas spotkania planistycznego Sprintu, czy w miarę potrzeb, „dokładnie we właściwym czasie” (JIT) podczas trwania Sprintu.

Właściciel Produktu jest obecny podczas drugiej części spotkania planistycznego Sprintu, aby objaśniać rejestr produktowy i pomagać w osiągnięciu kompromisu pomiędzy swoimi oczekiwaniami a możliwościami produkcyjnymi Zespołu. Jeśli Zespół ustali, że ma zbyt dużo lub zbyt mało pracy, może renegocjować zakres pracy z Właścicielem. Nowy Zespół zwykle w czasie tego spotkania uświadamia sobie po raz pierwszy, że zwycięży lub pójdzie na dno właśnie jako zespół, razem, nie indywidualnie. Członkowie Zespołu zdają sobie sprawę, że muszą na sobie polegać. Gdy sobie to uświadomią, zaczynają się samoorganizować oraz nabierają cech i zachowań prawdziwego zespołu.4

4 Scrum guide, http://www.scrum.org/scrumguides/

5

Page 53: [praca inzynierska]Prince2vsScrum_1.1

Przegląd SprintuPod koniec Sprintu organizuje się spotkanie przeglądu Sprintu (Sprint Review). Jest to spotkanie zawarte w czterogodzinnym ograniczeniu czasowym (dla miesięcznych Sprintów). Dla krótszych Sprintów spotkanie nie może trwać dłużej niż 5% długości Sprintu. Podczas przeglądu Sprintu Zespół scrumowy i interesariusze podsumowują wykonaną pracę. Opierając się na tym oraz na zmianach wprowadzonych do rejestru produktowego podczas Sprintu, ustalają, jakie prace mogą zostać wykonane w kolejnych Sprintach. Jest to spotkanie nieformalne, podczas którego dokonuje się prezentacji funkcjonalności, aby ułatwić wspólną pracę wszystkich zainteresowanych nad ustalaniem kolejnych kroków.

Spotkanie to zawiera przynajmniej następujące punkty: Właściciel Produktu stwierdza, które funkcjonalności zostały wykonane, a które nie; Zespół omawia prace wykonane w trakcie Sprintu zakończone sukcesem, jak również napotkane problemy i metody ich rozwiązania; następnie Zespół prezentuje wykonaną pracę i odpowiada na pytania; Właściciel Produktu omawia stan rejestru produktowego oraz wysuwa propozycje prawdopodobnych terminów zakończenia pracy przy różnych założeniach co do tempa pracy; następnie cała grupa omawia przedstawione fakty i ich istotność w ustaleniu zakresu kolejnych prac. Tym samym przegląd Sprintu dostarcza cennych informacji do wykorzystania w trakcie kolejnego spotkania planistycznego Sprintu.5

Retrospektywa SprintuPo przeglądzie Sprintu, a przed kolejnym spotkaniem planistycznym, Zespół przeprowadza retrospektywę Sprintu. W czasie tego spotkania, trwającego nie dłużej niż trzy godziny, Mistrz zachęca członków Zespołu do przejrzenia, w ramach procesu i praktyki Scrum, ich pracy programistycznej, aby w kolejnym Sprincie uczynić ją bardziej efektywną i przyjemną. Istnieje literatura opisująca techniki przydatne w czasie retrospektywy. Celem retrospektywy jest sprawdzenie przebiegu minionego Sprintu pod względem osób biorących udział w przedsięwzięciu, relacji zachodzących między nimi, procesu i narzędzi. Inspekcja ta powinna zidentyfikować i zhierarchizować główne elementy, te, które były pozytywne oraz te, które, gdyby zostały zrealizowane inaczej, mogłyby wpłynąć pozytywnie na efekt pracy. Dotyczy to składu Zespołu, rozkładu spotkań, narzędzi, definicji tego, co „gotowe”, metod komunikacji i procesów stosowanych w przekształcaniu rejestru produktowego w „gotowe” fragmenty produktu. W trakcie retrospektywy Zespół powinien ustalić kroki naprawcze, które zostaną podjęte w kolejnych Sprintach. Te zmiany stanowią adaptację wynikłą z empirycznej inspekcji.6

Codzienny ScrumKażdy Zespół spotyka się codziennie na piętnastominutowym spotkaniu – Codziennym Scrumie. To spotkanie odbywa się o tym samym czasie i w tym samym miejscu w ciągu całego Sprintu. Podczas tego spotkania każdy członek Zespołu wyjaśnia:

Co zrobił od ostatniego spotkania? Co będzie robił do następnego spotkania? Jakie napotyka przeszkody?

Codzienny Scrum poprawia komunikację, eliminuje potrzebę innych spotkań, identyfikuje i usuwa przeszkody w pracy, podkreśla i promuje szybkie podejmowanie decyzji i podnosi poziom znajomości stanu prac projektowych w całym Zespole.5 Scrum guide, http://www.scrum.org/scrumguides/6 Scrum guide, http://www.scrum.org/scrumguides/

5

Page 54: [praca inzynierska]Prince2vsScrum_1.1

Mistrz ma obowiązek dopilnować, by spotkanie się odbyło. Zespół jest odpowiedzialny zapoprowadzenie Codziennego Scruma. Mistrz uczy Zespół, jak utrzymać krótki czas spotkań, egzekwując przestrzeganie reguł i pilnując, by wszyscy mówili zwięźle. Mistrz również ma za zadanie dopilnować, by „kurczaki” nie zabierały głosu i w żaden inny sposób nie przeszkadzały w Codziennym Strumie.

Codzienny Scrum nie jest spotkaniem statusowym w tradycyjnym tego słowa rozumieniu. Nie jest otwarty dla wszystkich, a jedynie dla osób przekształcających rejestr produktowy w przyrost produktu (czyli dla Zespołu). Zespół podjął się osiągnięcia Celu Sprintu i zrealizowania wybranych elementów z rejestru produktowego. Codzienny Scrum jest okazją do kontroli postępu prac ku Celowi Sprintu (dzięki odpowiedziom na powyższe trzy pytania). Następnie rozmowy są kontynuowane w krótkich pod-spotkaniach, aby wprowadzić adaptacje do kolejnych prac w Sprincie. Celem jest optymalizacja prawdopodobieństwa osiągnięcia przez Zespół Celu Sprintu. Codzienny Scrum jest najważniejszym spotkaniem inspekcyjno-adaptacyjnym w scrumowym procesie empirycznym.7

Scrumowe narzędziaNarzędzia stosowane w Scrumie to: rejestr produktowy (Product Backlog), wykres wypalania dla wydania (Release Burndown), rejestr zadaniowy (Sprint Backlog) i wykres wypalania dla Sprintu (Sprint Burndown).

Rejestr produktowy i wypalanie w projekcieWymagania dotyczące produktu wytwarzanego przez Zespół spisane są w rejestrze produktowym. Odpowiedzialnym za jego zawartość, dostępność i ustalenie priorytetów jest Właściciel Produktu. Rejestr produktowy nigdy nie jest zamknięty. Jego pierwszawersja zawiera jedynie początkowo znane i najlepiej rozumiane wymagania. Rejestr produktowy ewoluuje wraz z produktem i środowiskiem, w którym będzie używany.Rejestr jest dynamiczny w tym znaczeniu, że stale się zmienia, aby uwzględnić to, czego produkt wymaga, aby być odpowiednim, konkurencyjnym i użytecznym. Rejestristnieje tak długo, jak istnieje produkt.

Rejestr produktowy reprezentuje wszystko, co potrzebne, by stworzyć i wypuścić na rynek udany produkt. Rejestr jest listą wszystkich cech, funkcji, technologii, ulepszeń i napraw błędów, reprezentujących zmiany, które zostaną wprowadzone w produkcie przed kolejnym jego wypuszczeniem na rynek. Elementy rejestru posiadają następujące atrybuty: opis, priorytet i koszt realizacji. Priorytet ustala się na podstawie ryzyka, wartości i konieczności realizacji danego elementu rejestru. Istnieje wiele technik ustalania wartości tych atrybutów.

Rejestr produktowy jest uszeregowany według priorytetu. Pozycje o najwyższym priorytecie pozwalają natychmiast podjąć prace programistyczne nad nimi. Im wyższy priorytet, tym pilniejsza praca, tym bardziej jest przemyślana i tym większa istnieje zgoda co do jej rzeczywistej wartości. Elementy o wyższym priorytecie są przejrzystsze i zawierają więcej szczegółowych informacji niż elementy o niższym priorytecie. Na podstawie większej przejrzystości i zwiększonej szczegółowości można dokonać trafniejszych estymacji. Im niższy priorytet, tym mniej szczegółów, aż do poziomu, na którym ledwie można wyodrębnić poszczególne elementy rejestru.

7 Scrum guide, http://www.scrum.org/scrumguides/

5

Page 55: [praca inzynierska]Prince2vsScrum_1.1

W miarę, jak produkt jest używany, jak jego wartość rośnie, a rynek reaguje i dostarcza informacji zwrotnej, rejestr produktu zmienia się w coraz dłuższą i bardziej wyczerpującą listę. Wymagania stale się zmieniają. Rejestr jest żywym dokumentem. Zmiany w wymaganiach biznesowych, warunkach rynku, technologii i obsadzie pracowniczej powodują zmiany w rejestrze. By zminimalizować przeróbki, jedynie elementy onajwyższym priorytecie są szczegółowo opisane. Pozycje rejestru, którymi Zespół scrumowy zajmie się w przeciągu kilku następnych Sprintów, są dokładne i szczegółoweoraz podzielone w taki sposób, aby każda z nich mogła zostać wykonana w trakcie jednego Sprintu.

Często kilka Zespołów scrumowych pracuje nad jednym produktem, a do wyznaczenia kolejnych prac używa się jednego rejestru produktowego. Stosuje się wtedy dodatkowy atrybut, który grupuje elementy rejestru – według cech, technologii lub architektury – i który jest często używany celu zorganizowania pracy Zespołów.

Na wykresie wypalania dla produktu (lub wydania) rejestruje się ilość pozostałej do wykonania pracy zgodnie z szacunkami w rejestrze w stosunku do czasu realizacjiprojektu. Szacowana ilość pracy ukazywana jest w jednostkach pracy, na które zdecydował się Zespół i organizacja (oś rzędnych). Jednostką czasu (oś odciętych) jest zwykle Sprint.

Wstępne estymacje elementów rejestru produktowego są wyznaczane podczas planowania wydania (Release Planning). Dla elementów pojawiających się w trakcie trwania projektu estymacje wyznaczane są na bieżąco. W procesie cyzelowania rejestru estymacje poddawane są analizie i w każdej chwili mogą zostać zmienione. Za wszystkie estymacje odpowiedzialny jest Zespół. Właściciel Produktu może wpływać na Zespół, pomagając mu zrozumieć problem i dokonać wyboru, gdy zachodzi konieczność kompromisu (trade-offs), ale ostateczna estymacja jest dokonywana przezsam Zespół. Właściciel Produktu przez cały czas, na bieżąco, uaktualnia wykres wypalania produktu według rejestru produktowego. Linia trendu jest wyznaczana na podstawie zmian w ilości pozostałej pracy.8

Rejestr zadaniowy i wypalanie w SprincieRejestr zadaniowy zawiera opis prac, które Zespół ma wykonać, aby przekształcić elementy rejestru produktowego w gotowy przyrost produktu. Wiele z tych zadań opracowuje się podczas spotkania planistycznego Sprintu. Rejestr reprezentuje całość prac, które Zespół uznaje za niezbędne, aby osiągnąć Cel Sprintu. Zadania w rejestrze zadaniowym muszą być zdekomponowane. Taka dekompozycja jest konieczna, by zmiany w postępie pracy były zrozumiałe w trakcie komunikowania ich na Codziennych Scrumach.

Zespół modyfikuje rejestr zadaniowy w czasie trwania Sprintu, w szczególności dodaje zadania wynikłe już w trakcie Sprintu. Kiedy przychodzi do realizacji indywidualnych zadań, może się okazać, że potrzeba ich będzie więcej lub mniej, lub że dane zadanie będzie wymagać więcej lub mniej czasu niż się spodziewano. Jeśli pojawia się potrzeba wykonania dodatkowych prac, Zespół dopisuje je do rejestru zadaniowego. W miarę, jak zadania są wykonywane i kończone, aktualizuje się godziny przewidywanej pracy pozostałej do końca każdego zadania. Gdy zadanie uznaje się za zbędne, zostaje ono usunięte. Jedynie Zespół może zmieniać rejestr zadaniowy w trakcie Sprintu

8 Scrum guide, http://www.scrum.org/scrumguides/

5

Page 56: [praca inzynierska]Prince2vsScrum_1.1

(dodawać/usuwać zadania), jak również tylko Zespół może zmienić treść zadań lub estymacje. Rejestr zadaniowy jest dobrze widocznym, rzeczywistym obrazem pracy, jaką Zespół planuje wykonać w czasie Sprintu i jest własnością tylko i wyłącznie Zespołu.9

Wykres wypalania w Sprincie to wykres przedstawiającyilość zadań z rejestru pozostałych do wykonania w Sprincie w stosunku do czasu Sprintu. By stworzyć ten wykres, należy ustalić, ile pracy pozostało, sumującestymacje zadań z rejestru w każdym dniu Sprintu. Ilość pracy pozostałej do wykonania w Sprincie jest sumą pracy pozostałej do wykonania w całym rejestrze zadaniowym.Sumy te należy kontrolować codziennie, tworząc w ten sposób wykres pozostałej do wykonania pracy w stosunku do czasu. Rysując linię łączącą punkty wykresu, Zespół może kontrolować postęp wykonywania swych prac w Sprincie. W Scrumie nie jest istotny czas już spędzony na wykonaniu prac – jedynymi ważnymi wskaźnikami są ilość pozostałej pracy i data końcowa Sprintu.

„Gotowe”, czyli kryterium gotowości produkcyjnej (Definition of Done, DoD)Metodyka Scrum wymaga od Zespołu, aby w każdym Sprincie powstał przyrost funkcjonalności produktu. Ten przyrost musi być potencjalnie zbywalny, ponieważ Właściciel Produktu musi być w stanie w każdym momencie podjąć decyzje o wdrożeniutej funkcjonalności. Aby tak się mogło stać, przyrost musi być skończoną porcją całości – musi być „gotowy”. Każdy przyrost musi być zintegrowany z poprzednimi i dokładnieprzetestowany, aby dać nam pewność, że wszystkie fragmenty produktu działają po połączeniu.

W tworzeniu oprogramowania, stwierdzenie, że funkcjonalność jest „gotowa” może dla jednych oznaczać, że kod źródłowy jest w miarę czysty, zrefaktoryzowany, przetestowany jednostkowo, zbudowany i po testach akceptacyjnych. Dla innych może to oznaczać, że po prostu istnieje kod. Jeżeli nie wszyscy wiedzą, jaka jest obowiązująca definicja „gotowego”, to nie zadziałają dwa pozostałe filary empirycznej kontroli procesu. Jeśli określamy coś jako „gotowe”, wszyscy muszą wiedzieć, co „gotowe” oznacza.

„Gotowe" definiuje to, co ma na myśli Zespół, gdy podejmuje się „przygotowania” jednej z pozycji rejestru produktowego w Sprincie. Niektóre produkty nie wymagają dokumentacji, a więc definicja „gotowego” nie zawiera istnienia dokumentacji. Całkowicie „gotowy” przyrost produktu zawiera wszystkie analizy, projekty, kodowanie, refaktoryzację, dokumentację i testy dla tego przyrostu i dla wszystkich elementów rejestru produktowego wykonanych w ramach tego przyrostu. Testowanie może obejmować testy jednostkowe, systemowe, przez użytkownika (funkcjonalne) i regresyjne, jak również testy niefunkcjonalne, na przykład: wydajności, stabilności, bezpieczeństwa i integracyjne. „Gotowość” obejmuje również umiędzynarodowienie produktu. Czasami Zespół nie jest w stanie na tym etapie włączyć do swej definicji „gotowego” wszystkich elementów wymaganych do implementacji. Właściciel Produktu musi to rozumieć. Ta pozostała część pracy musi zostać wykonana, zanim produkt będzie oddany do wdrożenia i użytkowania.10

9 Scrum guide, http://www.scrum.org/scrumguides/10 Scrum guide, http://www.scrum.org/scrumguides/

5

Page 57: [praca inzynierska]Prince2vsScrum_1.1

Porównanie metodyki Scrum i Prince2 pod kątem jakości

Metodyka Prince2 oraz Scrum przedstawiają odmienne podejścia do jakości w projekcie. Kiedy Prince2 przedstawia komplet narzędzi do planowania i kontroli jakości . Scrum koncentruje się na poprawie komunikacji, optymalizacji procesu wytwórczego oraz jak najlepszym wprowadzeniu „najlepszych praktyk” które mają zapewnić jakość projektowi.

W Prince2 jakość jest ważnym elementem dokumentów: Project Mandate Project Brie Project Initiation Document

Prince2 zwraca wprost uwagę na potrzebę planowania jakości w podprocesie IP1 procesu inicjowania projektu. Zarządzanie jakością w Prince2 opiera się na 4 składnikach:

Quality Management System, czyli standardom przyjętym w projekcie dla zachowania jakości. W tym dokumencie zdefiniowane jest wszystko co tyczy jakości, czyli również elementy z te listy które są wymienione niżej.

Quality Assurance Function, czyli ciągłe sprawdzanie jakości Quality Planning Quality Control, czyli „wyrywkowe” dogłębne testowanie jakości przez klienta.

Należy zwrócić uwagę na to że jakość produktów, jakie powstają w projekcie prowadzonym zgodnie z Prince2, osiągnięta musi być poprzez podwójną - obiektywną - kontrolę. Obiektywizm tej kontroli polega na wykluczeniu z jej przebiegu zarówno Kierownika Projektu jak wytwórców produktów. Sprawowana jest przez strukturę niezależnych testerów oraz przez nadzór projektuW Scrum jakość jest osiągana przez stworzenie roli Właściciela produktu, który jest odpowiedzialny za zbieranie wymagań dla projektu, a ponieważ jest to osoba ze strony klienta, minimalizuje się tutaj ryzyko złej komunikacji. Scrum dużą uwagę zwraca na podniesienie komunikacji i przejrzystości w projekcie, służą do tego:

Spotkanie planistyczne sprintu Przegląd sprintu Retrospekcja sprintu Wykresy wypalania Codzienne scrumy

tak aby każdy zainteresowany wiedział co jest wykonywane w projekcie i jakie problemy napotyka zespół. Wreszcie Scrum zwraca uwagę na potrzebę implementacji „najlepszych praktyk”, a część jak iteracyjność, czy planowanie „just in time” sam narzuca. Scrum dla uzyskania wysokiej jakości jest często łączony z techniką extremme programming.

Porównanie metodyki Scrum i Prince2 pod kątem planowania

Planowanie w Prince2Planowanie w metodyce Prince2 jeśli się do niego podchodzi całościowo to bardzo rozbudowane zagadnienie. Planowanie jest tu rozbite na trzy poziomy:

Plan projektu

5

Page 58: [praca inzynierska]Prince2vsScrum_1.1

Plan etapu Plan zespołu

Planowanie w Prince2 obejmuje również szerszy zakres prac niż tylko wykonanie projektu, planuje się komunikację, jakość, ryzyka, podział na etapy, podwykonawców i wszystko co w projekcie może być niezbędne. Planowanie w Prince2 przede wszystkim dotyka obszaru biznesowego i tego jaki klient będzie miał zwrot z wykonanego projektu. Sama metodyka nie mówi jak należy przeprowadzić planowanie, mówi tylko co powinno zostać zaplanowane.

Uzasadnienie biznesowe

W Prince2 projekt to „środowisko zarządcze stworzone w celu dostarczenia produktów biznesowych”. Z samej już definicji projektu wynika że kluczowa jest potrzeba biznesowa. Uzasadnienie biznesowe jest dokumentem w którym właśnie definiujemy i doprecyzowujemy szansę biznesową jaką chcemy wykorzystać rozpoczynając ten projekt. Definicja mówi również o „produktach biznesowych”. Produktowe podejście do projektów jest bardzo widoczne w procesie planowania w Prince2, mamy tutaj specjalna technikę planowania(planowanie oparte na produktach).

Dzięki takiemu podejściu projektowemu od potrzeby biznesowej do metody jej zaspokojenia przez produkty i planowaniu opartym na produktach metodyka zapewnia, że:

Zakres prac projektowych obejmie jedynie prace niezbędne do osiągnięcia celu biznesowego przy akceptowalnym ryzyku takiego przedsięwzięcia

Uzasadnienie biznesowe dla projektu jest cały czas aktualne i na jego podstawie można planować działania projektowe

Projekt jest zarządzany w sposób kontrolowany i minimalizujący ryzyko.

Przygotowanie projektu

Przygotowanie projektu jest fazą przedprojektową. Jeszcze przed powołaniem projektu należy zdefiniować i ocenić uzasadnienie biznesowe dla podejmowania projektu. W tej fazie jest tworzony dokument „podstawowe założenia projektu”, w którym opisuje się uzasadnienie biznesowe dla projektu, czyli spodziewane korzyści w stosunku do kosztów i ryzyk. W fazie przygotowania projektu tworzony jest również zespół zarządzania projektem. Pod koniec tego etapu jest również planowany etap inicjowania projektu.

Innymi słowy na etapie Przygotowania Projektu: Zbudowany zostanie zespół zarządzania projektem Zebrane zostaną dane niezbędne do podjęcia decyzji o ustanowieniu projektu Zaplanowany zostanie etap inicjowania projektu

Warto pamiętać że wszystkie prace wykonywane w tym etapie powinny być ograniczone do minimum. Jest to spowodowane tym że podczas przygotowania projektu nie mamy jeszcze budżetu.

Inicjowanie projektuCelem inicjowania projektu jet stworzenie procedur jakie będą używane w projekcie. Wszelkie procedury zostają spisane w Dokumencie Inicjującym Projekt. Będzie on również zawierał ogólny plan projektu.

5

Page 59: [praca inzynierska]Prince2vsScrum_1.1

11

Na etapie inicjowania projektu w ramach podprocesu IP3 mogą zostać użytetechniki związane z analizą opłacalności , takie jak NPV lub stopa zwrotu. Na tym etapie mamy już bowiem plan projektu, który powstał w podprocesie IP2 , więc mamy dane dotyczące przepływów finansowych w projekcie

Proces planowaniaProces planowania jest procesem, który jest często powtarzany w projekcie. Na etapie przygotowania projektu będzie powstawał plan etapu inicjowania, podczas etapu inicjowania – plan projektu w trakcie zarządzania zakresem – plan etapu lub plan nadzwyczajny, w ramach procesów zarządzania wytwarzaniem produktów – plany pracy dla zespołów.

12

Planowanie obejmuje odpowiedzi na pytania: Co jest niezbędne do realizacji planu W jaki sposób można to osiągnąć Jakie zasoby zostaną wykorzystane Kiedy to się wydarzy

11 Prince2 manual, APMG 200512 Proince2 manual, APMG 2005

5

Page 60: [praca inzynierska]Prince2vsScrum_1.1

Plany wykonywane są w oparciu o identyfikację produktów. Jest to jedyna technika obligatoryjna w prince2. Technika planowania opartego na produktach zapewnia początek planowaniu i określa całą strukturę planowania. Obejmuje ona:

Ustalenie listy produktów potrzebnych w danym planie – hierarchia produktów Opisanie tych produktów i ich kryteriów jakości (akceptacji) Ustalenie kolejności wytwarzania – diagram następstwa produktów

Technika Planowania opartego na produktach jest wykorzystywana w krokach PL2 i PL3. Prince2 nie mówi w jaki dokładnie sposób przeprowadzić pozostałe kroki procesu planowania, zaznacza tylko że takie kroki muszą zostać podjęte.

Planowanie w ScrumPlanowanie w metodyce Scrum obejmuje tylko planowanie pracy jaka ma zostać wykonana w różnym horyzoncie czasowym. W Scrum wyróżniamy od trzech do czterech poziomów planowania:

Poziom produktu Poziom wydania Poziom sprintu Poziom dnia

Schemat procesu planowanie według Scrum pokazuje powyższy rysunek. Projekt zaczyna się od przygotowania na spotkaniu rejestru produktowego czyli zbioru wymagań jakie musi realizować projekt.. Jeśli projekt jest dostatecznie duży można Product Backlog podzielić dalej na backlogi dla wydania(Release Backlog). Następnie wybiera się zbiór wymagań które będą implementowane podczas Sprint i tworzy się rejestr przebiegu Sprint Backlog jest poukładany zgodnie z priorytetami nadanymi poszczególnym elementom przez klienta.

13 http://scrum.hypersquare.com/podstawy-scruma.html

6

Page 61: [praca inzynierska]Prince2vsScrum_1.1

Rolą Mistrza jest dopilnowanie aby praca zlecona w ramach aktualnego sprintu w jak najmniejszym stopniu się zmieniała.Sprint Backlog jest dalej dzielony przez zespół na zadania które będą wykonywane w najbliższym przebiegu. Najniższy poziom planowanie odzwierciedla codzienne spotkanie zespołu projektowego, (everyday scrum meeting) na którym następuje planowanie pracy na najbliższy dzień. Ważne jest, że końcowym efektem Sprintu jest gotowy w pełni działający produkt cząstkowy.

PodsumowanieJak widać Planowanie w metodyce Prince2 i Scrum różni się diametralnie. Prince2 największy nacisk kładzie na biznesowe aspekty projektów i planowanie nie tylko pracy jakama zostać wykonana ale całego projektu, gdyż powtarzając za definicją projektu według Prince2 projekt jest to „Warunki zarządzania stworzone w celu dostarczenia jednego lub wielu produktów natury biznesowej zgodnie z określonym uzasadnieniem biznesowym”. Scrum koncentruje się tylko na pracy jaka ma być wykonana, jednocześnie wymuszając zwiększoną komunikację i zaangażowanie klienta. Widać tutaj zgodność Struma z Agile manifesto14, czyli przedkładanie działania i ludzi na d procedury i dokumentację.

Porównanie metodyki Scrum i Prince2 pod kątem ryzykaW metodyce Prince2 duży istotny nacisk został położony na temat ryzyka. W projekcie prowadzonym zgodnie w Prince2 o ryzyku komunikuje się już na etapie przygotowania projektu, w podprocesie Przygotowanie podstawowych założeń projektu (PP4), jak również w etapie inicjowanie projektu w podprocesie Doprecyzowanie Uzasadnienia Biznesowego i Ryzyka(IP3), natomiast regularne przeglądy ryzyka SA dokonywane w procesie zarządzania zakresem etapu w podprocesie: Uaktualnienie rejestru ryzyka (ZE4).

Scrum nie zajmuje się tematyką ryzyka, pozostawia to w gestii zespołu i scrum mastera. Ryzyko może być zdefiniowane w strumie podczas retrospekcji scrum-a oraz spotkania planistycznego scrum-a.

Porównanie metodyki Scrum i Prince2 pod kątem ról w zespole projektowymPrince2 wyróżnia następujące role:

Komitet Sterujący (Project Board) o Przewodniczący Komitetu Sterującego (Executive)o Główny Użytkownik (Senior User)o Główny Dostawca (Senior Supplier)

Kierownik projektu (Project Manager) Nadzór projektu (Project Assurance) Kierownik Zespołu – rola opcjonalna (Team Manager) Wsparcie Projektu – rola opcjonalna (Project Support) Właściciel ryzyka

14 http://agilemanifesto.org/

6

Page 62: [praca inzynierska]Prince2vsScrum_1.1

Interesariusz

Zakres obowiązków Komitetu Sterującego

1. Strategiczne zarządzanie projektem (przydział zasobów niezbędnych do utrzymania cyklu życia projektu).

2. Strategiczne sterowanie projektem (podejmowanie decyzji stanowiących o cyklu życia projektu).

3. Odpowiedzialność za nadzór spoczywa na każdego członka Komitetu Sterującego4. Komitet sterujący jest jedynym ciałem upoważnionym do oficjalnego reprezentowania

projektu przed Zarządem. Komunikacja Komitetu Sterującego z otoczeniem projektu: 1. Zawiadomienie o rozpoczęciu inicjowania projektu2. Zawiadomienie o rozpoczęciu realizacji projektu3. Informacje zwrotne4. Zawiadomienie o rozpoczęciu zamykania projektu5. Zawiadomienie o zamknięciu projektu

Zakres obowiązków Głównego użytkownika produktu

1. Reprezentuje interesy przyszłych użytkowników produktu2. Przydziela i zwalnia konieczne zasoby3. Nadaje priorytet zagadnieniom projektowym, które dotykają użytkowników, których

repre-zentuje4. Dokonuje cząstkowej i końcowej akceptacji produktów5. Odpowiada za spełnienie przez produkty przyjętych wymagań funkcjonalnych i

jakościowych6. Odpowiada za to, aby produkty przyniosły w przyszłości spodziewane korzyści7. Sprawuje nadzór nad projektem

Zakres obowiązków Głównego dostawcy produktu

1. Reprezentuje interesy jednostek, których zadaniem jest budowa produktów2. Przydziela i zwalnia konieczne zasoby3. Referuje zagadnienia projektowe, które dotykają jego zadań (główne specjalistyczne)4. Odpowiada za spójność planowanych działań specjalistycznych z ich zarządzaniem na

pozio-mie specjalistycznym5. Sprawuje specjalistyczny nadzór nad projektem oraz nadzór nad przyszłą eksploatacją

i utrzymaniem produktu

Zakres obowiązków Przewodniczącego Komitetu Sterującego

1. Reprezentuje interesy, które łączą dostawcę i odbiorcę produktów projektu2. Odgrywa rolę arbitrażową – rozwiązuje konflikty pomiędzy przyszłymi

użytkownikami a do-stawcami produktu3. W ewentualnych konfliktach zwraca szczególną uwagę na interesy odbiorcy produktu4. Przewodniczy posiedzeniom Komitetu Sterującego5. Przewodzi projektowi, którego jest główną siłą napędową

6

Page 63: [praca inzynierska]Prince2vsScrum_1.1

Zakres obowiązków Kierownika Projektu

1. Ponosi odpowiedzialność za bieżące planowanie, zarządzanie i sterowanie2. Odpowiada za dostarczenie produktów3. Odpowiada za opracowanie i aktualizację wszelkich planów w projekcie4. Udziela pracownikom specjalistycznym na wykonanie grupy zadań5. Dokonuje odbioru grupy zadań6. Prowadzi dokumentację projektu7. Dokonuje rejestracji zagadnień projektowych8. Aktualizuje plany9. Analizuje skutki wprowadzanych zmian10. Składa raporty Komitetowi Sterującemu ze stanu zaawansowania i postępów projektu11. Pełni rolę przywódcy: dostarcza motywacji dla pracowników specjalistycznych

Zakres obowiązków Nadzoru projektowego

1. weryfikacją produktów projektu2. weryfikacją harmonogramu, budżetu, ryzyka oraz uzasadnienia biznesowego projektu3. weryfikacja pracy kierownika projektu4. weryfikacja zarządzania ryzykiem

Zakres obowiązków kierownika zespołu

1. Odpowiedzialność za wykonanie pracy którą uzgodnił z kierownikiem projektu w ramach procesu Zarządzanie Wytwarzaniem Produktów

2. raportowanie do kierownika projektów3. przeprowadzenie testów akceptacyjnych

Zakres obowiązków wsparcia projektowego

1. Udziela wsparcia administracyjnego uczestnikom projektu2. Czuwa nad standardami zarządzania projektem3. Czuwa nad standardami zarządzania jakością4. Prowadzi dokumentację projektu5. Odpowiada za operacyjne zarządzanie konfiguracją6. Dokonuje rejestracji zagadnień projektowych7. Aktualizuje plany i analizuje skutki wprowadzanych zmian8. Sporządza projekty dokumentów (raportów, notatek, itp.)9. Sporządza protokoły z narad komitetów sterujących10. Sporządza notatki z przeglądów jakości

Zakres obowiązków właściciela ryzyka

1. Monitorowanie ryzyka

6

Page 64: [praca inzynierska]Prince2vsScrum_1.1

2. proponowanie sposobów mityzacji ryzyka3. Cykliczne raportowanie o ryzyku

Zakres obowiązków Interesariusza

1. Prezentowanie wymagań do projektu

Scrum wyróżnia następujące role:

1. Scrum master2. Produkt owner3. Członek zespołu

Zakres obowiązków Scrum mastera1. Zapewnienie aby zespół pracował zgodnie z regułami Scrum-a2. Przeprowadzanie codziennych scrumów3. Pomoc zespołowi4. Ochrona zespołu przed częstymi zmianami w wymaganiach

Zakres obowiązków Produkt ownera1. Reprezentowanie klienta2. Wylistowywanie funkcjonalności jaka ma być zaimplementowana3. Priorytetyzacja pracy jaka ma być wykonana

Zakres obowiązków członka zespołu1. Wykonanie pracy jaka została zlecona

10. Wymagania funkcjonalne

W kolumnie sprint podano w której iteracji planowano zrealizować daną funkcjonalność.

Funkcjonalność sprint Kryteria akceptacyjne

Definiowanie/edycja galeriizdjęć/plików

1

Edycja zamówień 1

Edycja ofert 1

6

Page 65: [praca inzynierska]Prince2vsScrum_1.1

Hotele 1

Komentarze do ofert/ocena 2

Forum 2

Linki z youtube/wrzuta 2

Pozycjonowanie na google 2

Oglądanie ofert 1

Uprawnienia użytkowników panelu/ edycja 1

Uprawnienia użytkowników portalu 2

Złożenie zamówienia przez klienta/edycja przez klienta 1

Artykuły (strony statyczne) 1

Załączenie plików do artykułów 1

Newsy (dodanie nowej tabeli) 1

Oferty wakacyjne (typ wakacji) 1

Kraje 1

Miejsca pobytu (ze zdjęciami) 1

Atrakcje dodatkowe do miejsc pobytu (wycieczki) 2

Podpinanie artykułów pod kraje itd... 2

Przewodniki (oddzielna tabela) – podpinany pod kraj 1

Rozbudowa newsów (kiedy wyświetlane) 2

Rejestracja klienta na stronie głównej 1

Zarządzanie userami 2

Przestawianie ofert na stronie 2

Linki z youtube, muzyka 2

Wyświetlanie niezrealizowanych zamówień w bazie wycieczek

1

Usuwanie zamówień w bazie wycieczek 2

Rejestrowanie się na stronie internetowej 1

6

Page 66: [praca inzynierska]Prince2vsScrum_1.1

Logowanie się na stronie internetowej 1

Przeglądanie ofert aktualnych wycieczek na stronie 2

Sprawdzanie stanu zamówień 2

Składanie zamówień na wycieczki 2

Przeglądanie ofert biura 1

Wprowadzanie zmian w ofercie biura 2

11. Wymagania niefunkcjonalne

Z punktu widzenia klienta: aplikacja powinna bezproblemowo udostępniać dane dla 2000 użytkowników

jednocześnie stacja robocza wyposażona w system operacyjny Windows lub Linkuks z

przeglądarką internetową Każda funkcja aplikacji powinna dać odpowiedź w przeciągu maksimum 3 sekund

Z punktu widzenia pracowników biura turystycznego: Niezbędne dane do działania aplikacji w bazie danych Postgresql Pracownicy biura będą mieli dostęp za pomocą części CMS Raporty powinny być generowane w okresie nie dłuższym niż 1 minuta System powinien umożliwiać drukowanie wcześniej zdefiniowanych raportów

12. Przeglądy sprintów

Kolumna stan oznacza ocenę czy dana funkcjonalność pod koniec sprintu w którym powinna zostać dostarczona, jest w pełni zrealizowana. OK oznacza akceptację i odbiór, NOK oznacza uwagi i przesunięcie odbioru na następy sprint.

Pierwszy sprint

Funkcjonalność stan Uwagi

Definiowanie/edycja galeriizdjęć/plików

OK drobne błędy do poprawy

Edycja zamówień OK

Edycja ofert OK

Hotele NOK Błędy podczas wyświetlania

6

Page 67: [praca inzynierska]Prince2vsScrum_1.1

informacji o hotelach, task do dokończenia w sprincie2

Oglądanie ofert OK

Uprawnienia użytkowników panelu/ edycja OK

Złożenie zamówienia przez klienta/edycja przez klienta OK

Artykuły (strony statyczne) OK

Załączenie plików do artykułów OK

Newsy (dodanie nowej tabeli) OK

Oferty wakacyjne (typ wakacji) OK

Kraje OK

Miejsca pobytu (ze zdjęciami) OK

Przewodniki (oddzielna tabela) – podpinany pod kraj OK

Rejestracja klienta na stronie głównej OK

Wyświetlanie niezrealizowanych zamówień w bazie wycieczek

NOK Nie działą, do dorobienia w sprincie 2

Rejestrowanie się na stronie internetowej OK

Logowanie się na stronie internetowej OK

Przeglądanie ofert biura NOK Błędy przy wyświetlaniu, do dokończenia w sprincie2

Drugi sprint

Funkcjonalność Stan Uwagi

Komentarze do ofert/ocena OK

Forum NOK Przeniesione na końcowy sprint

Linki z youtube/wrzuta OK.

Pozycjonowanie na google OK.

Uprawnienia użytkowników portalu OK.

Atrakcje dodatkowe do miejsc pobytu (wycieczki) OK.

6

Page 68: [praca inzynierska]Prince2vsScrum_1.1

Podpinanie artykułów pod kraje itd... OK.

Rozbudowa newsów (kiedy wyświetlane) OK.

Zarządzanie userami OK

Przestawianie ofert na stronie OK

Linki z youtube, muzyka NOK Przeniesione do końcowego sprintu

Usuwanie zamówień w bazie wycieczek OK

Przeglądanie ofert aktualnych wycieczek na stronie OK

Sprawdzanie stanu zamówień OK

Składanie zamówień na wycieczki OK

Wprowadzanie zmian w ofercie biura OK

Przeglądanie ofert biura OK

Wyświetlanie niezrealizowanych zamówień w bazie wycieczek

OK

Hotele OK

Sprint końcowy

13. Przegląd wydania

14. Wybór technologii

Ruby on Rails to jak framework napisany za pomocą języka Ruby zmodyfikowanego w celu uzyskania wysoce produktywnego środowiska do tworzenia nowoczesnych aplikacji internetowych.

Język Ruby posiada pełną obiektowość i bardzo czytelną składnię. Nie ma podziału na typ prymitywy i typy referencyjne. Wszystko jest obiektem i wszystko posiada metody. Dotyczy to nie tylko liczb i napisów ale także obiektu . Każdy obiekt można przeciążyć i/lub zmodyfikować wewnętrznie (dynamicznie dodając lub usuwając jego metody w trakcie pracy programu). Daje to możliwości zupełnie nieosiągalne dla innych języków obiektowych.

6

Page 69: [praca inzynierska]Prince2vsScrum_1.1

15. Opis używanych technologii

W naszym projekcie staramy się stosować nowoczesne technologie lecz sprawdzone i pewne w działaniu. Jest to korzyść dla klienta, który zamawia usługę, ale i dla nas, czyli projektantów, którzy nie marnują czasu na zmagania się z problemami używanych narzędzi, mogą całą uwagę poświęcić istotnym potrzebom swojego klienta.

Ruby on Rails

Nasza główna technologia. Framework open source do szybkiego tworzenia aplikacji webowych. RoR został napisany w języku Ruby z użyciem architektury MVC

JavaScript (prototype)

Obiektowy skryptowy język programowania, najczęściej stosowany na stronach WWW.Pisząc skrytpy skorzytamy z biblioteki prototpe co da nam pewność, że nasz kod

będzie poprawnie interpretowany przez większość przeglądarek internetowych.

Ajax

Asynchroniczny JavaScript i XML – technika tworzenia aplikacji internetowych, w której interakcja użytkownika z serwerem odbywa się bez przeładowywania całego dokumentu.

PostgreSQL

Obok MySQL i Firebird, jeden z trzech najpopularniejszych wolnodostępnych systemów zarządzania relacyjnymi bazami danych. Zalicza się do baz typu RDBMS z rozszerzeniami obiektowymi.

Uzasadnienie wyboru technologii

Ruby on Rails jest powszechnie używany poza granicami naszego kraju. Przede wszystkim jest to framework oparty na technologi MVC, posiadający dobrze przemyślaną konfigurację domyślną, wsparcie dla technologii ajax, bardzo dobry orm z zabezpieczonymi zapytaniami sql pozwalający podpiąc niemalże dowolną bazę danych nie zmieniając przy tym ani kawałĸa kodu. Wyżej wymienione cechy pozwalają od razu rozpocząć pracę nad aplikacją nie tracąc czasu na konfigurację. Wszystkie pliki są odpowiednio poukładane dzięki MVC, co zapewnia porządek i czystość w projekcie. Praktycznie bez znajomości JavaScriptu możemy tworzyć zaawansowane mechanizmy ajaxowe. To co stanowi o potędze Ruby on Rails to język Ruby. To dzięĸi niemu Railsy są potężnym frameworkiem do pisania dobrze zabezpieczonych, czystych, przetestowanych aplikacji www.

Pisanie skryptów przy pomocy JavaSciptu z biegiem lat stawało się co raz trudniejsze za sprawą rozwoju wielu konkurencyjnych przeglądarek. Każda z nich postanowiła na własny sposób zaimplementować obsługę tego języka. Dobrze napisany skrypt pod FireFoxem nie będzie działał po IE i na odwrót. Prototype jest domyślnie używany w Railsach dlatego będziemy korzystać z tej biblioteki.

Pisząc nasz projekt opieramy się na sprawdzonych i solidnych narzędziach open source. W przypdaku bazy danych chcemy postąpić tak samo i dlatego zdecydowaliśmy się na PostgresSql. Jest to powszechnie uważany za najbardziej uniwersalny i stabilny spośród baz danych rozprowadzanych na zasadach wolnego dostępu. jego możliwości wykorzystywane są zarówno przez twórców portali sieciowych, jak i potężnych systemów korporacyjnych przetwarzających ogromne ilości danych

6

Page 70: [praca inzynierska]Prince2vsScrum_1.1

Architektura systemu

Przede wszystkim aplikcaja będzie się opierała na architekturze dwuwarstwowej typu klient-serwer. Oznacza to podział naszej aplikacji na dwa moduły: interfejs użytkownika oraz przetwarzanie i składowanie danych.

Wszystkie operacje będą wykonywane z poziomu przeglądarki www bez żadnych aplikacji stacjonarnych.

Aplikacja będzie składała się z trzech części:

Strona biura turystycznego

Strona dla klientów, na której dostępne będą oferty wczasów do wykupienia. Część ta będzie umożliwiała rejestrację użytkownika w celu przechowywania jego danych osobowych, wyszukiwanie wycieczek po rozmaitych kryteriach oraz dokonanie zamówienia wycieczki.

CMS

Cześć dosŧępną tylko dla osób upoważnionych. Służy do dodawania, modyfikacji i usuwania ofert wycieczek jak i przeglądania danych zarejestrowanych klientów wraz z historią zakupów w naszym serwisie.

Baza Danych

Baza dancyh Postresql przechowujące dane potrzebne do funkcjonowania aplikacji.

16. Moduły systemu

Postawowymi modłami będą:moduł dla pracownika – wprowadzanie informacji o wyczieczkach, opisy, dodawanie

zdjęć, ustawianie promocji, odpisywanie na maile klientów.Moduł dla klienta – logownie/rejestracja, przeglądanie oferty biura podróży,

dokonywanie transakcji.

Formularz

Będzie służył przede wszystkim do wprowadzania danych do bazy danych takich jak oferty wycieczek, dane klienta czy faktury. Da również możliwość modyfikacji wyżej wymienionych informacji oraz przeszukiwania bazy w celu odnalezienia interesującej nas oferty.

Raport

Za pomocą tego modułu będą prezentowane informacje wydobyte z bazy danych.

Potwierdzenie email

Klient po złożeniu zamówienia dostanie wiadomość na swoją skrzynkę pocztową w celu potwierdzenia wykonanej operacji

7

Page 71: [praca inzynierska]Prince2vsScrum_1.1

17. PodsumowanieW naszym projekcie oprócz porównania dwóch metodyk prowadzeni projektów wykonaliśmy również aplikację webową. Postanowiliśmy że będziemy nad nią pracować w metodyce Scrum. Powodami wyboru Scrum-a jako metodyki w której będziemy pracować były:-iteracyjność jaką narzuca Scrum pozwoliła nam na łatwiejsze uporządkowanie pracy -proste i czytelne zasady komunikacji-brak potrzeby definiowania ról w zespole, każdy mógł zajmować się dowolną częścią pracy.-timeboxy(Scrumowe organiczenia czasów na wykonywane zadania) bardzo ułatwiają prace na poziomie developera, przy minimalizacji potrzebnej dokumentacji.-proste i intuicyjne planowanie.-duża elastyczność w możliwościach dostosowywania Scrum-a, podejście opisane w manifeście zwinności(http://agilemanifesto.org)-prostota zasad, co jest ważne podczas pracy zdalnej nad projektem

Wszystkie wymienione powody dla naszego wyboru Scrum-a, dały się odczuć w codziennej pracy. Scrum pozwolił nam uporządkować proces wytwarzania projektu, jednocześnie nie narzucając czynności które trzeba byłoby wykonać tylko dlatego żeby pozostać „metodycznym”. W szczególny sposób jasne zasady komunikacji i planowania pomogły w koordynacji prac jakie musiały zostać wykonane.

Jednak „czysty” Scrum nie zapewniał w stu procentach tego czego wymagaliśmy od metodyki którą chcemy stosować. Postanowiliśmy dodać elementy zarządzania ryzykami z Prince2, który pozwolił nam już na starcie projektu ominąć wiele problemów. Czerpaliśmy również z podejścia Prince2 do komunikacji i stworzyliśmy plan komunikacji, gdzie opisaliśmy zasady na których będziemy raportować stopień zaawansowania w pracach.

Nasze pierwotne podejście okazało się skuteczne, jednak co ma kluczowy wpływ na wynik przeprowadzonego przez nas porównanie metodyk prowadzenia projektów IT, naszym celem było tylko stworzenie aplikacji, co prawie nigdy nie ma miejsca w projektach. Zawsze chodzi o zaspokojenie potrzeby klienta i poprawną komunikację głównie na linii dostawca-klienta a nie w samym zespole projektowym. Dlatego tez takie silne elementy Prince2 jak:koncentracja na uzasadnieniu biznesowym, większa dokumentacja projektu, dwa poziomy zarządzania(operacyjny i strategiczny) nie mogły pokazać pełni swojej przydatności.

W praktyce, czy to w małych projektach gdzie celem jest tylko dostarczenie aplikacji, czy w większych gdzie sama aplikacja może być tylko niewielkim elementem projektu warto jest znać oba podejścia i używać tych elementów obu metodyk które wniosą największą wartość dodaną do projektu.

7