% .tex-tiedosto projektin dokumenttien latomiseksi.

% Kirjoitelmaluokka, tässä käytetään projektien projdoc-luokkaa.
\documentclass[twoside]{projdoc}

\usepackage{paralist}


% Projektin nimi
\project{Paatti}

% Luottamuksellisuus: käytä termiä 'Luottamuksellinen' tai 'Julkinen'
\publicity{Luottamuksellinen}

% Versionumero: numerointikäytäntö on projektikohtainen
\version{0.0.8}

% Dokumentin nimi
\title{Projektisuunnitelma}

% Tekijät: huomaa aakkosjärjestys sukunimen mukaan
\author{Tapio Keränen}{Toni Salminen}{Jari Salokangas}{Lauri Satokangas}
% Puhelinnumerot: tekijöitä vastaava järjestys!
\authorphones{040-8464981}{040-5378086}{040-8652014}{040-5735358}
% Sähköpostiosoitteet: tekijöitä vastaava järestys!
\authoremails{t.tapio.keranen@student.jyu.fi}{toni.a.j.salminen@student.jyu.fi}{jari.p.t.salokangas@jyu.fi}{lauri.n.satokangas@student.jyu.fi}
% Etu- ja sukunimen alkukirjaimet: tekijöitä vastaava järjestys!
\authorinitials{TK}{TS}{JS}{LS}

% Tiivistelmä dokumentista: tämä ei siis ole tiivistelmä projektista,
% vaan tämän ko. dokumentin tarkoituksesta. 
\docabstract{Dokumentti on projektisuunnitelman pohja Jyväskylän yliopiston tietotekniikan laitoksen sovellusprojekteille. Pohjan avulla on tarkoitus nopeuttaa projektisuunnitelman kirjoittamista.} 

% Tiivistelmä projektista
\projectabstract{Paatti-projekti suunnittelee ja toteuttaa Jyväskylän yliopiston psykologian laitokselle ohjelmiston, jolla tuetaan vanhusten ja mielenterveyspotilaiden itsenäistä elämää ja kuntoutumista.}

% Avainsanat: dokumentin sisältöön liittyviä olennaisia asiasanoja: aakkosjärjestys, ensimmäinen sana isolla alkukirjaimella ja piste loppuun.
\keywords{Interventio, kiihtyvyysanturi, vuorovaikutustapahtuma.}

% Varsinainen tulosteessa näkyvä ladonta alkaa
\begin{document}

% Tämä latoo versiohistorialle ympäristön, sen alapuolelle ladotaan
% versiohistoriataulukko. Esimerkin vuoksi tehty. 
\versionhistory

\begin{tabular}{|c|r|p{9.0cm}|p{1.5cm}|}
\hline
\textbf{Versio} & \textbf{Päivämäärä} & \textbf{Muutokset} & \textbf{Tekijät} \\
\hline \hline
0.0.1    &  22.2.2012  & Dokumentin pohja luotu. & TS\\
\hline
0.0.2    & 23.2.2012  & Tilaajien, ohjaajien ja jäsenten henkilötiedot lisätty & TS\\
\hline
0.0.3    & 28.2.2012  & Lisätty "Riskit ja niiden seuranta" & TS\\
\hline
0.0.4    & 29.2.2012  & Lisätty "Johdanto" ja "Organisaatio ja resurssit" & TS\\
\hline
0.0.5    & 5.3.2012  & Lisätty "Käytänteet", muokattu "Organisaatio ja resurssit" ja korjattu henkilötietoja & TS\\
\hline
0.0.6    & 5.3.2012  & Lisätty "Prosessimalli ja aikataulu" & TS\\
\hline
0.0.7    & 6.3.2012  & Korjattu muotoilu-, kirjoitus- ja asiavirheitä & TS\\
\hline
0.0.8    & 7.3.2012 & Korjattu muotoilu-, kirjoitus- ja asiavirheitä & TS\\
\hline
0.0.7    & ??.3.2012 & ? & TS\\
\hline
0.0.7    & ??.3.2012 & ? & TS\\
\hline
0.0.7    & ??.3.2012 & ? & TS\\
\hline
\end{tabular}


% \projectinfo latoo ympäristön projektin tiivistelmälle, joka on 
% projektikohtainen.
% Projektin tiivistelmä ja tekijöiden tiedot ladotaan automaattisesti sivun
% alkuun. Eli lisättävä projektiorganisaation tiedot muiden kuin tekijäiden
% osalta sekä tarvittavat yhteystiedot. Alla tämä on tehty esimerkin vuoksi.
\projectinfo

