I2 -Iteraatiosuunnitelma CoSCA-simulaattorin jatkokehitysprojekti TeamDC
Sisällysluettelo 1 Johdanto 2 1.1 Tavoitteet 3 1.2 Tuotokset 4 1.3 Tehtävät ja työmääräarviot 6 1.4 Vaiheistus ja aikataulutus 8 1.5 I2 palaverikäytännöistä 10 2 I1-iteraation toteuma 12 1
Muutoshistoria Versio Pvm Tekijä Kuvaus 0.1 12.12.2005 Elina Kontro Ensimmäinen versio 0.2 16.12.2005 Elina Kontro Alustava työmääräarvio lisätty kohtaan 1.3, joululoman I2 työt merkitty 0.3 19.12.2005 Elina Kontro Päivitty management-tiimin kommenttien pohjalta 0.4 9.1.2006 Elina Kontro Päivitetty työmääräarviota, syklien toteustaskit, I1-kooste 0.5 17.1.2006 Elina Kontro 0.51 17.1.200 Elina Kontro Lisätty UC:t, niiden työmäärät, tehty mäppäys toteutustaskien ja U:den välillä. Päivitetty työmäärä arviot, muita pieniä korjauksia Pieniä korjauksia kommenttien perusteella, lisätty palaverikäytännöistä 1
1 Johdanto Projektin keskeisenä tavoitteena on tuottaa käytettävyydeltään helposti opittava ja miellyttävä graafinen käyttöliittymä olemassa olevaan CoSCA (Coordination of Supply Chain Activities) - simulaattoriin. Tämän dokumentin tarkoitus on kuvata CoSCA simulaattorin jatkokehitysprojektin Toteutusiteraatio 2. eli I2 iteraation keskeiset tavoitteet ja tehtävät. Tässä dokumentissa kuvatut asiat vastaavat pääosin projektisuunnitelman lukua 6.3 Toteutusiteraatio 2 (I2) ja tiedot tullaan jatkossa päivittämään projektisuunnitelmaan. 2
1.1 Tavoitteet Toteutusiteraatio 2:n tavoitteena on sopia asiakkaan kanssa iteraatiossa toteutettavat vaatimukset kehittää tuotteesta opetuskäyttöön soveltuva ohjelmaversio, joka toteuttaa sovitut vaatimukset kehittää ohjelmaversiota niin, ettei iteraation lopussa ole yhtään sellaista avointa virhettä, joka estäisi vaatimusten mukaisen käytön toteuttaa iteraation työt siten, että projektiin käytetyt työtunnit eivät ylitä yli 8 % kurssin asettamasta työmäärästä sopia asiakkaan kanssa Teknisen määrittelydokumentin sisällöstä ja tuottaa sen mukainen dokumentti tuottaa ohjelmalle englannin kielinen Käyttöohje. 3
1.2 Tuotokset I2-iteraatiossa tuotoksina tuotetaan seuraavat asiat: toimiva ohjelmaversio vaadituilla ominaisuuksilla (taulukko 1) sekä dokumentit ja muut tuotokset, jotka vastuineen on lueteltu taulukossa 2. Dokumenttien katselmointipäivämäärät ja katselmoijat päivitetään projektisuunnitelmaan kohtaan 5.1.3 Dokumentointi. 7.12 pidetyssä asiakaspalaverissa sovittiin alustavasti seuraavien kokonaisuuksien toteuttamisesta I2 iteraatiossa: puunäkymän kehittäminen (konfiguroitavuus) tulosten tarkastelunäkymän kehittäminen (graafinen tulosten tarkastelu) tulosten ja konfiguraation tallennustoiminnallisuus. Tarkempi I2-suunnittelu tehtiin tammikuussa viikolla 2 ja toteutettavista vaatimuksista sovittiin asiakkaan kanssa 11.1 pidetyssä palaverissa. Iteraatioon valitut vaatimukset on lisäksi jaettu kahteen prioriteettiluokkaan. Prioriteetilla ehdoton, on merkitty ne vaatimukset, joiden toteuttamatta jättäminen estäisi järjestelmän toimimisen. Prioriteetillä tärkeä olevat käyttötapaukset ovat tärkeitä, mutta niiden mahdollinen keskeneräisyys ei estäisi kokonaan simulaattorin käyttöä. Taulukko 1. I1 iteraatiossa totetutettavat käyttötapaukset ID Nimi Prioriteetti Työmääräarvio UC1 Systeemin määrittäminen UC1.2 Systeemin luominen Ehdoton 8 UC1.3 Systeemin muokkaaminen Ehdoton 8 UC1.4 Systeemin osien ominaisuuksien määrittäminen Ehdoton 6 UC1.41 Flow Shopin ominaisuuksien määrittäminen Ehdoton 5 UC1.42 Job Shopin ominaisuuksien määrittäminen Ehdoton 5 UC1.43 Resurssin ominaisuuksien määrittäminen Ehdoton 4 UC1.5 Simulaation tallentaminen järjestelmään Ehdoton 4 UC2 Työvirran määrittäminen UC2.2 Työvirran määrittäminen manuaalisesti Ehdoton 13 UC2.3 Kuormitusasteen määrittäminen Ehdoton 13 UC3 Kustannusrakenteen määrittäminen UC3.2 Kustannusrakenteen määrittäminen manuaalisesti Ehdoton 13,5 UC5 Käytettävien päätössääntöjen valinta UC5.2 Käytettävien päätössääntöjen asettaminen useille Tärkeä 2,5 alisysteemeille samoiksi. UC6 Tulosten tarkastelu UC6.3 Tulosten visualisointi valittujen muuttujien suhteen Tärkeä 16 UC6.4 Simulaation tulosten visualisointi valituilla ajanhetkillä Tärkeä 8 UC6.6 Tulosten tallennus Ehdoton 14 4
ID Nimi Prioriteetti Työmääräarvio UC6.7 Aiemmin tallennettujen tulosten katselu Tärkeä 20 UC6.9 Tulosten vertailu referenssisääntöjen tuloksiin Tärkeä 42 UC8 Simulaattorin asentaminen Ehdoton 1 Taulukko 2. I1 iteraatiossa tuotettava dokumentaatio ja niiden vastuuhenkilöt Tuotos Projektisuunnitelma, päivitetty Vastuuhenkilö Elina Kontro Laadunvarmistussuunnitelma Santeri Saarinen Testausdokumentit Santeri Saarinen Testitapaukset Testausraportti Testauslogi Vertaistestausohje Vertaistestausraportti Aleksi Airola Vaatimusmäärittelydokumentti, päivitetty Laura Lehtola Tekninen määrittely Vesa Haukkavaara SEPA-päiväkirja: Coding Camp Kari Ylihärsilä, Samuel Korpi SEPA-päiväkirja: Staattiset menetelmät Santeri Saarinen SEPA-päiväkirja: Käytettävyyden arviointi Aleksi Airola, Vesa Haukkavaara, Elina Kontro I1-iteraation tilanneraportti Elina Kontro Käyttöohje Laura Lehtola, Aleksi Airola Loppuraportti Elina Kontro 5
1.3 Tehtävät ja työmääräarviot Taulukossa 3 on henkilöittäin aikaisemmissa iteraatioissa PP, I1 ja SUM kentissä toteutuneet työmäärät. Erotuskentässä on työmäärät, jotka I2 -iteraatioon on käytettävissä, jotta pysytään kurssin asettamissa työmäärissä. I2- sarakkeessa on vihreällä iteraation alussa tehdyn suunnitelman mukaiset työmääräarviot ja Ylitys % sarakkeessa on laskettu paljonko suunnitellut työmääräarviot prosentteina ylittävät kurssin asettaman työmääräarvion. Taulukko 3. Työmäärät ja työmääräarviot henkilöittäin PP I1 SUM Jäljellä I2 Yhteensä Ylitys % Elina 82,5 73 155,5 34,5 43 198,5 4,47 Laura 76 55 131 19 28 159 6,00 Kari 72 69,5 141,5 48,5 50 191,5 0,79 Santeri 28 79,5 107,5 82,5 83 190,5 0,26 Samuel 19 67,5 86,5 103,5 104 190,5 0,26 Aleksi 25,5 73,5 99 91 91 190 0,00 Vesa 13,5 106 119,5 70,5 79 198,5 4,47 Yhteensä 316,5 524 840,5 449,5 478 1318,5 2,21 Taulukossa 4 on esitetty I2-iteraation tehtävät ja niiden työmääräarviot henkilöittäin. Taulukkoon sinisellä merkityt tehtävät on sovittu sellaisiksi, joita kukin voi aloittaa tekemään jo joululomalla, näin halutessaan. Käytännössä nämä tehtävät ovat: I2-suunnittelua, I2-töihin liittyvien osa-aluiden opiskelua ja toteutustyötä tehdään vain puu-näkymän osalta (Samuel). Muut mahdolliset joululoman työt liittyvät I1 töihin. Kaikki joululoman työt raportoidaan I2-iteraation tuntiraportointisivulla viikolle 1. Taulukko 4. I2-iteraation tehtävät sekä niihin allokoidut työmäärät henkilöittäin SUM Elina Laura Kari Santeri Samuel Aleksi Vesa 478,0 43,0 28,0 50,0 83,0 104,0 91,0 79,0 Projektinhallinta 106,0 32,0 14,0 9,0 9,0 9,0 9,0 24,0 Projektinhallinnointi 30,0 10,0 3,0 3,0 3,0 3,0 3,0 5,0 Projektin status raportointi (+ loppuraportti) 16,0 8,0 1,0 1,0 1,0 1,0 1,0 3,0 Välidemo ja Iteraatiodemo 14,0 2,0 2,0 2,0 2,0 2,0 2,0 2,0 Projektisuunnittelu 15,0 9,0 1,0 0,0 0,0 0,0 0,0 5,0 Projektisuunnittelua 11,0 6,0 1,0 4,0 Projektisuunnitelman kirjoittaminen 4,0 3,0 1,0 Informointi ja kommunkointi 61,0 13,0 10,0 6,0 6,0 6,0 6,0 14,0 Viikkopalaverit 31,0 5,0 5,0 4,0 4,0 4,0 4,0 5,0 Asiakaspalaverit 6,0 2,0 2,0 2,0 Mentorpalaverit 7,0 1,0 1,0 1,0 1,0 1,0 1,0 1,0 Muut mahdolliset palaverit 0,0 Asiakaskommunikointi 1,0 1,0 Mentorkommunikointi 1,0 1,0 Projektiryhmän kommunikointi 8,0 2,0 1,0 1,0 1,0 1,0 1,0 1,0 Työnohjaus 7,0 2,0 5,0 6
SUM Elina Laura Kari Santeri Samuel Aleksi Vesa Ohjelmistonsuunnittelu 41,0 2,0 6,0 0,0 0,0 10,0 2,0 21,0 Vaatimustenselvittäminen 1,0 1,0 Vaatimusmäärittelydokumentti 3,0 3,0 Käyttöliittymän suunnittelu 8,0 2,0 2,0 2,0 2,0 Puutoteutuksen suunnittelu ja protoilu 10,0 10,0 Arkkitehtuurisuunnittelu 19,0 19,0 Arkkitehtuuri 14,0 14,0 Teknisenmäärittelydokumentin kirjoitus 5,0 5,0 Laadunvarmistus 59,0 3,0 3,0 4,0 25,0 8,0 13,0 3,0 Laatusuunnitelma 3,0 1,0 2,0 Laatusuunniteman dokumentointi 4,0 1,0 3,0 Testassuunnitelma 7,0 7,0 Testauksen suorittaminen 24,0 2,0 3,0 10,0 3,0 4,0 2,0 Heuristinen arvio 4,0 4,0 Dokumenttikatselmoinnit 7,0 1,0 1,0 1,0 1,0 1,0 1,0 1,0 Vertaistestaussuunnittelu 2,0 2,0 Vertaistestaus 8,0 4,0 4,0 Työkalujen käyttöönotto ja ohjeistus 9,0 1,0 3,0 0,0 0,0 1,0 4,0 0,0 Projektihallinnan työkalut 1,0 1,0 Ohjeistus 0,0 Käyttöohje 7,0 3,0 4,0 Asennusohje 1,0 1,0 Ohjelmointi 227,0 0,0 0,0 32,0 42,0 67,0 57,0 29,0 Käyttöliittymätoteutus 88,0 0,0 0,0 0,0 10,0 15,0 55,0 8,0 Wizard viimeistely (define own) 8,0 5,0 3,0 Tulosikkuna (numeerinen esitys) 10,0 10,0 Tulosikkuna (kooste) 5,0 5,0 Tulosikkuna (Graafi) 15,0 15,0 Systeeminäkymä 5,0 5,0 Puunäkymä 10,0 10,0 Muu käyttöliittymätoteutus 15,0 15,0 Refaktorointi 10,0 10,0 Vertailutoiminnallisuuden toteuttaminen GUI:hin 10,0 10,0 Simulaation Luonti 30,0 0,0 0,0 30,0 0,0 0,0 0,0 0,0 ObjectFacadejen generointi Simulation-olion perusteella 10,0 10,0 Simulaation tallennus ja lataus 20,0 20,0 Simulaattorin komponenttien hallinta 49,0 0,0 0,0 0,0 0,0 49,0 0,0 0,0 Työvirran hallinnointi puun kautta 14,0 14,0 Kustannusrakenteen hallinnointi puun kautta 10,0 10,0 Resurssien hallinnointi puun kautta 15,0 15,0 ObjectFacadejen refaktorointi 10,0 10,0 Tulosten vertailu 30,0 0,0 0,0 0,0 30,0 0,0 0,0 0,0 Rinnakkaisajojen hallinta (vertailuajot) 10,0 10,0 Simulaatioajojen kloonaaminen 20,0 20,0 Reaalimaailman vastaavuuden parantaminen 10,0 0,0 0,0 0,0 0,0 0,0 0,0 10,0 Reaalimaailman vastaavuuden parantaminen 10,0 10,0 Integrointi 10,0 0,0 0,0 0,0 0,0 0,0 0,0 10,0 Integrointi 10,0 10,0 Koodin kommentointi 10,0 0,0 0,0 2,0 2,0 3,0 2,0 1,0 Koodin kommentointi 10,0 2,0 2,0 3,0 2,0 1,0 7
SUM Elina Laura Kari Santeri Samuel Aleksi Vesa Opiskelu 9,0 1,0 1,0 1,0 1,0 2,0 2,0 1,0 Aihealueeseen perehtyminen 7,0 1,0 1,0 1,0 1,0 1,0 1,0 1,0 Teknologiaan perehtyminen 2,0 1,0 1,0 Muu dokumenointi 27,0 4,0 1,0 4,0 6,0 7,0 4,0 1,0 Dokumenttien kirjoitus 8,0 2,0 1,0 1,0 1,0 1,0 1,0 1,0 SEPA päiväkirjat 19,0 2,0 3,0 5,0 6,0 3,0 1.4 Vaiheistus ja aikataulutus I2-iteraatio jakaantuu neljään sykliin: suunnittelu-, kahteen toteutus- ja viimeistelysykliin. Suunnittelusyklissä pääpaino on iteraatio-, käyttöliittymä- ja testaussuunnittelussa. Varsinainen toteutusvaihe jakaantuu kahteen sykliin; molemmat syklit sisältävät toteutusta ja testausta. Ohjelmointiin liittyvien tehtävien jakaantuminen syklien välillä on kuvattu taulukossa 6. Viimeistelyvaihe sisältää ohjelmavirheiden korjaukset, dokumentaation viimeistely ja katselmointi sekä iteraatiodemon valmistelut. Työn edistymistä seurataan viikoittain, mutta välietapissa tehdään tarkempi tilannekartoitus ensimmäisen toteutussyklin tehtävien osalta ja tällöin tarkistetaan mm. riskitilanne. Syklit, niiden aikataulutus ja iteraation keskeiset tapahtumat on esitetty kuvassa 1. I2 2006 2 3 4 5 6 7 8 9 Suunnittelu Toteutus Toteutus Viimeistely 18.1 3.2 17.2 3.3 Suunnittelusykli Toteutussykli Viimeistelysykli Iteraatiodemo Välietappi Kuva 1. I2 Iteraation vaiheistus ja etapit 8
Taulukkoon 5 on tarkennettu iteraation aikataulutusta viikkotasolla, päivämäärät on ilmoitettu mikäli ne ovat tässä vaiheessa tiedossa. Päivämäärät saattavat muuttua ja niitä päivitetään tarvittaessa. Taulukko 5. I-iteraation aikataulutus viikkotasolla I2 iteraatio 9.1. - 3.2.2006 Vko 2 Suunnittelu 9.1. Iteraatio 2 suunnittelupalaveri, manager tiimi Laatusuunnitelman parantaminen ja I2 testausuunnitelman tekeminen I2-suunnitelman tekeminen Käyttöliittymäsuunnittelua 11.1. Asiakaspalaveri I2 vaatimuksista 11.1. Projektiryhmän I2- töiden käynnistyspalaveri Vko 3 1. Toteussykli Toteutus alkaa I2-iteraatio suunnitelman ja Laatusuunnitelman (I2 18.1. testausuunnitelma) lähetys asiakkalle ja ohjaajalle 18.1. Coding Camp Vko 4 Toteutusta ja testausta 25.1. Coding Camp Vko 5 Toteutusta ja testausta 1.2 Coding Camp - Välidemon toiminnallisuuden viimeistely ja testaus 1.2 Välietappikatselmus 1.-3.2. Tilannekatsausdemo asiakkaalle ja ohjaajalle Vko 6 2. Toteusykli alkaa Kevyt käytettävyystesti (HKKKn opiskelijat), ohjeen toimittaminen 6.2 asiakkaalle Toteutus jatkuu 8.2 Coding Camp Vko 7 13.2 2. Välietappikatselmus (vertaistestaustoimitus jne) 15.2 Coding Camp Sovelluksen viimeistely vertaistestusta varten 15.2 Systeemitestausalkaa (Coding campin jälkeen) 16.2 Heuristinen arvio Takaraja valmiin sovelluksen ja testausohjeiden toimittamiseksi 17.2. vertaisryhmälle 17.2. Vertaisryhmän tuotteen testaaminen alkaa Vko 8 Viimeistely 20.2. Vertaisryhmän tuotteen testaaminen päättyy 20.2-22.2 Asiakkaan hyväksyntätesti 21.2. Palaute vertaisryhmän järjestelmästä 22.2 Coding Camp sovelluksen viimesitely, virheiden korjausta 9
I2 iteraatio 9.1. - 3.2.2006 22.- 24.2 Dokumentti katselmuksia 24.2 Loppukatselmus ja Itreaationdemon suunnittelu vko 9 27.2. Dokumenttien sovelluksen palautus 1.-2.3 I2 Iteraatio demo Toteutustöiden jakaantuminen toteutussyklien välillä sekä yhteystoteuttaviin vaatimuksiin on esitetty taulukossa 6. Vaatimukset on tarkemmin kuvattu tarkemmin vaatimusmäärittelydokumentissa. Taulukko 6. Toteutustehtävien jakaantuminen sykleihin. 1.5 I2 palaverikäytännöistä Tässä kappaleessa kuvataan lyhyesti palaverikäytännöt, joita on muokattu I2-iteraatioon. I2 iteraatiossa tullaan noudattamaan I1-iteraatiossa hyväksi havaittua Coding Camp käytäntöä. Coding Campit pidetään keskiviikkoisin 11-14 Tietotekniikka talon ohjelmatyöluokassa. Pääasiassa tilaisuus on tarkoitettu pääarkkitehdille ja suunnittelijoille. Pääarkkitehti osallistuu vähintään Coding Campin alkuun, jossa pidetään lyhyt palaveriosuus. Palaveri osuuden agenda on seuraava: 1. Yleiset asiat ja ohjeistukset (Vesa) 2. Työn edistyminen (suunnittelijat) - Mitä tein edellisen Coding Campin jälkeen? - Olenko kohdannut ongelmia? - Mitä teen seuraavaan Coding Campiin mennessä? 3. Muut ajankohtaiset ajatukset (kaikki) Agenda on sovellettu Scrum prosessista (kts esim. http://www.controlchaos.com/about/ ). I2 iteraatiossa palautetaan myös viikoittaiset management-tiimin palaverit, jotka pidetään keskiviikkoisin klo 12:30 13:00. Palavereissa seurataan töiden edistymistä, joista pääarkkitehti saa suunnittelijoiden osalta viimeisimmän tilannetiedon management-palaveria osin edeltävän Coding Campin alussa. Lisäksi palaverissa sovitaan tarvittavista toimenpiteistä. Muilta osin palaverikäytännöt jatkuvat aikaisemman käytännön mukaisesti, kuten kuvattu projektisuunnitelmassa. 10
11
2 I1-iteraation toteuma Seuraavissa taulukoissa on kooste I1 iteraation toteutuneista tunneista. Taulukko 7. I1-iteraation työmääräarvio, toteuma henkilöittäin Arvio I1 Toteuma Erotus Elina 86,5 73 13,5 Laura 54,5 55-0,5 Kari 83 69,5 13,5 Santeri 88 79,5 8,5 Samuel 79,5 67,5 12 Aleksi 92 73,5 18,5 Vesa 116 106 10 Yhteensä 599,5 524 75,5 Taulukko 8. Kooste I1-iteraation työmääräarvioista ja toteumista tehtävittäin SUM CUM DIFF 599,5 524,0 75,5 Projektinhallinta 145,5 139,0 6,5 Projektinhallinnointi 16,0 11,5 4,5 Projektisuunnittelu 25,0 20,5 4,5 Informointi ja kommunkointi 104,5 107,0-2,5 Ohjelmistonsuunnittelu 137,0 128,0 9,0 Vaatimustenselvittäminen 3,5 2,0 1,5 Vaatimusmäärittelydokumentti 9,0 9,0 0,0 Käyttöliittymä proto 18,0 18,0 0,0 Käyttöliittymän suunnittelu 18,0 20,5-2,5 Arkkitehtuurisuunnittelu 75,5 66,5 9,0 Teknisenmäärittelydokumentin kirjoitus 13,0 12,0 1,0 Laadunvarmistus 88,5 61,5 27,0 Laatusuunnitelma 9,0 9,0 0,0 Laatusuunniteman dokumentointi 8,0 9,0-1,0 Testassuunnitelma 10,5 10,0 0,5 Testauksen suorittaminen 31,0 20,0 11,0 Käytettävyystestit 17,0 6,5 10,5 Heuristinen arvointi 6,0 2,0 4,0 Dokumenttikatselmoinnit 7,0 5,0 2,0 Työkalujen käyttöönotto ja ohjeistus 7,0 7,5-0,5 Ohjelmointi 130,0 115,5 14,5 Käyttöliittymä:Konfigurointi-Wizard 15,0 12,0 3,0 Käyttöliittymä:Tulos- ja systeemiikkuna 10,0 10,0 0,0 Muu Käyttöliittymätoteutus 15,0 19,0-4,0 Simulaation Luonti 7,0 9,0-2,0 Simulaattorin hallinta : Perustoiminnallisuus 10,0 10,0 0,0 12
SUM CUM DIFF Simulaattorin hallinta : Askeltaminen 10,0 11,0-1,0 Simulaatio-objekti rajapinnan toteutus 12,0 7,0 5,0 Job Factory -rajapinnan toteutus 8,0 4,5 3,5 Resurssinen hallinta rajapinnan toteutus 14,0 9,0 5,0 Simulaation raportointi 15,0 15,0 0,0 Integrointi 6,0 4,0 2,0 Koodin kommentointi 8,0 5,0 3,0 Opiskelu 60,5 42,0 18,5 Aihealueeseen perehtyminen 6,0 2,5 3,5 Simulaattoriin perehtyminen 22,0 19,5 2,5 Työkaluihin perehtyminen 10,5 11,0-0,5 Teknologia 15,5 6,0 9,5 Ohjeistukseen perehtyminen 6,5 3,0 3,5 Muu dokumenointi 31,0 30,5 0,5 Dokumenttien kirjoitus 8,0 6,0 2,0 SEPA päiväkirjat 23,0 24,5-1,5 13