Skip to content

Projektisuunnitelma

1. Toimeksianto

  • Tausta ja lähtökohdat, tavoitteet ja tehtävät, rajaus ja liittymät, tulos

2. Projektiorganisaatio

  • Organisaation esittely, vastuut ja päätöksentekoprosessi

3. Projektin vaiheet ja taloudelliset tavoitteet

  • Tehtäväkokonaisuudet, osittelu ja vaiheistus, välitulokset, aikataulut ja resurssissuunnitelmat, budjetti

4. Laadun varmistus

  • Menetelmät, standardit, hyväksymismenettely, muutosten hallinta, dokumentointi, katselmoinnit, riskien hallinta, muut täydentävät suunnitelmat

5. Tiedonvälitys ja projektin etenemisen seuranta)

  • Projektin aloitus, työtilat ja viestintävälineet, palaverikäytäntö ja yhteydenpito, raportointi ja tiedotus, projektikansio

6. Projektin päättyminen * Luovutus, käyttöönotto, ylläpito, projektin aineiston taltiointi, arkistointi, loppuraportti, projektin virallinen päättäminen

1 Projektin ja lopputuotteen kuvaus

Tässä dokumentissa kuvataan TTOS0800 -opintojaksolla toteutettavaa WimmaLabin Conduit-pohjaista keskustelualusta -ohjelmistoprojektia. Alla olevissa otsikoissa avataan tarkemmin taustaa, tavoitteita, tehtäviä, vaihejakoa, resursseja ja organisaatiota. Lopputuloksena tuotetaan esim. http://forum.wimmalab.org muotoinen sivusto, joka tulee osaksi wimmalab.org kokonaisuutta.

Mock Up

1.1 Tausta ja lähtökohdat

WimmaLabin itsenäinen Foorumi/keskustelualusta tuli toimeksiantona TTOS0800 -opintojakson yrityksellemme Corpo Ration Corp.:lle. Pohjaksi on valittu maailmalla suosittu "Conduit"-palvelu, jonka ominaisuuksia aiotaan laajentaa paremmin WIMMALAB.org:ille sopivammaksi. Tilaajana WimmaLabin Teemu Kontio ja product ownerina Marko "Narsu" Rintamäki. Toimeksianto on annetu myös opintojakson kahdelle muulle yritykselle Bittikyylille sekä Karhukaisille.

1.2 Tavoitteet ja tehtävät

  • Tavoite on liittää Conduit-palvelu mukaan nykyiseen verkkosivuun oman domain nimen kautta. Esim. http://forum.wimmalab.org

Ohjemiston testaus ja laadunvarmistus (OTL) opiskelijat antavat Moderni Ohjelmistokehitys (MOK) opiskelijoille listan vaatimusmäärittelystä. MOK opiskelijat toteuttavat vaaditut ominaisuudet palveluun ja OTL opiskelijat huolehtivat tuotteen testauksesta ja laadunvarmistuksesta. Lopputuote esitellään Product Owner Marko "Narsu" Rintamäelle, joka valitsee eri ryhmien toteutuksista parhaan vaihtoehdon.

Tavoitteena toteuttaa toimeksiannossa tulleet ominaisuudet.

  • P1 = Pakollinen
  • P2 = Tarpeellinen
  • P3 = Tehdään, kun tarve ilmenee
Ominaisuus Prioriteetti Use cases
Feature 1 - GDPR P1 GDPR
Feature 2 - salasananpalautus P2 GDPR
Feature 3 - blacklist P3 GDPR
Feature 4 - moderointipalvelu.md P1 GDPR
Feature 5 - käyttäjäroolit P1 GDPR
Feature 6 - palaute P2 GDPR
Feature 7 - backendlog P2 GDPR
Feature 8 - googleanalytics P3 GDPR
Feature 9 - Docker P1 GDPR
Feature 10 - HTTPS P1 GDPR

Lisäksi korjataan alkuperäiset Conduit -sovelluksen featureja. Featuret Conduitissa

