260 likes | 372 Views
T-76.115 Projektikatselmus. fifty-sixty Projektisuunnitteluvaihe 2.11.2004. Projektin tilanne (15 min) Suunnitteluvaiheen tavoitteiden saavuttaminen Palautettavien dokumenttien tila Toteutuneet tehtävät Työtunnit henkilöittäin Muut mittarit Muutokset projektiin Riskit
E N D
T-76.115 Projektikatselmus fifty-sixty Projektisuunnitteluvaihe2.11.2004
Projektin tilanne (15min) Suunnitteluvaiheen tavoitteiden saavuttaminen Palautettavien dokumenttien tila Toteutuneet tehtävät Työtunnit henkilöittäin Muut mittarit Muutokset projektiin Riskit Suunnitteluvaiheen tulokset (20 min) Projektisuunnitelma Vaatimusmäärittely Käyttöliittymähahmotelmat Käytetyt työmenetelmät (5 min) Kysymyksiä (5 min) Agenda
Projektin esittely • Prediction League -projekti on osa Helsinki Institute for Information Technologyn (HIIT) Mobile Content Communities (MC2) tutkimusprojektia, jossa tutkitaan mobiilipelejä ja niihin liittyviä ilmiöitä. • Ideana on yhdistää veikkaaminen, siihen liittyvä sosiaalinen kanssakäynti ja mobiliteetti. • Tavoitteena on rakentaa veikkausliigajärjestelmä, jonka avulla yhteisöt voivat pystyttää omia veikkausliigojaan haluamistaan kohteista ja seurata niiden etenemistä www-selaimen avulla ja soveltuvin osin myös mobiilisti. Internet
Suunnitteluvaiheen tavoitteiden saavuttaminen • Tutustuminen ryhmän jäseniin • OK. Ryhmä on tavannut useita kertoja. • Tutustuminen asiakkaaseen ja sujuvan kommunikoinnin rakentaminen • OK. Asiakkaan kanssa tavattu kuusi kertaa ja kommunikointi on sujunut hyvin. • Aihealueen hahmottaminen • OK. Käsitteiden määrittelyn ja skenaarioiden myötä aihealueesta on muodostunut hyvä kokonaiskuva. • Vastuualueiden jakaminen ryhmän sisällä • OK. Päävastuualueet jaettu ja yksityiskohtaisemmatkin niiltä osin kuin mahdollista. • Projektisuunnitelman laatiminen • OK. • Vaatimusmäärittelyn laatiminen • OK. Käyttötapaukset kuvattu yleisellä tasolla. • Teknologia-alustan määrittely • OK. Linux, Apache+PHP, MySQL, HTML, J2ME/MIDP 2.0, SNAP • Asiakas toimittaa palvelimen I iteraation alussa, siihen saakka käytössä varapalvelin. • Käytettävien työkalujen määrittely • OK. Kaikki työkalut asennettu. • Riskilokin hahmottelu • OK. Oleellisimmat riskit kirjattu lokiin.
Palautettavien dokumenttien tila • Iteraatiosuunnitelma • OK. Palautettu 12.10.2004 • Projektisuunnitelma • OK. Lukuja 6.1, 6.2, 6.4 ja 6.5 (vaiheittainen suunnittelu) päivitetään projektin edetessä. • Luvussa 4.1 olevaa taulukkoa 5 (Kulutetut työtunnit) päivitetään vaiheittain. • Riskilokia päivitetään riskejä kohdattaessa. • Vaatimusmäärittely • OK. Tärkeimmät vaatimukset esitelty. Käyttötapaukset kuvattu yleisellä tasolla, tarkennetaan jatkossa. • Lukua 10 (Ratkaisuideat) päivitetään, kun ideoita tulee. • SEPA päiväkirjat • OK. Kaikista aiheista tehty luku 1 • Tapaamiskäytännöistä myös luku 2 • Hallinnolliset dokumentit • Agendat ja muistiot tapaamisista löytyvät projektiryhmän kotisivulta
Toteutuneet tehtävät • Trapolin käytössä vielä opettelemista • Tehtävien sopiva erittely Trapoliin yllättävän hankalaa. • Kaikki eivät merkanneet tehtäviään riittävän selvästi. Samana päivänä tehdyt eri työt merkattiin helposti yhden otsikon alle. • Järjestelmän automaattisesti luomat tehtävät jäivät helposti unohduksiin ja työ merkattiin jonkin toisen otsikon alle. • Työmäärän arvioinnissa kokemuksen puutetta • Asiakastapaamisia järjestettiin suunniteltua useammin • Vaatimusten määrittely, kokonaisuuden hahmottaminen ja käsitteiden määritteleminen vaati paljon yhteistyötä asiakkaan kanssa. • Ryhmän sisäisiä tapaamisia oli suunniteltua vähemmän • Asiakas oli hyvin aktiivisesti mukana suunnittelussa • Kaikki eivät käyneet luennoilla • Suunnittelematonta työtä • Projektiryhmän kotisivujen tekeminen ja ylläpito
Työtunnit henkilöittäin Suunnitelma PS-vaiheen alussa PS-vaiheen toteutuneet tunnit • Luentojen jättäminen väliin vähensi suurimman osan tunteja PS-vaiheessa. • PS-vaiheeseen arvioituja käyttämättömiä tunteja voidaan hyödyntää I1-vaiheessa. • Osalla tunteja vielä merkkaamatta -> Suunnitelma päivitettävä. • Iteraatio 1 –vaiheeseen panostetaan eniten, koska se on todennäköisesti työläin vaihe. • Asiakas toimittaa mm. testikännykän ja palvelimen I1-vaiheen alussa. Viimeisin suunnitelma
Laatumittarit • Ohjelmakoodia ei ole vielä kirjoitettu yhtään Bugimittarit
Laadun arviointi • Ohjelmakoodia ei ole vielä kirjoitettu yhtään Selitykset Kattavuus: 0 = ei mitään 1 = katsottu pikaisesti 2 = kaikki toiminnot tarkastettu 3 = testattu Laatu: J = hyvä K = ei varmuutta L = huono
Ohjelmakoodin pituus (LOC) • Ohjelmakoodia ei ole vielä kirjoitettu yhtään
Muutokset projektiin • Skaalautuvuus otettava huomioon • Käyttäjiä voi olla jopa 100 000, jos järjestelmä pyörii esim. Veikkauksen palvelimella. • Mobiilikäyttöliittymän kehitysympäristö vaihdettiin Sun One Studiosta Eclipseen sen tarjoamien parempien työkalujen vuoksi. • Veikkausjärjestelmä rakennetaan asiakkaan (HIIT) hankkimalle palvelimelle. • MIDP 2.0 päätettiin ottaa käyttöön MIDP 1.0 sijaan laajemmman toiminnallisuutensa vuoksi. • Projektipäällikön roolia ei vaihdeta kesken projektin.
Riskit • Riskilokiin on kerätty tähän mennessä 23 eri riskitekijää. Riskit on jaettu kuuteen eri ryhmään: • Teknologiasta riippuvat riskit (4 kpl) • Projektiryhmästä riippuvat riskit (6 kpl) • Projektista riippuvat riskit (3 kpl) • Asiakkaasta riippuvat riskit (5 kpl) • Järjestelmästä riippuvat riskit (3 kpl) • Kurssista riippuvat riskit (2 kpl) • Ajankohtaisia riskejä mm.: • Projektiryhmän jäsenistä yksi tai useampi sairastuu • Suunniteltu järjestelmä kasvaa liian suureksi • Projektiryhmällä ei ole selvää kokonaiskuvaa toteutettavasta järjestelmästä • Riskit kuitenkin halllinnassa • Account Manager selvillä projektipäällikön hoitamista asioista • Vaatimukset priorisoituja • Kokonaiskuvaa hahmoteltu mm. skenaarioiden avulla
Suunnitteluvaiheen tulokset • Palautettavat dokumentit • Projektisuunnitelma • Vaatimusmäärittely • SEPA-päiväkirjat (osittain) • Edistymisraportti • Muut dokumentit • Käyttöliittymähahmotelmat • Palaverien agendat ja muistiot
Projektisuunnitelma • Organisaatiokaavio
Projektisuunnitelma • Tärkeimmät asiakkaan tavoitteet • Järjestelmän helppokäyttöisyys (tarkistus: heuristiset käyttäjätestit) • Käsitteiden kansantajuinen määrittely (tarkistus: koekäyttäjät) • Mobiilikäytön tuki (tarkistus: mobiilikäyttöliittymä toteutettu) • Yhteensopivuus erilaisiin veikkauksiin (tarkistus: templatet toteutettu) • Laajennettavuus (tarkistus: veikkausmallien lisäys ja lokalisointi) • Tärkeimmät ryhmän tavoitteet • Kurssin läpäiseminen hyvällä arvosanalla (tarkistus: arvosana) • Ohjelmistoprojektin tuntemus (tarkistus: kurssin suoritus ja läpäisy) • Asiakkaan tyytyväisyys (tarkistus: asiakkaalta saatu palaute) • Laadukas ohjelmisto (tarkistus: ei kriittisiä bugeja) • Menetelmät ja työkalut • Iteraatioissa kolme vaihetta (suunnittelu, toteutus, viimeistely) • Virheiden seurantaan Bugzilla • Versionhallintaan CVS • Ohjelmointimenetelminä Java, PHP, HTML • Tapaamiskäytännöt projektipäällikön vastuulla • SEPA-aiheet: • Tapaamiskäytännöt • Käytettävyystestit • Lähdekoodin parantaminen (refactoring) • Staattiset analysointimetodit • Iteraatiot • PS: demoliigan pystytys, kännykkään pikaproto, käyttöliittymähahmotelmia • I1: veikkausjärjestelmän perusversio, ei pohjia vielä, kännykkään perusversio • I2: valmiit pohjat mukaan, käyttäjätestaus, kännykkään lisää toiminnallisuutta • LU: historiat ja muistot mukaan, RSS-feed, kuvataulu, ilmoitustaulu
Vaatimusmäärittely • Skenaariot • Pera, lätkäfani, joka seuraa Ilveksen otteluita ja veikkaa pääasiallisesti lätkää kaverinsa kanssa Veikkauksen palvelussa • Joge, työpaikan aktiivihenkilö, joka järjestää työporukalle veikkauksia mm. Popstars-putoajista ja firman jousiammuntakisoista. • Pave, Jogen työkaveri, osallistuu muiden mukana Jogen laatimiin veikkauksiin. • Jenni, jalkapalloilija, ylläpitää seuran webbisivuja ja laittaa oman veikkausliigapalvelimen pystyyn. Joukkuetoverit ja myös muut osallistuvat Jennin pystyttämiin jalkapalloveikkauksiin mm. joukkueensa turnauksista ja 4. divarin otteluista. • Kalle, kaveripiirissä satunnaisesti veikkaava henkilö, jolla veikkaaminen sen enmpää kuin urheilukaan ei ole intohimo. • Oleelliset käsitteet • Pääkäyttäjä, tarkkailija, liigamanageri, pelaaja, vierailija, pääliiga, miniliiga, näkymä, pelaajaryhmä, pelaajaprofiili • Vaatimukset • Neljä pääryhmää: Liigan hallintavaatimukset, liigavaatimukset, veikkausvaatimukset, mobiilivaatimukset
Käyttöliittymähahmotelmat • Miniliigan luominen • Näkymän luominen
Uuden miniliigan luominen OK Peruuta Valitse veikkausmalli: Veikkauspohja: Veikkaustyyppi:
Uuden miniliigan luominen • Kohde aukeaa: • Kohde sulkeutuu: klo xx.xx.xxxx xx:xx klo xx.xx.xxxx xx:xx Lisää veikkauskohde: • Poimi veikkauskohde pääliigasta >> • Syötä oma veikkauskohde: Miniliigan veikkauskohteet: vs. • Kerroin: Lisää veikkauskohde miniliigaan >> Valittu veikkausmalli: 1X2 (jatkuva) Valmis Peruuta
Uuden miniliigan luominen Valmis Peruuta Lisää osallistujat: • Hae pelaaja tietojen perusteella >> • Syötä käyttäjätunnus: Pelaajaryhmät: Lisää osallistuja miniliigaan >> Lisätyt osallistujat: Tallenna osallistujat pelaajaryhmänä:
Uuden miniliigan luominen Lähetä aktivointiviesti osallistujille: • Viesti: Pelaajaryhmät: Muut osallistujat: Lähetä Ohita Peruuta
Uuden näkymän luominen Valitse kohteet näkymään: Pääliigan veikkauskohteet: Jääkiekon SM-liiga Englannin valioliiga UEFA-cup Jääkiekon MM-kisat Jalkapallon SM-liiga Jalkapallon EM-kisat Salibandyn MM-kisat OK Peruuta
Uuden näkymän luominen Valmis Peruuta Lisää pelaajia näkymään: • Hae pelaaja tietojen perusteella >> • Syötä käyttäjätunnus: Pelaajat: Lisää pelaaja näkymään >>
Käytetyt työmenetelmät Tähän mennessä käytetyt työmenetelmät: • Iteratiivinen kehitys (käynnistyy kunnolla vasta i. iteraatiossa) • Iteraation suunnittelu (projektin alkuvaiheessa suunnittelu hiukan epämääräistä, koska kokonaiskuva ei ollut vielä hahmottunut kunnolla) • Tuntiraportointi (Trapoli, puutteita syötetyissä tiedoissa, parannetava) • Dokumentointi (dokumenttipohjat ryhmän sivuilla netissä) • Vaatimustenhallinta (skenaarioista paljon apua) • Riskienhallinta (riskit kerätty riskilokiin) • Tapaamiskäytäntö ja yhteydenpito (tapaamiskäytännöt SEPA-harjoituksesta, yhteydenpitoon TikiWiki ja sähköposti) Jatkossa käytettäviä työmenetelmiä: • Versionhallinta (CVS tulossa kurssin puolesta) • Virheraportointi (Bugzilla) • Ohjelmointikäytännöt (noudatetaan Java, PHP ja HTML-kielien yleisiä käytäntöjä) • Katselmointi (projektipäällikkö vastaa järjestelyistä)