Pöytäkirja Sovellusprojekti Verso, 2. palaveri Paikka: kokoushuone Ag C226.2 Aika: keskiviikko 17.2.2010 klo 9:18-11:02 Pöytäkirja laadittu: 17.2.2010 Pöytäkirjaa muokattu: 25.2.2010 Läsnä Projektiryhmä Tero Hänninen Juho Nieminen, sihteeri Marko Peltola Heikki Salo, puheenjohtaja Tilaajan edustajat Tapani Tarvainen Ville Tirronen Tero Tuovinen Ohjaajat Jukka-Pekka Santanen Vierailija Paavo Nieminen, paikalla kohdissa 6-11 1 Kokouksen avaus Edellisen palaverin puheenjohtaja Salo avasi kokouksen. 2 Kokousvirkailijoiden valinta Projektiryhmä esitti puheenjohtajaksi ja sihteeriksi samoja henkilöitä kuin viime palaverissa. PÄÄTÖKSET: - Puheenjohtajaksi valittiin Heikki Salo. - Sihteeriksi valittiin Juho Nieminen. 3 Laillisuus ja päätösvaltaisuus Projektiorganisaatio oli paikalla muuten kokonaisuudessaan, mutta tekninen ohjaaja Kaijanaho puuttui. Hän ilmoitti ennen kokousta olevansa flunssassa. PÄÄTÖKSET: - Kokous todettiin lailliseksi ja päätösvaltaiseksi. 4 Esityslistan hyväksyminen Tirronen kertoi, että johonkin kohtaan esityslistaa voi tulla muutos. Paavo Nieminen tulee vierailijaksi kokoukseen, ja hän saattaa nostaa jonkin asian esityslistaan. PÄÄTÖKSET: - Esityslista hyväksyttiin. 5 Edellisen palaverin pöytäkirjan tarkastaminen Santanen huomautti pöytäkirjan kohdasta seitsemän. Siinä hän pöytäkirjan mukaan puhuu organisaatiomuistista: "Se tarkoittaa, että projektin tuloksilla olisi erilaisia tasoja, jotka kuvailisivat dokumentin valmiusastetta." Santanen halusi lisättävän sanat "muun muassa" sanan "tarkoittaa" eteen, jotta kävisi ilmi, että kuvaus ei kata koko organisaatiomuistin käsitettä. Santanen toi esille, että ensimmäisessä palaverissa käytiin keskustelua hänen jakamansa Joose-projektiin liittyvän monisteen Sopimus projektin tulosten hyödyntämiseen pohjalta. Tuolloin keskustelussa kävi ilmi, että Verso-projektissa osapuolet ovat valmiita sijoittamaan lähdekoodin jonkin avoimen lisenssin alle jaetunkaltaisella sopimuksella. Päätöstä lähdekoodin lisensoimisesta ei kuitenkaan tehty, joten Santanen halusi poistaa sitä koskevan päätöksen pöytäkirjasta. Santanen halusi muuttaa pöytäkirjan päätöstä kohdassa 11., jossa puhutaan ASCII-muotoisista dokumenteista. Hänen mukaansa ei päätetty, että kaikki muut kuin projektisuunnitelma ja -raportti olisivat ASCII-muotoisia, vaan että vain lyhyet dokumentit kuten pöytäkirjat olisivat ASCII:na. Tilaajat olivat samaa mieltä. Paavo Nieminen saapui kello 9:33. PÄÄTÖKSET: - Pöytäkirjan kohtaa seitsemän muutettiin yllä mainitulla tavalla. - Joose-projektin monisteeseen liittyvä keskustelu lisättiin pöytäkirjaan. - Päätös avoimen lähdekoodin käytöstä poistettiin. - Muokattiin päätöstä ASCII-muotoisista dokumenteista: vain lyhyet dokumentit ovat ASCII-muotoisia. - Ensimmäisen palaverin pöytäkirja hyväksyttiin yllä olevin muutoksin. 6 Edellisessä palaverissa sovitut tehtävät Projektiryhmä - pyytää VMware-palvelinta käyttöönsä Tietohallintokeskukselta (suoritettu) - tutkii Gitoriousta ja muita samantapaisia sovelluksia (kesken) - perustaa Korppi-ryhmän, johon kuuluu kaikki projektiorganisaatioon kuuluvat henkilöt (suoritettu) - tekee ensimmäisen sovellusprototyypin (kesken) - perehtyy Git-sovellukseen (kesken) - perustaa Git-versioarkiston ja ilmoittaa sen tilaajille (suoritettu) - tekee suunnitelman testaajien hyödyntämisestä (kesken). Tirronen - selvittää ensimmäisen demon käyttötestaajien mielipiteitä ja tuo ne projektiryhmän tietoon (kesken) - antaa testaajien yhteystiedot projektiryhmälle (suoritettu). Santanen - luo Verso-projektille postilistan (suoritettu). Tarvainen esitti, että projektiryhmä laatisi jonkinlaisen taulukon eri versiohallintaohjelmista. Santanen täsmensi, että taulukossa voisi olla eri ominaisuuksia ja merkintä, onko kyseinen ominaisuus sovelluksessa vai ei. Projektiryhmä lupasi paneutua asiaan. Santanen ehdotti, että projektiryhmä voisi käydä haastattelemassa ensimmäistä demoa testanneita. Tuovinen kannatti ehdotusta. 7 Tilakatsaus Projektipäällikkö Salo esitteli projektin tilaa Santaselle ja tilaajille. Hän jakoi heille paperin Projektin tila 2. palaverissa, josta kävi pääasiassa ilmi projektiryhmän jäsenten ajankäyttö ja työtehtävät projektissa. Työtehtävistä puhuttaessa tuli esiin, että projektiryhmä on tutustunut Ruby-kieleen ja tutustuu pian Ruby On Rails -kehitysympäristöön. Tarvaisen ja Tirrosen mukaan Ruby ei pitäisi olla hankala kieli oppia, jos on jotain vastaavaa aiemmin nähnyt (kuten Python). Santanen toi esiin, että Aropupu-projektissa ryhmä oli kartoittanut Ruby On Railsin käyttöä, mutta ei ollut loppujen lopuksi päätynyt siihen. Santasen mukaan heillä saattaisi kuitenkin olla tietoutta aiheesta. Tilaajat olivat kiinnostuneita siitä, kuinka paljon koko projektiin kuluu yksittäiseltä ryhmän jäseneltä työtunteja. Santanen huomautti, että oheiskursseja ei lasketa projektin kokonaistunteihin. Tuovinen kysyi olisiko 400 tuntia oikea määrä projektin lopussa. Salo arvioi, että lukema olisi noin 250 tuntia. Peltolan mielestä Salon arvio on liian alhainen. Tilaajat huomauttivat, että on parempi aliarvioida kuin yliarvioida, koska arvio ylitetään melko varmasti joka tapauksessa. Salo sanoi, että arviota korjataan ajan myötä. Santanen totesi, että projektipäällikkö tulee arvioimaan työtuntien määrää projektisuunnitelmassa. 8 Alustavan vaatimusmäärittelyn esittely Juho Nieminen jakoi kopion alustavasta vaatimusmäärittelystä kaikille palaveriin osallistujille paitsi vieraalle. Oikeuksien hallinta Tarvainen esitti, että vaatimus "creation and access right management of projects through WWW-interface" jaetaan kahtia. Eli saataisiin vaatimus projektin luomisesta www-käyttöliittymän kautta ja vaatimus ulkoiselle käyttöoikeuksienhallinnalle. Tarvaisen mukaan visio olisi käyttää Korppia oikeuksien hallintaan. Hän ehdotti lisäksi, että vaatimuksiin lisättäisiin kohta oikeuksien hallinnasta komentorivin avulla. Tirronen mainitsi, että oikeuksienhallinta olisi saatava sisälle Git-tietokantaan, jotta komentorivikäyttö onnistuisi. Keskustelu jatkui oikeuksien hallinnasta ja autentikoinnista. Tarvainen ehdotti, että selvitetään, onko Korpissa jotain valmista rajapintaa, jota voisi hyödyntää. Tällä tavalla Korppiin ei tarvitsisi tehdä muutoksia. Hän kertoi esimerkkinä, että Korpissa on rajapinta, josta tietty sovellus voi käydä kyselemässä tietynlaisia tietoja selvittääkseen, onko joku tietty henkilö tietyssä ryhmässä. Tirronen huomautti, että SSH-avaimella tapahtuva autentikointi on vähimmäisvaatimus sovellukselle. Tällainen autentikointi on myös yksi selkeä vaatimus, sillä käyttäjän on pystyttävä päivittämään (git-push) omaa tietovarastoansa mistä päin maailmaa tahansa, jolloin SSH- avaimella autentikointi on hyvä ratkaisu. Tarvainen toi esiin, että SSH-avaimen luonti ei ole Windows-käyttäjille selkeä toimenpide. Sitä varten olisi hyvä luoda oma automatisoitu toiminto sovellukseen. Jatkokehitysideat Tuovinen kysyi, laaditaanko sovelluksen jatkokehitysideoille oma dokumentti. Salo vastasi, että sovellusprojektin aikana syntyneet jatkokehitysideat kirjataan sovellusraporttiin. Santanen oli Salon kanssa samaa mieltä, sillä niin on tehty ennenkin. Kaikki projektin aikana esiin tulleet vaatimukset taas kirjataan vaatimusmärittelyyn. Ideat merkitään vaatimusmäärittelyyn ei-toteutetuiksi. Pääkäyttötavat Tirronen toi esille kehitettävän sovelluksen neljä pääkäyttötapaa: 1) luodaan täysin uusi Git-arkisto ja käytetään sovellusta kuten Gitiä 2) kloonataan jo olemassa oleva Git-arkisto sovellukseen ja käytetään sovellusta kuten Gitiä 3) käytetään SVN:ää, ja sovellus peilaa SNV-muutokset sovellukseen 4) käytetään vain www-käyttöliittymää, tai sovellus lukee käyttäjän ylläpitämää zip-arkistoa annetussa URLissa. Tarvainen ehdotti, että zip-tiedoston sijaan käyttäjä voisi antaa vain URL-osoitteen hakemistoon. Lisäksi Tirronen esitti idean, että myös toisessa paikassa sijaitsevaa git-arkistoa voisi peilata sovellukseen. Lähdekoodin sertifiointi Tirronen ja Tuovinen toivat esiin uuden vaatimuksen. Heidän mukaansa olisi toivottavaa, jos sovelluksessa voisi sertifioida lähdekoodia. Luotettavat käyttäjät voisivat antaa lähdekoodille merkinnän, jossa todetaan, että "tämä versio tästä koodista on ok". Tuovinen esitti, että sertifiointitiedoston voisi sijoittaa metatietoihin Git- arkistoon, jolloin siitä näkisi sertifioinnin historian. Tirronen mainitsi, että sertifikaattien allekirjoituksen voisi hoitaa esimerkiksi PGP:llä, sillä se löytyy Gitistä valmiina. Tirronen jatkoi, että on selvitettävä tarkkaan, mitä sertifikaatti oikeasti lupaa. Kaikkea vastuuta ei hänen mukaansa voida vierittää sertifioijalle. Santanen otti kantaa sertifiointiin. Hän ehdotti, että sertifiointi voisi olla osa laajempaa palaute- tai kommentointisysteemiä, missä lähdekoodia voisi arvioida. Vain tietyillä henkilöillä olisi sertifiointioikeus. Muita vaatimuksia Tirronen toi esiin, että näkyvyysalueet pitää ottaa esiin vaatimusmäärittelyssä. Kuten Tarvainen sanoi ensimmäisessä palaverissa, käyttäjän pitäisi pystyä tekemään täysin yksityinen projekti, joka näkyy vain itselle. Muita näkyvyysmäärittelyitä voisivat olla julkinen, joka näkyy kaikille, ja rajattu, joka näkyy määritellyille käyttäjille ja ryhmille. Tilaajilta tiedusteltiin, mitkä vaatimukset olisivat tärkeimpiä. Heidän mukaansa kaikki käyttäjiä houkuttelevat ominaisuudet ovat prioriteetiltaan suuria. PÄÄTÖKSET: - Sovelluksessa yritetään käyttää ulkoista autentikointimenetelmää, jotta olemassa olevia järjestelmiä ei jouduttaisi muuttamaan. - Sovellukseen toteutetaan SSH-avaimilla tapahtuva autentikointi. - Lisätään vaatimuksiin mahdollisuus käyttää sovellusta SVN:n tai annetun URLin päässä olevan ZIP-arkiston avulla. - Lisätään vaatimuksiin lähdekoodin sertifiointi. - Lisätään vaatimuksiin maininta eri näkyvyysalueista sovelluksen sisällä. 9 Sovelluksen arkkitehtuurin hahmotelman esittely Salo esitteli hahmottelemiaan kuvia kehitettävän sovelluksen arkkitehtuurista. Tilaajat ja ohjaajat olivat pääosin tyytyväisiä malleihin. Tirronen esitti kysymyksen, voisiko projektia luoda komentoriviltä. Tarvainen kertoi, että se on mahdollista mutta ei pakollista tässä sovelluksessa. Metatiedot Tirronen toi esiin kysymyksen metatietojen versioinnista. Hän selitti, että voi olla ongelmallista, jos metatiedot ovat vain master-haarassa. Sivuhaaroissa voi olla toiminnaltaan ja metatiedoiltaan täysin erilainen sovellus, jolloin metatietojen lukeminen vain master-haarasta ei ole käytännöllistä. Tirronen kertoi esittämäänsä ongelmaan pari ratkaisuehdotusta. Yksi vaihtoehto olisi tehdä joka haaralle omat sivut, jolloin joka haaralla on myös omat metatiedot. Toinen vaihtoehto on, että vain master-haara näkyy muille, eli vain siitä tehtäisiin projektisivu. Tirronen esitti myös idean, että metatiedot voisivat olla Gitin tageja. Tietokanta Tirronen kysyi, tarvitaanko tietokantaa ollenkaan sovelluksen tekemisessä. Vaihtoehtona olisi luoda www-sivusto suoraan Git- arkistosta. Salo selitti, että perinteisen tietokannan käyttö on projektiryhmälle tutumpi tapa kuin Gitin käyttö tietokantana. Tarvainen arvioi, että Git olisi kyllä tarpeeksi nopea www-sivua varten. Hän myös huomautti, että mieluummin luodaan monta pientä yksinkertaista tietokantaa kuin yksi iso, sillä tietokannat ovat halpoja. Autentikointi Tirronen huomioi, että autentikointi puuttuu kokonaan Salon tekemästä arkkitehtuurihahmotelmasta. Salo esitteli erästä Gitorious-kloonia, jossa käytetään autentikointiin Shibbolethiä. Hänen mukaansa on hyvä huomata, että joku on jo Shibboleth-ratkaisun Gitoriuksen päälle toteuttanut. Näin myös mahdollisuus siihen, että laitos voi ottaa sen halutessaan joskus käyttöön, paranee. Gitorious-kloonit ja -kehittäjät Tirronen huomautti, että projektiryhmän kannattaa käydä Gitorious- klooneja laajemminkin läpi. Niistä saattaa hänen mukaansa löytyä valmiita ratkaisuja nyt kehitteillä olevan sovelluksen toimintoihin. Tirronen ehdotti, että projektiryhmän kannattaa ottaa Gitorious- projektin tekijöihin yhteyttä. Gitorous-kehittäjien olisi hyvä saada tietää, mitä projektiryhmä saa aikaan, sillä hyvät ominaisuudet saatetaan ottaa Gitoriukseen mukaan. Silloin Gitoriousta voitaisiin päivittää myöhemmin ilman, että rikotaan Verso-projektin sovellusta. Tirronen toi esille, että Gitorious-sivustossa on myös tekijänoikeuksilla suojattua sisältöä, mikä ei ole vapaasti käytettävissä. Tällaista on pääasiassa suurin osa graafisista elementeistä kuten logo. Tuovinen sanoi, että hän tuntee kaksi graafista suunnittelijaa, joilta voi pyytää graafista sisältöä kehitettävää sivustoa varten. Hän huomautti, että suunnittelijat pitää kuitenkin ohjeistaa tarkasti, ennen avun pyytämistä. Asiantuntijoiden nimet ovat Kati Valpe ja Auri Kaihlavirta. PÄÄTÖKSET: - Toistaiseksi riittää, että projektin voi luoda vain WWW-käyttöliittymällä. - Mikäli sovellus pohjautuu Gitorioukseen, sovellus yritetään pitää mahdollisimman yhteensopivana sen kanssa. 10 Osallistujien seuraavat tehtävät Projektiryhmä - tutkii Gitoriousta ja muita samantapaisia sovelluksia ja laatii taulukon tuloksista (kesken) - tekee ensimmäisen sovellusprototyypin (kesken) - perehtyy Git-sovellukseen (kesken) - tekee suunnitelman testaajien hyödyntämisestä ja mahdollisista haastatteluista (kesken) - laajentaa vaatimusmäärittelyä päätösten perusteella ja lisää siihen sovellusta kuvailevaa tekstiä - pyytää Paavo Niemisen Korpin palaverilistalle ja antaa hänelle oikeudet Git-arkistoon. Tirronen - selvittää ensimmäisen demon käyttötestaajien mielipiteitä ja tuo ne projektiryhmän tietoon (kesken) - neuvoo Gitin käytössä projektiryhmää. Tilaaja - hankkii lisää testaajia erityisesti simuloinnin ja optimoinnin väestä. Santanen - lisää Paavo Niemisen Verso-sähköpostilistalle. 11 Muut esille tulleet asiat Santanen toi esille, että hän ei halua paperiversiota edellisten palavereiden pöytäkirjoista jaettavan itselleen palavereissa. Tirronen oli samaa mieltä. Tuovinen ehdotti, että palavereissa olisi kahvi valmiina. 12 Sovitaan seuraavan palaverin aika ja paikka Salolta kysyttiin, kauanko aikaa projektiryhmä tarvitsee valmistautuakseen seuraavaan kokoukseen. Hän vastasi, että viikon pitäisi riittää. PÄÄTÖKSET: - Seuraava palaveri järjestetään 26.2.2010 klo 12:15. Paikka ilmoitetaan viimeistään kokouskutsussa. 13 Kokouksen päättäminen Puheenjohtaja Salo päätti kokouksen. 14 Palaverissa jaettu materiaali Salo jakoi ensimmäisen palaverin pöytäkirjan tilaajille, Santaselle sekä projektiryhmän Peltolalle ja Hänniselle. Salo jakoi monisteen Projektin tila 2. palaverissa tilaajille ja Santaselle. Juho Nieminen jakoi alustavan vaatimusmäärittelyn kaikille kokoukseen osallistuneille lukuun ottamatta vierailijaa.