1.3 Rajaus ja liittymät

Tarkoituksena on toteuttaa ainoastaan Narsun ja Teemun määrittämän ominaisuudet ja lähteä kehittämään pääasiassa niitä. Prioriteettiluokassaan alempien ominaisuuksien kehittäminen jätetään myöhemmälle tai jätetään pois toteutuksesta.

Suurin rajoittava tekijä projektissa on se, että Corpo Ration Corp. koostuu opikelijoista, ja suuri osa aikaresurssista menee uusien asioiden opiskeluun. OTL-kurssilaisilla pyörii samanaikaisesti myös muita opintojaksoja.

Conduit -toteutetaan yksikielisenä, sillä kaksikielisen käyttöliittymän toteuttaminen ei ole vaatimuslistauksessa.

1.4 Oikeudet

Eri osapuolten oikeudet on määritelty projektisopimuksessa.

1.5 Termit ja määritelmät

2. Projektiorganisaatio

2.1 Organisaation esittely

Projektin organisaation kuuluu Jyväskylän ammattikorkeakoulun opettajia, projektihenkilökuntaa opiskelijaa, projektiryhmän ohjaajat sekä toimeksiantajan edustajat. Organisaatiokaavio on esitetty liitteessä .”

Projektiryhmä

Projektiryhmän esittely

Corpo Ration Corp. Website

Corpo Ration Corp. Core

Johtoryhmä

JAMK:in IT-instituuttia edustaa Marko "Narsu" Rintamäki.

WimmaLabia edustaa Teemu Kontio.

Corpo Ration Corpin edustajana toimii scrum master Reima Parviainen.

Tukiryhmä

  • Marko "Narsu" Rintamäki - Product owner ja opintojakson lehtori
  • Teemu Kontio - WimmaLabin yhteyshenkilö
  • Heli Vepsäläinen - Yleinen scrum master
  • Jouni Huotari - Yleinen apu
  • Anu Pelkonen - Henkinen tuki
  • Juho Pekki - Koodauksen tuki

2.2 Vastuut ja päätöksentekoprosessi

  • Marko "Narsu" Rintamäki - Product owner ja opintojakson lehtori - Vastuussa asiakkaan (WimmaLabin) suuntaan viestinnästä.
  • Teemu Kontio - WimmaLabin yhteyshenkilö - Noudattaa projektisopimuksessa määriteltyjä kohtia.
  • Reima Parviainen - Corpo Ration Corp. scrum master - Vastuussa viestinnästä johtoryhmän suuntaan, sekä tiimin työtehtävien jakaminen.
  • Sanni Jetsu - Corpo Ration Corp. viestintävastaava - Vastuussa projektihallintapohjan ylläpidosta sekä GitLab issueiden jaosta.
  • Sami Kurula - Corpo Ration Corp. ns. kirjanpitovastaava - Huolehtii työtuntien listauksesta sekä laskutuksesta.
  • Riku Härkälä - Corpo Ration Corp. SysAdmin - Vastuussa CSC-palvelimesta sekä MOK tiimin ajan tasalla pitämisestä.
  • Jukka Veijanen - Corpo Ration Corp. - Koodauspuoli.
  • Konsta Leppänen - Corpo Ration Corp. - Koodauspuoli.
  • Sajid Howlander - Corpo Ration Corp. - Koodauspuoli.
  • Khaled Nuri - - Corpo Ration Corp. - Koodauspuoli.

3. Projektin ajalliset tavoitteet

3.1 Osittaminen ja vaiheistus

Projektin osittamisella tarkoitetaan projektin jakamista selkeisiin osakokonaisuuksiin ja niitä vastaaviin toteutuskokonaisuuksiin (osaprojekteihin, vaiheisiin, tehtäväkokonaisuuksiin ja tehtäviin). Tutkimus- ja kehitysprojektien etenemiselle on tyypillistä lopputuloksen muodostuminen ja tavoitteen tarkentuminen vaihe vaiheelta. Projektin osituksen tulee perustua tähän lähtökohtaan (koskee myös IT-instituutin opiskelijaprojekteja).

