Snatch, serwer brydżowy plan zarządzania projektem Michał Korch Piotr Tomanek Marcin Pilipczuk Piotr Tabor 25 kwietnia 2005 roku Wersja: 1.4 Historia Data Wersja Autor Zmiany 2005-03-06 1.0 Michał Korch Stworzono pierwszą wersję całości 2005-03-07 1.1 Michał Korch Poczyniono uzupełnienia w punkcie 4.2 2005-03-07 1.2 Marcin Pilipczuk Uzupełnienie punktu 1.4 oraz 2.3 2005-03-07 1.3 Piotr Tomanek Poprawki kontrolera jakości 2005-03-07 1.4 Marcin Pilipczuk Zaktualizowanie działu 2.2 zgodnie z BV 1.4 Spis treści 1 Wstęp 2 1.1 Cel dokumentu.............................................. 2 1.2 O projekcie................................................ 2 1.3 Definicje i skróty............................................. 2 1.4 Źródła................................................... 2 1.5 Streszczenie................................................ 2 2 Krótki opis projektu 3 2.1 Cel projektu................................................ 3 2.2 Założenia i ograniczenia......................................... 4 2.3 Elementy projektu i terminy ich realizacji............................... 5 3 Organizacja projektu 6 3.1 Struktura organizacyjna......................................... 6 3.2 Kontakty - udziałowcy i klienci..................................... 6 3.3 Role poszczególnych osób i odpowiedzialność............................. 7 4 Proces zarządzania 8 4.1 Oszacowania projektu.......................................... 8 4.2 Plan projektu............................................... 8 4.2.1 Plan etapowy........................................... 8 4.2.2 Cele poszczególnych iteracji................................... 8 4.2.3 Wypuszczanie oprogramowania................................. 9 4.2.4 Harmonogram projektu..................................... 9 4.2.5 Kadrowe zapotrzebowania projektu............................... 9 4.2.6 Budżet............................................... 9 1
1 Wstęp 1.1 Cel dokumentu Celem tego dokumentu jest krótki opis projektu i zaplanowanie prac nad nim. 1.2 O projekcie Ten dokument dotyczy projektu rozgrywek brydżowych przez internet. Działający projekt ma umożliwić grę towarzyską i organizowanie turniejów brydżowych przez internet w ramach portalu www.bardzofajnyportal.pl, który jest udziałowcem projektu. Zyski mają płynąć z zamieszczanych reklam. 1.3 Definicje i skróty projekt To, co ten dokument opisuje - projekt rozgrywek brydżowych przez internet. gracz Klient grający w brydża przez działający projekt. widz Klient obserwujący rozgrywki. sędzia Klient mający większe uprawnienia, organizujący turnieje i nadzorujący je. udziałowiec Portal www.bardzofajnyportal.pl, który jest udziałowcem i docelowym właścicielem binarnej wersji projektu. zespół Zespół wykonujący projekt. 1.4 Źródła Ten dokument jest pierwszym dokumentem opisującym projekt od strony zarządzania, nie odwołuje się do żadnych wcześniejszych dokumentów na ten temat. Korzysta on z Wizji Biznesowej projektu w kwestii specyfikacji celów i założeń projektu. 1.5 Streszczenie W dokumencie tym krótko opisano projekt i przedstawiono uwagi na temat zarządzania projektem, w szczególności wstępny harmonogram prac. 2
2 Krótki opis projektu Projekt zakłada stworzenie kompleksowego serwisu brydżowego dla portalu internetowego www.bardzofajnyportal.pl. Portal ten obecnie nie wyróżnia się niczym szczególnym i taki właśnie serwis jest dla niego możliwością przyciągnięcia klietnów. Kompleksowość serwisu ma polegać przede wszystkim na możliwości sprawnej i łatwej organizacji, przeprowadzenia turniejów brydżowych, obliczania i przeglądania ich wyników. Konkretniejszy opis założeń i celów projektu znajduje się poniżej. 2.1 Cel projektu Ogólne cele biznesowe udziałowca Podstawowym celem udziałowca jest powiększenie zysków portalu www.bardzofajnyportal.pl. Drogą ku temu jest zwiększenie wpływu z reklam zamieszczanych w portalu, do czego niezbędne jest podniesienie jego atrakcyjności, a co za tym idzie oglądalności. Udziałowiec chciałby zrealizować ten cel do połowy roku 2006, to znaczy wtedy chciałby zauważyć istotne zwiększenie zysków, które pozwalałoby mu na dalsze inwestycje w rozwój portalu. Udziałowiec szacuje, że zwiększenie atrakcyjności portalu będzie go kosztowało około 150 do 200 tys. PLN, ale ta kwota zwróci się z nawiązką w ciągu dwóch lat z dodatkowych wpływów z reklam (nie tylko w serwisie brydżowym). Bezpośrednio z tym związanym celem jest wyrobienie marki www.bardzofajnyportal.pl. W związku z tym, celem udziałowca jest uruchomienie systemu, który przyciągnąłby do niego relatywnie dużą grupę klientów. Udziałowiec chciałby również dzięki temu zyskać pewną liczbę stałych użytkowników portalu. Udziałowiec zdecydował, że tym systemem będzie kompleksowy serwer brydżowy. Chciałby, aby ostateczna i pełna jego wersja pojawiła się na portalu najpóźniej w październiku, jednakże jego podstawowe części chciałby wdrażać już w lipcu, wobec czego pozostało niewiele czasu. Na ten cel jest w stanie przeznaczyć 120 do 140 tys. PLN - w zależności od ostatecznej zawartości systemu (większość reszty kwoty chce przeznaczyć na promowanie tego serwera i ogólnie portalu www.bardzofajnyportal.pl). Cele, które realizować ma projekt Aby projekt mógł posłużyć realizacji wyżej wymienionych celów, musi przyciągnąć brydżystów swoją atrakcyjnością. Składają się na nią następujące czynniki. Powinien umożliwiać (lub też może umożliwiać - vide 5. Pierwszeństwo i priorytety): przeprowadzenie rozgrywki obserwację rozgrywki łatwą organizację i przeprowadzenie turnieju nadzorowanie turnieju przez sędziów wybór systemu punktowego obserwację turnieju przeprowadzenie meczu brydżowego nadzorowanie meczu obserwację meczu przeprowadzenie treningów łatwego obrobienia wyników atrakcyjny wizualnie wygląd gry naukę gry w brydża przegląd sławnych, brydżowych rozgrywek wybór języka 3
wybór wyglądu aplikacji klienckich grę w różnych środowiskach (Windows, Linux,... ) grę z komputerem (SI) przechowywanie danych o użytkownikach możliwość rejestracji użytkowników 2.2 Założenia i ograniczenia Poniżej wymienione są założenia i ograniczenia projektu, czyli: wymagania, standardy, przewidziane środki i czas na realizację. Konieczne standardy i wymagania Zasady brydża. Zasady turniejów brydżowych. Łączność pomiędzy serwerami musi się stosować do protokołu TCP/IP. Baza danych i odwołania do niej w standardzie SQL, baza danych Oracle. Licencja GPL, na której udostępniana jest część wykorzystywanych bibliotek. Przydatne standardy Interfejs bazy danych organizacji brydżowych. Standard ISO-8859-2 w kodowaniu polskich znaków diakrytycznych. System naliczania punktów i tworzenia rankingów, m.in. wg standardowego sposobu naliczania. Wszelkie przesyłanie danych, w tym haseł, powinno się odbywać przez protokół SSL. Przesył danych powinien się odbywać w standardzie XML. W czym się mieścimy? Projekt powinien zająć dziewięć miesięcy pracy i kosztować około 130 tysięcy złotych. Aplikacje klienckie powinny być dostępne na względnie dowolnej, popularnej platformie - Windows, Linux, Unix, ew. MacOS. Aplikacja serwera będzie pod systemem linux, musi być zintegrowana z portalem udziałowca. Korzysta z bazy danych Oracle. Powinien być dostępny internetowy support do aplikacji kliencich - Manual, FAQ oraz możliwość zadawania pytań do wykwalifikowanych ludzi z portalu. Pierwsze elementy systemu mają być gotowe w lipcu. Potrzebana infrastruktura i wymagania środowiskowe Aplikacja serwera. Potrzebne są: średniej klasy serwer z łączem do internetu o dużej przepustowości; Linux zainstalowany na nim; relacyjna baza danych, zapewne Oracle, z możliwością regularnego zrzutu stanu bazy danych; biblioteki do obsługi popularnych potrzebnych standardów, SSL, TCP/IP, XML, które są dostępne na licencji GPL; poddomena brydz.bardzofajnyportal.pl; system podtrzymywania sieci (UPS); 4
serwer WWW, zapewne Apache, z silnikiem skryptowym (zapewne PHP lub JBoss). Aplikacje klienckie. Klient (sędzia, gracz, widz) potrzebuje: komputera z dostępem do Internetu; system operacyjny Linux bądź Windows (ew. MacOs); przeglądarkę internetową. 2.3 Elementy projektu i terminy ich realizacji Elementy tworzonego oprogramowania Tworzone oprogramowanie składa się z następujących części: aplikacja gracza, aplikacja sędziego, serwer pojedynczego turnieju lub meczu, serwer nadzorujący całość, witryna www. Planowana funkcjonalność i terminy Wyżej wymienione elementy będą stopniowo wyposażane w funcjonalność opisaną poniższą tabelką. co kiedy gotowe przeprowadzenie rozgrywki 01.07 obserwacja rozgrywki 01.07 łatwa organizacja i przeprowadzenie turnieju 1.08 nadzorowanie turnieju przez sędziów 1.08 atrakcyjny wizualnie wygląd gry na każdym etapie tworzenia oprogramowania obserwacja turnieju 1.08 gra w różnych środowiskach 1.08 przetrzymywanie danych o użytkownikach 1.08 rejestracja użytkowników 1.08 przeprowadzenie meczu brydżowego 20.08 nadzorowanie meczu 20.08 obserwacja meczu 20.08 łatwa obróbka wyników 1.09 przeprowadzenie treningów 1.09 wybór wyglądu aplikacji klienckich 10.09 wybór systemu punktowego 10.09 nauka gry w brydża przegląd sławnych, brydżowych rozgrywek wybór języka gra z komputerem (SI) Pierwszeństwo w wykonaniu uzyskały części systemu odpowiadające za przeprowadzenie rozgrywki i turnieju, bazę danych oraz wyglądu aplikacji klienckich. Następnie części związane z meczami i treningami. Najmniej istotne okazały się nauka brydża, inne wersje językowe, sławne rozgrywki i moduł sztucznej inteligencji. Pytanie, czy te części mają się znaleźć w systemie, jest nadal omawiane z udziałowcem. Pierwsze elementy systemu powinny być gotowe w lipcu. Pełna wersja ma być wdrożona w październiku. 5
3 Organizacja projektu 3.1 Struktura organizacyjna Zespół składa się z następujących osób: Michał Korch kierownik projektu, Piotr Tomanek kontroler jakości, Marcin Pilipczuk, Piotr Tabor. 3.2 Kontakty - udziałowcy i klienci Jedynym udziałowcem jest www.bardzofajnyportal.pl: www.bardzofajnyportal.pl ul. Portali Internetowych 44 44-444 Ciemnogród. Przedstawicielem www.bardzofajnyportal.pl jest Pan Lucjan Pudłokarton, szef działu rozwoju portalu: Pan Lucjan Pudłokarton, Szef Działu Rozwoju Portalu firma www.bardzofajnyportal.pl e-mail: opakowanie@bardzofajnyportal.pl tel. do pracy: (44)4404444, wewn. 44 tel. kom.: 644044044 tel. domowy: (44)4400044. Za kontakty z docelowymi klientami tworzonego serwisu, tzn. graczami, sędziami i obserwatorami jest w całości odpowiedzialny Pan Pudłokarton. 6
3.3 Role poszczególnych osób i odpowiedzialność kto Michał Korch rola i odpowiedzialność kierownik projektu, programista, całokształt, zarządzanie projektem, ostateczną planowaną zawartość projektu. Piotr Tomanek kontroler jakości, programista, dokumentację projektu, zarządzanie jakością projektu. Marcin Pilipczuk członek zespołu, programista, kontakty z udziałowcem i politykę względem niego, plan wdrożenia i wdrożenie projektu. Piotr Tabor członek zespołu, programista, plan testów i ich przeprowadzenie, zapewnianie zasobów potrzebnych przy tworzeniu projektu. Lucjan Pudłokarton udziałowiec - bezpośredni klient, zareklamowanie już działającego produktu, kontakt z klientem: graczami i sędziami, późniejsze nadzorowanie przebiegu turniejów, zarządzanie sędziami i turniejami, zapewnienie infrastruktury fizycznej pod aplikację - serwera, łącza i niezbędnych aplikacji (np. baza danych), ogólne specyfikowanie celów i interfejsu projektu, kontakt z reklamodawcami. 7
4 Proces zarządzania 4.1 Oszacowania projektu Projekt powinien zająć dziewięć miesięcy pracy, kosztować około 130 tysięcy złotych. Pierwsze elementy systemu mają być gotowe w lipcu, a ostateczne wdrożenie powinno następić w październiku. Nowe oszacowania projektu mogą pojawić się: po uzgodnieniu z udziałowcem czy włączamy do projektu też elementy o niższym priorytecie (lub ew. które z nich) - jeszcze w marcu, gdy powstanie projekt techniczny systemu - najpóźniej na początku kwietnia, w wyniku nieprzewidzianych problemów lub (hope so) wręcz przeciwnie - maj, w wyniku dodatkowego, koniecznego planowania, w ramach którejś z iteracji. 4.2 Plan projektu 4.2.1 Plan etapowy Pracę nad projektem można podzielić na następujące etapy: nr co kiedy kryterium sukcesu 1 analiza i projektowanie marzec-kwiecień została uzgodniona dokładna zawartość projektu stworzono większość dokumentacji 2 programowanie - 1. iteracja 3 testowanie i zdanie oprogramowania - 1. iteracja, uwagi klienta kwiecień-czerwiec czerwiec-lipiec zaprogramowano elementy o największym pierwszeństwie, stworzono solidną część elementów o trochę niższym priorytecie testowanie przebiegło zgodnie z planem okazało się, że w miarę zrozumieliśmy się z klientem 4 kolejne iteracje czerwiec-wrzesień kolejne iteracja przebiegają zgodnie z planem 5 ostateczne wdrożenie wrzesień-październik system w pełni zaczyna działać nie zauważono poważnych usterek otrzymaliśmy całość zapłaty 4.2.2 Cele poszczególnych iteracji Wersje oprogramowania wyprodukowane w poszczególnych iteracjach mają rozszerzać funkcjonalność systemu o następujące elementy: 8
nr co ma się pojawić data zakoṅczenia 1 przeprowadzenie rozgrywki, 1.08 obserwacja rozgrywki, łatwa organizacja i przeprowadzenie turnieju, nadzorowanie turnieju przez sędziów, atrakcyjny wizualnie wygląd gry, obserwacja turnieju, gra w różnych środowiskach, przetrzymywanie danych o użytkownikach, rejestracja użytkowników. 2 przeprowadzenie meczu brydżowego, 20.08 nadzorowanie meczu, obserwacja meczu. 3 łatwa obróbka wyników, 1.09 przeprowadzenie treningów. 4 wybór wyglądu aplikacji klienckich, 10.09 wybór systemu punktowego. 5 nauka gry w brydża, przegląd sławnych, brydżowych rozgrywek, wybór języka, gra z komputerem (SI). 4.2.3 Wypuszczanie oprogramowania Ostatnim etapem każdej iteracji będzie oczywiście zdanie wyprodukowanego oprogramowania udziałowcowi. Decyzję, czy poszczególne wersje będą wdrażane czy też przeznaczone tylko do wewnętrznego testowania, podejmie udziałowiec. 4.2.4 Harmonogram projektu Harmonogram prac wynika bezpośrednio z informacji zawartych w poprzednich punktach. 4.2.5 Kadrowe zapotrzebowania projektu Potrzeby kadrowe projektu kończą się na zespole. Za niektóre elementy odpowiedzialny jest Pan Lucjan Pudłokarton, przedstawiciel www.bardzofajnyportal.pl. W fazie testów będą uczestniczyć przedstawiciele środowisk grających i sędziowskich, zaproszeni przez Pana Pudłokartona. 4.2.6 Budżet Projekt powinien kosztować około 130 tysięcy złotych. Koszty te ponosi udziałowiec. 9