\textbf{Tilaaja:}

\begin{tabular}{p{6cm}p{6cm}p{3cm}}
~~~$\bullet$~~Jukka Kaartinen & \texttt{jukka.kaartinen@jyu.fi} & 0400-248148 \\
~~~$\bullet$~~Heikki Lyytinen  & \texttt{heikki.lyytinen@psyka.jyu.fi} & 050-5524892 \\
~~~$\bullet$~~Päivi Lappalainen & \texttt{paivi.k.lappalainen@psyka.jyu.fi} & 040-8054192 \\
~~~$\bullet$~~Raimo Lappalainen & \texttt{raimo.lappalainen@psyka.jyu.fi} & 050-4432349 \\

\end{tabular}

\vspace{1truecm}
\textbf{Ohjaajat:}

\begin{tabular}{p{6cm}p{6cm}p{3cm}}
~~~$\bullet$~~Matti Lehtinen & \texttt{matti.k.lehtinen@jyu.fi} & 041-4564118 \\
~~~$\bullet$~~Jukka-Pekka Santanen & \texttt{santanen@mit.jyu.fi} & 040-8053299 \\
~~~$\bullet$~~Outa Valkama & \texttt{outa.j.valkama@gmail.com} & 045-3490910
\end{tabular}

\vspace{1truecm}
\textbf{Yhteystiedot:}