Projektin elinkaari voidaan jakaa erityyppisiin vaiheisiin. Kussakin vaiheessa tuotetaan määrätyt tuotteet, kuten selvitys, suunnitelmat, prototyyppi, laite jne. Kunkin vaiheen loppuun sovitaan arviointi, hyväksyntä tai katselmointi.

Ohjelmistoprojekti jakautuu tyypillisesti seitsemään vaiheeseen: perustaminen, esitutkimus, analyysi, suunnittelu, toteutus, testaus ja lopettaminen. Joskus esitutkimus on oma projektinsa, joskus analyysi sisällytetään suunnitteluun jne. Testaus ei välttämättä ole oma vaiheensa, vaan se sisältyy kaikkiin vaiheisiin.

Edetään inkrementaalisesti eli ensin suunnitellaan ja toteutetaan yksi asia kokonaisuudessaan ennen kuin edetään seuraavaan asiakokonaisuuteen. Ei ole yhtä ainutta ”oikeaa” vaihejakoa, mutta jos toimeksiantajalla on oma menetelmänsä ja siihen liittyvät mallipohjat, niin opiskelijaprojekteissa käytetään ensisijaisesti niitä. Yhä useammin käytetään ketterää sovelluskehitystä eli ohjelmisto tehdään 1-4 viikon sprinteissä.

Huom.: Seuraavassa on esitetty käynnistys- ja lopetusvaiheet. Kaikista projektin vaiheista, niiden kestoista ja työmääristä laaditaan myös nk. Gantt-kaavio (liitteenä), jossa näkyy myös vaiheiden väliset riippuvuudet ja tärkeimmät etapit (esim. johtoryhmän kokouspäivämäärät).

Projektin käynnistämiseen kuuluu olennaisesti projektisuunnittelu ja suunnitteludokumenttien laatiminen sekä yhteydenpitokäytänteiden luominen toimeksiantajayrityksen kanssa. Vaiheen aikana tehdään esim. ryhmän webbisivut, tutustutaan tarkemmin toimeksiantoon, aloitetaan kohdealueeseen perehtyminen ja laaditaan projektisuunnitelma yhteistyössä toimeksiantajan edustajien kanssa. Vaiheen aikana muodostetaan johtoryhmä, pidetään 1. johtoryhmän kokous sekä allekirjoitetaan projektisopimus. ”Vaiheen tuloksia ovat ryhmän imagon (nimi, logo ym.) luominen, webbisivut tms. sekä projektisopimus liitteineen.”

Projektitoimintaan tutustuminen, webbisivujen ja projektinhallintasivujen päivitys.

Vaatimusmäärittely, toimeksianto, riskienhallinta.

TestLink tunnuksien tekeminen ja testitapauksiin tutustumista. Tuntikirjausten aloitus.

Tärkeimmät Use Caset kirjattu. Test casejen määrittely aloitettu.

Conduit CSC-palvelimelle. Toiminnalliset/ei-toiminnalliset vaatimukset kirjattu. Riskienhallinta ja viestintäsuunnitelma valmiiksi. User Story tutustumista.

Tarkistuslistan läpikäyntiä ennen E1-katselmointia. Yleistestausuunnitelman aloitus. Projektisopimuksen sisältö tarkistettu.

Lopetus 12.12.2020 – 13.12.2020 (14 h)

”Lopettamisvaihe sisältää projektin päättämiseen liittyvät toimenpiteet. Vaiheen aikana projektiryhmä laatii projektin loppuraportin ja esityksen johtoryhmälle. Vaiheen aikana luovutetaan projektin tulos toimeksiantajalle, pidetään viimeinen johtoryhmän kokous viikolla X sekä puretaan projektin organisaatio. Lopettamisvaiheen tuloksena on projektin loppuraportti.”

3.2 Projektin alustavat kustannusarvio

Tuntikirjaukset sivulta löytyy työtunnit listattuna sekä kustannusarvio.

