Projektowanie oprogramowania – Grupa B
I. Opis biznesowy „świata rzeczywistego” w języku klienta – katalog projektów ProjectPortfolio
1. Opis zasobów ludzkich
- Kierownik Portfela zarządza Osobami, które można przypisywać do realizowanych projektów oraz Klientami, dla których realizowane są projekty. W momencie, gdy rozpoczyna się nowy projekt Kierownik Portfela dodaje taki projekt do aplikacji i przypisuje Kierownika Projektu, jako głównego członka Zespołu oraz dodaje informację o kliencie, dla którego realizowane jest przedsięwzięcie. Kierownik Portfela ma dostęp do wszystkich projektów i może przeglądać dowolny projekt oraz tworzyć tygodniowe zestawienia projektów.
Może także na podstawie historycznych danych przechowywanych w katalogu projektów z wykorzystaniem modułu Estymacji określać prawdopodobne terminy zakończenia projektu oraz pracochłonność potrzebną do zakończenia prac.
- Kierownik projektu uaktualnia główne informacje o projekcie: Nazwa, Data rozpoczęcia, szacowaną Data zakończenia, uzupełnia pozostałych członków zespołu, dodaje szacowaną ilość sprintów oraz określa Stan projektu. Kierownik projektu ma dostęp do aktualizacji projektów, które prowadzi.
- Osoba zespołu – realizuje zadanie do niej przypisane w trakcie sprintu. Codziennie aktualizuje ile jeszcze pozostało do pracy (w godzinach) przy bieżącym zadaniu. W momencie, kiedy skończy pracę nad zadaniem zmienia status na kolejny zgodnie z przepływem pracy.
2. Przepisy
Kierownik projektu odpowiada za aktualizację informacji o postępie prac zespołu w projekcie w ramach realizowanego sprintu. Jest to codzienna aktualizacja Stanu Sprintu na podstawie uaktualnionych informacji o Zadaniach przez Osoby w zespole. Dodatkowo Kierownik projektu raz na tydzień aktualizuje Stan Projektu.
3. Dane techniczne
Dodawanie, przeglądanie oraz aktualizacja danych odbywa się za pośrednictwem strony internetowej.
Jednoczesnych użytkowników tzn. Kierowników projektów oraz Kierowników Portfela może być do 50 osób.
Baza danych systemu ProjectPortfolio może przechowywać do kilkuset projektów, przy czym trzeba pamiętać o dziennych zmianach, które aktualizują Stan sprintu i służą do tworzenia graficznej prezentacji postępu prac.
II. Lista wymagań funkcjonalnych (wraz z minimalnym zestawem atrybutów)
1. System ProjectPortfolio zawiera listę projektów. Projekt zawiera informacje o Kliencie, statusie projektu:
Nowy, Trwa, Zawieszony, Zamknięty oraz Datę rozpoczęcia, Datę zakończenia, zbiorem Osób (Zespół), zbiorem Sprintów, zbiorem Ryzyk oraz zbiorem Stanów projektów.
2. Klient zawiera Nazwę, Adres (ulicę, nr, kod, miejscowość), nr NIP
3. Bieżącą sytuację w projekcie określa Stan projektu aktualizowany przez Kierownika Projektu raz na tydzień, który składa się z: Daty aktualizacji, wartości Budżetu zaakceptowanego, Budżetu już wykorzystanego, Budżetu pozostałego, Budżetu całkowitego (będącego sumą Budżetu wykorzystanego i pozostałego).
4. Ryzyka dodaje/uaktualnia Kierownik projektu do wspólnego rejestru ryzyk (dla wszystkich projektów) a następnie może je przypisać do swojego projektu. Pojedyncze ryzyko zawiera informacje o Nazwie, Opisie ryzyka, Prawdopodobieństwie wystąpienia, Dacie zgłoszenia, Dacie zamknięcia możliwym Koszcie
wystąpienia ryzyka oraz może przyjmować status: Aktywny, Nieaktywny (wówczas ustalana jest Data zamknięcia).
5. Praca w projekcie ma charakter Sprintu (długość pojedynczego sprintu to 3 tygodnie), które są
dodawane/uaktualniane przez Kierownika Projektu. Sprint posiada informację o Numerze sprintu, Dacie rozpoczęcia, Dacie zakończenia. Zawiera także zbiór Zadań oraz zbiór Stanów sprintu. Statusy sprintu to:
Zakończony, W trakcie (zawsze może być tylko jeden), Nierozpoczęty.
6. Zadania do realizacji są dodawane do Projektu przez Kierownika Projektu a praca nad nimi może rozpocząć się, gdy są przypisane do wybranego sprintu. Zadanie zawierają informacje o: Nazwie, Długości planowanej realizacji, Statusie: Nierozpoczęte, W Analizie lub W implementacji lub W testach (w zależności od roli projektowej Osoby w Zespole), Zakończone.
7. Zadanie ma także informacje o Dotychczasowym czasie poświęconym na wykonanie zadania oraz Pozostałym szacowanym czasie do zakończenia prac. Obie wartości są podane w godzinach i są aktualizowane codziennie przez przypisaną Osobę z Zespołu. W przypadku, jeśli zadanie ma inny status niż Nierozpoczęte i Zakończone konieczne jest codzienne aktualizowanie ile jeszcze zostało pracy do wykonania (w godz.)
Jeśli Zadanie jest Zakończone wówczas Pozostały szacowany czas musi być równa zero.
8. Kierownik projektu przypisuje Osoby do Zadania. Osoba posiada Imię, Nazwisko i może pełnić następujące Role: Kierownik Projektu (tylko jedna osoba w danym projekcie), Analityk, Programista, Tester.
9. Na podstawie aktualnych informacji o postępie realizacji Zadań (wykonana aktualizacja Dotychczasowego czasu pracy oraz Pozostałego szacowany czas) Kierownik Projektów aktualizuje Stan sprintu, który zawiera informacje: Data aktualizacji, Numer dnia sprintu, Ilość Zadań nierozpoczętych, w analizie, w implementacji, w testach, zakończonych.
10. W celu odnalezienia projektu przez Kierownika Portfela lub Kierownika Projektu podaje się nazwę projektu lub nazwę klienta lub wyszukując po imieniu lub nazwisku kierownika projektu
11. Osoba z Zespołu wchodząc do aplikacji widzi tylko swoje zadania, które może codziennie aktualizować.
III. Lista wymagań niefunkcjonalnych
1. Dodawanie, przeglądanie oraz aktualizacja może odbywać się tylko przez uprawnione osoby.
2. Podsumowania projektów mogą być konwertowane do formatu PDF
IV. Lista przypadków użycia - propozycja Sprint 1
PU Dodanie projektu
PU Dodanie osoby
PU Dodanie klienta
PU Dodanie ryzyka Sprint 2
PU Aktualizacja projektu
PU Przypisanie osoby do projektu
PU Dodanie zadania do projektu
PU Przypisanie klienta do projektu
PU Dodanie sprintu do projektu
PU Dodanie stanu sprintu Sprint 3
PU Przypisanie ryzyka do projektu
PU Dodanie stanu projektu
PU Przypisanie zadania do osoby i sprintu
PU Aktualizacja zadania
PU Oszacowanie prognozy sprintów w statusie Nierozpoczęty na podstawie danych ze sprintów w statusie Zakończony
PU Przygotowanie zestawienia np. aktywnych ryzyk o Prawdopodobieństwie wystąpienia na poziomie 75% starszych od miesiąca (funkcjonalność wyszukiwania po wybranych parametrach).