\begin{tabular}{p{6cm}p{9cm}}
~~~$\bullet$~~Sähköpostilistat: & \texttt{paatti@korppi.jyu.fi}, \texttt{paatti\_opetus@korppi.jyu.fi} \\
~~~$\bullet$~~Sähköpostiarkistot: & \texttt{http://sovellusprojektit.it.jyu.fi/paatti/sahkopostit/paatti}, \texttt{http://sovellusprojektit.it.jyu.fi/paatti/sahkopostit/paatti\_opetus/} \\ 
~~~$\bullet$~~Työhuone: & Agora C222.2 / puh. 040-8053308
\end{tabular}

%----------------------------------------------------------------------------
% \mainmatter latoo automaattisesti sisällysluettelon ym. alkusivut, ja 
%% sen jälkeen alkaa dokumentin sisällysluettelossa näkyvät luvut.
\mainmatter

% \chapter{Pääluvun nimi} aloittaa pääluvun, \section{Alaluvun nimi} alaluvun,
% ja \subsection{Ala-alaluvun nimi} ala-alaluvun.
\chapter{Johdanto}

Paatti-projekti toteuttaa sovellusprojektikurssilla keväällä 2012 Jyväskylän yliopiston psykologian laitokselle ohjelmiston, jolla tuetaan vanhusten ja mielenterveyspotilaiden itsenäistä elämää ja kuntoutumista. Ohjelmistolla voidaan parantaa kuntoutettavien hyvinvointia monin eri tavoin. Kuntoutettavien hoidoista vastaavat henkilöt voivat seurata, kuinka tarkasti määrättyjä hoito-ohjeita noudatetaan. Kuntoutettavia muistutetaan hoitoon liittyvistä tapahtumista. Hoitojen vaikutuksista pystytään antamaan palautetta. Kuntoutettavat pystyvät seuraamaan omaa edistymistään hoitojen aikana. Kuntoutettavien mielentiloja pystytään seuraamaan, ja kriisitilanteisiin voidaan mahdollisesti puuttua jo etukäteen.

Projektisuunnitelman laatimisessa on hyödynnetty Parsi-projektin projektisuunnitelmaa [?], Tabu-projektin projektisuunnitelmaa [?], projektisuunnitelman mallia [?] sekä Sovellusprojektien ohjetta [?].

Luvussa 2 esitellään dokumentissa käytetyt termit ja niiden merkitys. Luku 3 kuvaa projektin taustoja ja tavoitteita sekä projektiryhmän jäsenten oppimistavoitteita. Luvussa 4 esitellään projektin organisaatio ja resurssit. Luvussa 5 kuvataan projektin käytänteet. Luvussa 6 hahmotellaan projektin keskeisimmät tehtävät, oleellisimpien tulosten vastuuhenkilöt sekä arviot tehtävien työmääristä. Luvussa 7 kuvataan projektin prosessimalli ja aikataulu. Luvussa 8 kuvataan projektiin liittyvät riskit ja niiden hallinta.


\chapter{Termit}

Dokumentin aihealueen termejä ovat seuraavat:
% Termilistat ladotaan Ventry-ympäristöllä, parametrina pisin termi,
% jolloin sisentyy oikein:
\begin{Ventry}{Sovellusprojekti}
\item[Sovellusprojekti] on tietotekniikan laitoksen opintojakso. 
\item[Jojo] ei ole.
\end{Ventry}

Dokumentissa esiintyviä teknisiä termejä ovat seuraavat:
\begin{Ventry}{Sovellusprojekti}
\item[\LaTeXe] on ladontaohjelmisto.
\item[Word] ei ole.
\item[PDF]
\end{Ventry}

\chapter{Taustaa ja tavoitteita}



\section{Taustaa}

\emph{Kirjoitetaan kun kirjoitusviestinnän tehtävä tehty.}

%Tiivistetty esitys, ei yksityiskohtia. Sivu tai korkeintaan kaksi.
%\begin{itemize}
%\item Aihealue ja tarvittaessa historiaa.
%\item Nykyiset prosessit, käytänteet, käyttäjäryhmät ja järjestelmät.
%\item Suhteet muihin järjestelmiin (tarvittaessa kuva).
%\item Mitä ongelmia ja tarpeita?
%\item Miksi projekti?
%\item Tarkempi kuvaus ympäristöstä vaatimusmäärittelyssä ja sovellussuunnitelmassa, joten viittaus niihin.
%\end{itemize}

\section{Tavoitteet}

%Sisältää tilaajalle ja laitokselle luovutettavat tulokset.
%\begin{itemize}
%\item Sovellukselle ja siihen liittyville materiaaleille asetetut tavoitteet tiivistettynä sisältäen rajauksen. Tarvittaessa viittaus vaatimusmäärittelyyn.
%\item Kunkin dokumentin tarkoitus ja sisältö.
%\item Miten materiaali toimitetaan tilaajalle ja laitokselle?
%\item Oppimistavoitteet (voi olla myös oma päälukunsa). Katso mm. projektiohjeen luku 6.1 ja arviointilomake.
%\end{itemize}

\section{Projektiryhmän jäsenten tavoitteet projektista}

Jari Salokangas haluaa käytännön kokemusta ohjelmointityökaluista ja ohjelmoinnista, sekä käytännön kokemusta "tositilanteesta".

\chapter{Organisaatio ja resurssit}

Luvussa esitellään projektiorganisaatio, käytössä olevat resurssit sekä projektiin liittyvät oheiskurssit ja perehdytykset.

\section{Projektiorganisaatio}\label{projektiorganisaatio}

Projektiryhmään kuuluu neljä tietotekniikan laitoksen opiskelijaa: Tapio Keränen, Toni Salminen, Jari Salokangas ja Lauri Satokangas. Projektin alussa projektipäällikkönä toimii Toni Salminen ja varapäällikkönä Lauri Satokangas. Salminen ja Satokangas vaihtavat tehtäviä projektin puolessa välissä.

\emph{!!! Tähän ryhmäläisten kokemuksesta ja vahvuusalueista. !!!}

Tilaajan edustajana toimivat Jyväskylän yliopiston psykologian laitokselta Heikki Lyytinen, Raimo Lappalainen, Päivi Lappalainen ja Jukka Kaartinen. Jyväskylän yliopiston tietotekniikan laitokselta projektin vastaavana ohjaajana toimii Jukka-Pekka Santanen ja teknisinä ohjaajina toimii Matti Lehtinen ja Outa Valkama. Projekti saa tarvittaessa asiantuntijatukea Vesa Lappalaiselta ja Kari Tuurihalmeelta, jotka olivat kehittämässä Tabu-sovellusta, jonka pohjalta Paatti-sovellus kehitetään. Jyväskylän yliopiston IT-tuki vastaa ryhmän käytössä olevista laitteista ja ohjelmistoista.


\section{Projektin tilat, laitteet ja ohjelmistot}

Tietotekniikan laitos tarjoaa ryhmälle projektin ajaksi käyttöön lukittavan projektihuoneen AgC222.2. Projektin jäsenillä on projektihuoneessa käytössään kaksi Fedora 14 -käyttöjärjestelmällä ja kaksi Windows 7 -käyttöjärjestelmällä varustettua tietokonetta. 

Projektiryhmä voi varata kokoustilan Ag C226.2 projektikokouksia varten. Tilassa on käytettävissä Windows 7 -tietokone ja projektori esityksiä varten.

Sovellusprojektien avotilassa on ryhmän käytössä yliopiston monitoimitulostin ilman kuluja. Ryhmällä on oikeus varata käyttöönsä videoprojektori, kannettava PC, digitaalisanelin ja MiniDisc-tallennin. Lisäksi ryhmän jäsenet voivat käyttää omia laitteitaan.

Projektilla on käytössään yhteinen verkkolevy ja WWW-sivusto projektin tiedostojen säilytystä varten. Verkkolevy on hakemistossa \texttt{//eppu.it.jyu.fi/paatti} ja sivusto osoitteessa \texttt{http://sovellusprojektit.it.jyu.fi/paatti}.

Projektiryhmällä on käytettävissä virkistystila, jossa on vedenkeitin ja kahvinkeitin. Tietotekniikan laitos tarjoaa ryhmälle kahvit ja teet.


\section{Dokumentointityökalut}

\emph{(Tarkista mitä laaditaan milläkin?)}

Projektisuunnitelma, sovellusraportti ja projektiraportti laaditaan \LaTeX -ladontaohjelmistolla. Open\-Office.org -toimisto-ohjelmistolla laaditaan vaatimusmäärittely, esitysgrafiikat, projektisopimus ja pöytäkirjat. Vaatimusmäärittelyn tekemisessä käytetään myös freemind-ajatuskarttaohjelmaa. Kaikki dokumentit pyritään julkaisemaan myös pdf-muodossa. Raakatekstimuodossa laaditaan muut tekstidokumentit, kuten esityslistat.

Ajankäytönseurantaan ryhmällä on käytössään Petri Heinosen sovellusprojekteille toteuttama Excel-sovellus.

\section{Ohjelmointityökalut}

\emph{Mitä kehitysvälineitä käytetään.}

Sovellus tehdään Netbeans-sovelluskehittimellä Vaadin-sovellusalustalle.

\section{Luennot ja perehdytykset}

\emph{Muokkaa kuvauksia ja muotoiluja paremmiksi!}

Projektin rinnalla järjestetään kaksi oheiskurssia. Kurssiin \textit{Sovellusprojektin hallintaa, viestintää ja työkaluja} sisältyvät seuraavat:

\begin{compactenum}
\item[Aloitusluento]
\item[Projektin johtaminen ja hallinta]
\item[Projektipäälliköiden tapaamisia]
\item[Käytettävyyspäivä]
\item[Tekijänoikeus ja sopimukset]
\item[Versiohallinta]
%\item Kaksi väliesittelyä
\end{compactenum}

Tarvittaessa kurssiin sisällytetään perehdyttämistä projektiin liittyvistä työkaluista ja tekniikoista sekä aihealueesta.

Viestintäkurssiin \textit{Projektiviestintä IT-alalla} kuuluvat puhe- ja kirjoitusviestinnän luentojen ja ryhmätöiden ohella viestintäkurssilla käsiteltävien dokumenttien kirjoitusasun ja rakenteen muokkauksen työtunnit. Projektin aikana järjestetään kaksi väliesittelyä, jotka kuuluvat viestintäkurssiin.

Oheiskurssien työtunnit kirjataan omalle tehtäväkokonaisuudelle työajanseurantasovelluksessa.


\chapter{Käytänteet}
Luvussa kuvataan käytänteitä, joiden avulla projektin tavoitteet saavutetaan laadukkaasti ja aikataulussa.

\section{Kokoukset}
Kokouksiin osallistuvat ryhmän jäsenet, ohjaajat ja tilaajan edustajat. Kokous on päätösvaltainen, kun projektiryhmästä ja tilaajan edustajista on paikalla vähintään yksi henkilö sekä paikalla on vastaava ohjaaja Jukka-Pekka Santanen. Kokous on laillinen, kun kokouskutsu ja esityslista on lähetetty vähintään vuorokautta ennen kokousta. Projektiorganisaation kokouksia järjestetään kerran viikossa tai kerran kahdessa viikossa tarpeen mukaan. Seuraavan kokouksen ajankohta päätetään edellisessä kokouksessa.

\emph{Kuvaa kokouksissa käsiteltäviä asioita sekä tehtäviä päätöksiä.}

Puheenjohtajan ja sihteerin tehtäviä kierrätetään projektiryhmän jäsenten kesken. Sihteeri laatii kokouksesta pöytäkirjan, jonka puheenjohtaja tarkastaa. Seuraavassa kokouksessa pöytäkirja joko hyväksytään, hyväksytään muutoksin tai hyväksyminen siirretään seuraavaan kokoukseen.

\section{Tiedotus}

Tiedotusvastuu projektin tilasta on pääasiassa projektipäälliköllä. Kukin ryhmän jäsenistä huolehtii omiin tehtäviinsä, vastuualueisiinsa ja tuloksiinsa liittyvästä tiedotuksesta. Projektiin liittyvistä valinnoista, muutoksista ja niiden vaihtoehdoista keskustellaan projektikokouksissa.

Projektiorganisaation tiedotusta varten on luotu kaksi sähköpostilistaa. Listalle \linebreak\texttt{paatti@korppi.jyu.fi} kuuluu koko projektiorganisaatio (katso luku~\ref{projektiorganisaatio}) ja listalle \texttt{paatti\_opetus@korppi.jyu.fi} kuuluvat ryhmän jäsenet ja ohjaajat. Listoilla tiedotetaan muun muassa yleisistä asioista, kuten tapaamisista, esityksistä ja kokouksista. Lisäksi listojen avulla jaetaan palaverien esityslistat ja pöytäkirjat. Sähköpostilistojen viestit arkistoituvat suojattuihin arkistoihin.

\begin{compactenum}
\item[ ]{\texttt{http://korppi.jyu.fi/list-archive/paatti/} ja}
\item[ ]{\texttt{http://korppi.jyu.fi/list-archive/paatti\_opetus/}.}
\end{compactenum}

Projektiryhmän sisäinen tiedotus hoidetaan pääosin suullisesti, sillä ryhmän jäsenet työskentelevät fyysisesti samassa tilassa ja tapaavat lähes päivittäin. Ryhmän jäsenten omaan käyttöön on luotu Korppi-opintotietojärjestelmään oma ryhmä ja siihen kuuluva sähköpostilista. Kiireiset asiat hoidetaan tarvittaessa puhelimitse.

Tilaajan tarkasteltaviksi tarkoitetut dokumentit ovat saatavilla projektin WWW-sivuilla osoitteessa \texttt{http://sovellusprojektit.it.jyu.fi/paatti}.

\section{Hakemistorakenne} \label{hakrak}

Hakemistorakenne tulee olemaan projektin WWW-sivuston kansiossa ja CD:llä seuraavanlainen:
%\newpage

\emph{muista tarkistaa !!!}
\begin{verbatim}
        dokumentit
            ajankaytto
            esittelyt
            itsearvioinnit
            raportit
                projektiraportti
                sovellusraportti
            suunnitelmat
                projektisuunnitelma
            sopimukset
            vaatimusmaarittely
        kokoukset
            esityslistat
            poytakirjat
            tilakatsaukset
        lahdekoodit
        luokkadokumentit
        sahkopostiarkisto
            paatti
            paatti_opetus
\end{verbatim}

\section{Tiedostojen nimeäminen}

Kaikki tiedostot nimetään pienillä kirjaimilla ilman skandinaavisia merkkejä. Dokumenttien nimissä ensimmäisenä on projektin nimi, toisena dokumentin nimi ja kolmantena dokumentin versio. Laajempien dokumenttien tiedostojen nimeämisessä käytetään tyyliä \texttt{paatti\_dokumentinnimi\_versio.pääte}, eli esimerkiksi \texttt{paatti\_projektisuunnitelma\_0.0.1.tex}. Tekstimuotoiset kokouksien esityslistat tallennetaan muodossa\linebreak
\texttt{paatti\_esityslista\_kokouksenjärjestysnumero.txt} ja pöytäkirjat muodossa \texttt{paatti\_poytakirja\_kokouksenjärjestysnumero.pdf}. Verkkosivulle ja CD:lle sijoitettavat dokumentit vastaavat edellämainittua käytäntöä.

\section{Lähdekoodin käytänteet} \label{koodauskayt}

\emph{Lauri tietää paremmin !!! Alla olevat suoraan Tabulta.}

Luokkien nimien sisältämien sanojen ensimmäiset kirjaimet kirjoitetaan isolla ja sanat kirjoitetaan yhteen. Funktioiden ja muuttujien nimet kirjoitetaan kokonaan pienellä siten, että yhdyssanat kirjoitetaan alaviivalla erotettuina. Yksityiset muuttujat aloitetaan kahdella alaviivalla.  Sisennyksenä käytetään kahta välilyöntiä.

Lähdekoodit kommentoidaan englanniksi. Kommentit aloitetaan yksittäisten rivien tai rivin loppujen tapauksissa merkillä\texttt{\#}, mutta useamman rivin tapauksessa kommentti aloitetaan ja päätetään merkkijonoon \verb+"""+. Luokkadokumentointi tehdään Sphinxin avulla.

Lähdekoodin nimeämis- ja kommentointikäytänteitä havainnollistaa seuraava esimerkki:

\section{Testauksen käytänteet}

Sovellusta testataan kehittämisen yhteydessä projektiryhmän toimesta.

Koko sovelluksen testaus suoritetaan viimeistelyn yhteydessä. Ajan puutteen vuoksi sovellukselle ei laadita testaussuunnitelmaa, ja tarvittavan datan ryhmä muodostaa oma-aloitteisesti.

\section{Versiohallinta} \label{versionhallinta}

Projektissa käytetään YouSource-versiohallintajärjestelmää sekä dokumenttien että lähdekoodin versioiden hallintaan. Ryhmän jäsenillä ja ohjaajilla on oikeudet YouSource-versiohallintaan.

Projektiorganisaatiolle julkistetuissa dokumenteissa ja lähdekoodeissa käytetään yhtenäistä versionumerointia. Projektiryhmän sisäiset julkistamiset ovat muotoa 0.0.k, jossa k on kokonaisluku välillä 0-99. Projektiryhmä kasvattaa versionumeroa, kun kokee että uudessa versiossa on tarpeeksi eroa vanhaan. Versionumeroa 0.k.0 käytetään julkaistaessa versio projektiorganisaatiolle. Tilaajan ja ohjaajien hyväksymä versio merkitään versionumerolla 1.0.

Koko projektiorganisaatiolle julkistettavat projektin tulokset ovat saatavissa projektin WWW-sivuilta osoitteesta \texttt{http://sovellusprojektit.it.jyu.fi/paatti}.


\section{Tulosten hyväksyminen ja katselmoinnit} \label{tulostenhyvak}

Sovellukseen liittyvät dokumentit ja lähdekoodit sijoitetaan WWW-sivustolle, josta projektiorganisaatioon kuuluvat voivat seurata niiden kehitystä. Ohjaajat voivat lisäksi seurata projektiryhmän tuloksia versiohallinnan kautta.

Projektikokouksissa tarkastetaan projektiryhmän tuloksia. Projektisuunnitelma ja -raportti, sovellusraportti sekä vaatimusmäärittely hyväksytään projektipäällikön, tilaajan edustajan ja projektin vastaavan ohjaajan allekirjoituksilla. Lähdekoodin osalta järjestetään ainakin kaksi katselmointitilaisuutta, joiden havainnot kirjataan pöytäkirjoiksi. Muut projektin dokumentit hyväksytään kokouksissa.

\section{Tulosten koostaminen ja toimittaminen}

Projektin tulokset kootaan projektikansioon ja projektin CD-R-levylle. Projektin CD-R-levy sisältää kaikki projektissa luodut dokumentit sekä sovelluksen ohjelmakoodit. Projektin CD-R-levy on koostettu luvussa~\ref{hakrak} kuvatulla tavalla.

Laitokselle ja tilaajalle toimitetaan projektikansio ja projektin CD-R-levy. Laitoksen projektikansio sijoitetaan projektitilan avotilassa sijaitsevaan kirjahyllyyn. Projektiryhmän jäsenet ja ohjaajat saavat projektin CD-R-levyn. Näiden lisäksi tietotekniikan laitos arkistoi yhden projektin CD-R-levyn.


\chapter{Tehtävät, työmäärät ja työnjako}

\begin{itemize}  
\item Vastuualueet tehtäväkokonaisuuksien perusteella. Joissakin projekteissa voi olla järkevää myös tulosten pohjalta.
\item Työn jako tehtäviin.
\item Sovelluksen osalta vähintään kokonaisuudet.
\item Tehtävien arvioidut työmäärät.
\item Tehtävien alustava jako jäsenten kesken.
\item Edelliset neljä esitetään taulukoituna kera sitä tukevan tekstin.
\item Muistakaa myös säännöllisesti (päivittäin tai viikoittain) toistuvat (linjaorganisaation) tehtävät!
\item Oheiskurssin tehtävät erikseen. Perusteena tuntien kirjaaminen eri projekteille ja tilaajalle käsitys opintojakson vaatimasta työmäärästä.
\end{itemize}

\chapter{Prosessimalli ja aikataulu}

Luvussa kuvataan projektissa käytettävä prosessimalli ja suunniteltu aikataulu.

\section{Prosessimalli}
Projekti toteutetaan käyttämällä räätälöityä prosessimallia.

Sovellus kehitetään neljässä vaiheessa. Ensimmäisessä vaiheessa määritellään ja suunnitellaan sovelluksen ominaisuuksia. Toisessa vaiheessa rakennetaan sovelluksen runko. Kolmannessa vaiheessa sovellusta kehitetään lisäämällä ominaisuuksia iteroimalla. Neljännessä vaiheessa viimeistellään lähdekoodit ja dokumentaatio.

Ohjelmistokehityksen aloitetaan rakentamalla runko sovelluksesta, jota aletaan inkrementaalisesti parantamaan viikon (tai kahden) jaksoissa. Jakson alussa ryhmä asettaa tavoitteita tulevalle jaksolle, jotka voivat olla uusia ominaisuuksia tai olemassa olevien ominaisuuksien kehittämistä. Jakson päätyttyä tarkastellaan onko tavoitteita saavutettu ja kannattaako keskeneräisiä tavoitteita jatkaa seuraavassa jaksossa. Projektin aikana ryhmä ehtii tehdä neljästä kuuteen jaksoa.

\section{Aikataulu}

Projektin aikataulun suunnitelma on kuvattu Gantt-kaaviona kuvassa

\emph{Tee Gantt-kaavio!!}

%\begin{itemize}
%\item Sovellettavan prosessimallin kuvaus sisältäen vaiheiden ja
%niiden tulosten kuvaamisen. 
%\item Gantt-kaavio sisältäen mielellään tehtäväjaon jäsenten kesken.
%\item Tarkastuspisteet ja katselmoinnit.
%\end{itemize}


\chapter{Riskit ja niiden seuranta} \label{riskit}

Luvussa kuvataan projektissa kartoitetut riskit sekä kuvataan niiden ennakointia ja ehkäisemistä. Riskeille on kuvattu toteutumisen varalta toimintasuunnitelma.

\section{Riskien todennäköisyydet ja haitat}

Riskien todennäköisyydet ja niistä seuraavat haittavaikutukset on esitetty
taulukossa~\ref{riskitaulukko}. Todennäköisyyttä ja haittavaikutusta
arvioidaan asteikolla pieni, keskinkertainen ja suuri.

\begin{center}
\begin{table}[ht]
\centering
\begin{tabular}{| p{7cm} | c | c |}
\hline
\textbf{Riski} & \textbf{Todennäköisyys} & \textbf{Haittavaikutus}\\
\hline \hline
Jäsenten poissaolot & suuri & pieni \\ \hline
Kehittäjien tietotaidon puutteet & keskinkertainen & keskinkertainen \\ \hline
Tavoitteiden rajaus & keskinkertainen & keskinkertainen \\ \hline
Projektihallinnan kokemattomuus & keskinkertainen & pieni \\ \hline
Tavoitteiden muuttuminen & pieni & suuri \\ \hline
Tiedotuksen vähyys & pieni & keskinkertainen \\ \hline
\end{tabular}
\caption{Arvioidut riskit, niiden todennäköisyys ja haittavaikutus.} \label{riskitaulukko}
\end{table}
\end{center}

\newpage

\section{Jäsenten poissaolot}

Ryhmän jäsenellä voi olla suunniteltuja poissaoloja, kuten matka, tai ennakoimattomia, kuten sairastuminen. Suunnitellut poissaolot täytyy huomioida tehtävien jaossa etukäteen sekä projektiryhmän työtunteja tasata ennen sekä jälkeen poissaolon. Lyhyet poissaolot voidaan ratkaista työtuntien tasaamisella poissaolon jälkeen ja pidemmän poissaolon tapauksessa asiasta keskustellaan projektin ohjaajan kanssa.

Jos poissaolo vaikuttaa projektin aikatauluun täytyy asiasta keskustella tilaajan kanssa ja neuvotella muutoksista toteutettavista vaatimuksista.

Lauri Satokankaalla on suunniteltu kahden viikon poissaolo kesken projektin. Projektipäällikkyys vaihtuu matkan jälkeen.


\section{Kehittäjien tietotaidon puutteet}

Ohjelmiston toteutuksessa käytetään monia eri työkaluja ja tekniikoita, joista projektiryhmän jäsenillä ei ole aikaisempaa kokemusta. Näinollen ryhmä ei aina osaa ennakoida mahdollisia ongelmakohtia.

Tietotaidon puute voi viivästyttää tavoitteiden toteuttamista.

Ryhmän sisällä on tietoa tietyistä työkaluista ja tekniikoista, joiden käyttämiseen myös muut ryhmän jäsenet tutustutetaan. Näin olemassa olevaa taitoa pystytään hyödyntämään ryhmän sisällä. Pysymällä ryhmälle tutuissa työkaluissa ja tekniikoissa pystytään myös paremmin ennakoimaan ongelmia. Ongelmatilanteissa projektiryhmän on käytettävissään tekninen ohjaaja ja asiantuntijoita.


\section{Tavoitteiden rajaus}

Vaatimusmäärittelyn laatimiseen on kiinnitettävä paljon huomiota, koska tilaajan edustajien tavoitteet poikkeavat toisistaan ja niissä painotetaan eri osa-alueita. Ennen kuin ohjelmiston toteutus aloitetaan, pitää tekijöillä ja tilaajalla olla selkeä kuva siitä mitä ohjelmiston osia ja toimintoja tehdään projektin aikana valmiiksi. Ohjelmisto ei tule projektin päättyessä sisältämään kaikkia vaatimusmäärittelyssä kuvattuja ominaisuuksia.

Vaatimusmäärittelyyn tulee kirjata projektin aikana toteutettavat vaatimukset ja priorisoida ne.

\emph{Miten riski käsitellään, jos toteutuu?}

\section{Projektihallinnan kokemattomuus}

Projektipäälliköillä ei ole kokemusta projektin läpiviemisestä, joten työmäärien ja aikataulun arvioimien on vaikeaa. Tästä johtuen työtehtävien tasainen jakaminen ryhmän jäsenille ja ryhmän jäsenten taitojen hyödyntäminen ei ole optimaalista.

Projektipäällikkö vaihtuu kesken projektin myöhemmin määriteltävänä ajankohtana. Projektipäälliköksi vaihtuvan jäsenen täytyy pitää itsensä ajantasalla nykyisen projektipäällikön toimista. Projektipäällikön tätyy huolehtia, että kaikki dokumentit ovat koko ajan saatavilla tarkasteluun.

\emph{Riskin ehkäisy ja käsittely!}

Projektipäälliköiden täytyy ennen ja jälkeen vaihdon olla tiiviissä vuorovaikutuksessa, jotta vaihto sujuu ilman häiriöitä muiden jäsenten työskentelyyn.

Projektihallinnassa ryhmän jäsenten apu projektipäälliköille on ensiarvoisen tärkeää. Ryhmän jäsenten täytyy muistaa, että projektipäällikkö on oppimassa projektin johtamista. Projektiryhmän jäsenillä on velvollisuus huomauttaa, jos projekti ei etene oikeaan suuntaan. Ryhmän jäsenten täytyy olla oma-aloitteisia ja huomauttaa, jos tehtäviä jää tekemättä.


\section{Tavoitteiden muuttuminen}

Tilaajalla ei ollut selkeää yhtenäistä kuvaa ohjelmiston tavoitteista. Ryhmä joutuu projektin alussa käyttämään paljon aikaa sovittaakseen tilaajan näkemykset yhtenäiseksi vaatimusmäärittelyksi. Ryhmän muodostama kuva ohjelmiston tavoitteista voi erota tilaajan toiveista ja tarpeista.

\emph{riskin seuraus}

Ohjelmistoa kehitettäessä on tärkeää kommunikoida tiiviisti ryhmän ja tilaajan välillä, jotta mahdolliset erot tavoitteissa huomattaisiin nopeasti. Käyttöliittymäprototyypeillä voidaan tilaajalla esitellä  projektiryhmän tavoitteita kehitettävän ohjelmiston toiminnallisuuksista ja ominaisuuksista jo ennen ohjelmiston koodaamista.

Sovittujen tavoitteiden muuttuessa täytyy ryhmän ja tilaajan yhdessä päättää mitä vaatimusmäärittelyn vaatimuksia voidaan sivuuttaa, jotta projekti pysyy aikataulussa.


\section{Tiedotuksen vähyys}

Projektiorganisaatiossa tiedonkulku on tärkeää.  Tiedotuksen puute voi vaarantaa koko projektin aikataulussa pysymisen tai jopa sen onnistumisen.

Tiedotuksen täytyy olla riittävää, jotta jokainen osapuoli pysyy ajantasalla projektin kulusta ja omista tehtävistään projektin eteenpäin viemiseksi. Jos projektin tiedotuksessa havaitaan puutteita, projektipäällikön täytyy pystyä korjaamaan havaitut ongelmat ja pyytää asianomaisia parantamaan tiedottamistaan. Jokaisen projektiorganisaation jäsenen täytyy tiedottaa havaituista ongelmista ja valmistuneista tehtävistä asiaankuuluville henkilöille.


%LÄHTEET
\begin{thebibliography}{1}
%Katso kirjoitusohjeen luku 2.3 ja 2.4.
\bibitem[1]{Jok05} Jokinen, R., ''Ohjelmistoprosessit'', Helsinki: Otava, 2005.
\end{thebibliography}

%LIITTEET
\begin{appendix}

\chapter{Ensimmäinen liite}

Tänne tarvittaessa liitteitä.

\end{appendix}

% Dokumentin  lopetus
\end{document}