4. Laadunvarmistus

4.1 Väli- ja lopputulosten hyväksymismenettely

  • Hyväksyntätestit
  • Narsu hyväksyy
  • Teemu hyväksyy

4.2 Muutosten hallinta

  • GitLabin repositoriossa seuraamme aktiivisesti versiokehitystä.

4.3 Dokumentointi

Kaikki dokumentointi löytyy https://gitlab.labranet.jamk.fi/te-team1/core https://gitlab.labranet.jamk.fi/te-team1/source

4.4 Riskien hallinta

Riskienhallintasuunnitelma

4.5 Katselmointikäytäntö

Julkaisusuunnitelma

Linkit katselmointipöytäkirja pohjiin

4.6 Projektisuunnitelmaa täydentävät suunnitelmat

Tässä kohdassa mainitaan, mitä täydentäviä suunnitelmia on käytettävissä tai aiotaan projektin kuluessa laatia (esim. viestintä-, riskienhallinta-, testaus- ja käyttöönottosuunnitelma).

4.7 Suunnitelmien tarkistus- ja päivitysajankohdat

Maanantaisin ja perjantaisin.

4.8 Projektin keskeyttämiskriteerit

Oikeaoppiseen projektisuunnitelmaan kuuluu myös projektin keskeyttämiskriteerit. Näitä ei kuitenkaan opiskelijaprojekteissa käytetä, koska projekteissa käytetään tietty tuntimäärä tuloksen tekoon ja tulos luovutetaan sellaisena, kun se opintojakson päättyessä on. Projektiryhmä tekee kuitenkin jatkokehityssuunnitelman, josta mahdollinen uusi projekti jatkaa.

5. Tiedonvälitys ja projektin etenemisen seuranta (viestintäsuunnitelma)

Viestintäsuunnitelma

6. Projektin päättyminen

6.1 Lopputuotteen luovutus, käyttöönotto

Projektin lopputuote tulee myös dokumentoida järkevällä tasolla. Osana lopputuotetta saattaa olla asiakkaalle tarjottavaa käyttöönottokoulutusta ja mahdollisesti asennus- tai käyttöönotto­palvelua. Mikäli koulutuksen rooli projektin kannalta on huomattava (esimerkiksi ohjelmiston käyttäjät eivät ole olleet mukana projektissa ja eivät tiedä miten järjestelmä toimii) tulee projektisuunnitelmaan liittää suunnitelma asiakkaalle tarjottavasta koulutuksesta. Lisäksi jos on tarpeen, tulee projektisuunnitelmaan liittää myös asennussuunnitelma ja käyttöönottosuunnitelma.

6.2 Projektin tuottaman aineiston taltiointi, arkistointi ja säilytysaika

”Projektiryhmien dokumentaatiosta IT-instituutille jäävä osa tallennetaan GitHubiin.” Toimeksiantajan tulee selkeästi määritellä, mitkä dokumentit voidaan jättää opiksi seuraaville projekteille. Tyypillisesti eri suunnitelmat ja loppuraportti ovat tällaisia dokumentteja.

6.3 Projektin virallinen päättäminen

On tärkeää määritellä milloin, mihin tai miten projekti päättyy. Projektin päätös voi olla tietty päivämäärä, tietty tuotteen valmiusaste, tietty työtuntimäärä, tietty kulutettu rahasumma, kun asiakas ottaa tuotteen käyttöön, takuuaika on umpeutunut tai kun asiakas hyväksyy tuotteen.

”Projekti päättyy 13.12.2020, jolloin projektisopimuksen voimassaoloaika päättyy.”

6.4 Lopetustilaisuus

Yleensä projektit päätetään yhteiseen päätösseminaariin. Tähän kirjataan osallistujat ja ajankohta.

6.5 Projektin loppuraportti

Projektin loppuraportti laaditaan viimeiseen johtoryhmän kokoukseen mennessä.

Liitteet

Projektisuunnitelmaa täydentävät suunnitelmat esitetään liitteenä.