johdatus ohjelmistotuotantoon luento 10 · 2014. 11. 3. · johdatus ohjelmistotuotantoon luento 10...
TRANSCRIPT
Johdatus ohjelmistotuotantoon Luento 10
Asiakasroolista ja projektitoiminnasta
Kari Systä, 3.11.2014
03.11.2014 JOTU/KSY 1
Ohjelmassa tänään
• Viime luennolla käsittelemättä jäänyt materiaali
– Uudestaan viime viikolla luennoitsijan hämmentäneet piirakkakaaviot
– Yksi (epäonninen) esimerkki taas
– Käyttöönotosta
• Projektitoiminnasta
03.11.2014 JOTU/KSY 2
Tiedotuksia - uutisia
• Torstain viimeinen (16-18) harjoitus peruttu.
• Suositellaan tilalle keskiviikon viimeistä (16-18).
• Tämän viikon harjoitustyöstä: – VH8 (viikko 45/2014): artikkeliharjoitus: Mythical
Man-Month. Voit etsiä ja lueskella tätä klassikkoartikkelia verkosta etukäteen, jos ehdit. Artikkeli "Mythical Man-Month", teoksessa Frederick P. Brooks, Jr: The Mythical Man-Month - Essays on Software Engineering (sivut 13-26). 1975, Addison-Wesley Publishing Company, Inc.
03.11.2014 JOTU/KSY 3
Alustava luentoaikataulu 25.8: Johdanto + historiaa, mitä on ohjelmistotuotanto
1.9: Ohjelmistojen roolista ja tyypeistä ohjelmistotyön merkitys
8.9: Miten ohjelmistotyö organisoidaan (vaihejako ja prosessi-mallit)
15.9: Vaatimusmäärittelyt
22.9: Vaatimukset 2; tiedon mallintaminen
29.9: Käyttäjä ja käyttäjäkokemus ohjelmisto-projektissa (Jarmo Palviainen)
6.10: Esimerkkiprojekti (M-files)
20.10: Yleiset notaatiot – erityisesti UML
27.10: Asiakasroolista
3.11: Projektitoiminta
10.11: Ohjelmisto osana laitetta
17.11: IPR, sopimukset, open source
25.11:Kertausta
1.12: Palautetta harjoitustyöstä (henk. Kohtaisempi palaute s-postilla)
4 03.11.2014 JOTU/KSY
Vaatimukset tehdään yhdessä?
8 %
12 %
41 %
39 %
80 %
Tilaaja teettääulkopuolisellaToimittajanohjauksessaTilaaja tekee itse
Tilaajanohjauksessa
Kun tilaajalta kysytään
5 %
50 %
17 %
28 % 45 %
Tilaaja teettääulkopuolisella
Toimittajanohjauksessa
Tilaaja tekee itse
Tilaajan ohjauksessa
Kun toimittajalta kysytään
Lähde: Erkka Vastamaan diplomityö 03.11.2014 JOTU/KSY 5
Edellisen luennon pääkohdat
• Harjoitustyö on haastava muttei mahdoton
• Vaatimusmäärittely on aina vaikea eikä asiakas voi vetäytyä vastuusta
• Monitoimittajaprojektit ovat hanhalia
• Avoimet rajapinnat vs. vendor lock in (toimittajalukkiutuminen)
03.11.2014 JOTU/KSY 6
Case 2 – puolustusvoimien palkanmaksu
Taas otsikoita netistä ja lehdistä
• Ja sen perusteella keskustelua
03.11.2014 JOTU/KSY 7
Case 2 – puolustusvoimien palkanmaksu
Taas otsikoita netistä ja lehdistä • Puolustusvoimien palkat ovat olleet sekaisin jo yli vuoden ajan. Henkilös-
tölle on maksettu kuukausipalkkoja yhden sentin ja 24 000:n euron väliltä. Kaikki eivät enää jaksa uskoa, että palkkaongelmat selviävät. Puolustusvoimat hankki viime keväänä uuden SAP-pohjaisen palkkausjärjestelmän, minkä jälkeen henkilöstön palkoissa on ollut paljon erilaisia ongelmia. Työntekijöille on maksettu liikaa palkkaa tai liian vähän palkkaa. Tehtyjen virheiden korjaaminen on kestänyt kauan. Monella on ongelmia kesälomarahojen maksamisessa. (MTV3 verkkouutiset 25.06.2012 )
• Pääesikunnan henkilöstöosaston edustajien mukaan uutta järjestelmää testattiin pitkään ennen käyttöönottoa. Maaliskuussa 2011 näytti siltä, että se toimisi. Järjestelmäongelman luonne teki virheiden ennalta ehkäisemisen vaikeaksi. Usein yhtä virhettä korjatessa oli ilmennyt jokin uusi ongelma. Vikaa löytyi järjestelmästä, käyttäjistä, prosesseista ja tiedon siirrosta järjestelmästä toiseen. Henkilöstöosaston mukaan näitä virheitä oli vaikea ennakoida, koska SAP on hyvin määrämuotoinen järjestelmä, ja se antaa helposti vääriä tuloksia, jos jokin koodi kirjataan väärin (Ruotuväki 13.10.2011). 03.11.2014 JOTU/KSY 8
• Kommentteja (www.tietoviikko.fi, kesäkuu 2012) – Ongelmat Puolustusvoimien palkanmaksussa eivät ole SAP:n tai
Logican syytä. Näin kertoo Puolustusvoimien tiedotuspäällikkö Eero Karhuvaara Tietoviikolle.
– Karhuvaara selventää, että Puolustusvoimissa palkanmaksuun käytetään kokonaisuutta, johon kuuluvat sekä Logican palkkahallinnon ohjelmisto että SAP:n järjestelmä.
– Palkanmaksun ongelmat aiheutuvat virheistä, jotka ovat tapahtuneet tietojen siirtämisessä vanhasta järjestelmästä uuteen. Palkkatiedot eivät ole esimerkiksi siirtyneet SAP:sta eteenpäin tai tietojen muuntaminen ei ole onnistunut.
03.11.2014 JOTU/KSY 9
Otteita eduskunnan apulaisoikeusasiamiehen päätöksestä
• Pääesikunnan mukaan puolustusvoimien palkanmaksu toteutettiin 29.4.2011 alkaen PVSAP ja Logica Palkat -järjestelmillä, joiden käytettävyydestä ja perustietojen oikeellisuudesta vastaa prosessinomistajana Pääesikunnan henkilöstöosasto. Palkkojen maksamisen järjestelmänä toimii Opus Capita -pankkiyhteysohjelmisto, jonka omistaa Pääesikunnan talousosasto. Opus Capitan toimivuudessa ei ole ollut ongelmia.
• Palkkaan vaikuttavat tiedot syötetään puolustusvoimissa pääosin PVSAP -järjestelmään, josta ne siirtyvät liittymien kautta Logica Palkat -palkanmaksujärjestelmään.
• 4.10.2012 Aiemmassa selvityksessä (1.9.2011) mainittu tietoliittymän korjaus ei toteu-tunut arvioidussa aikataulussa elokuun aikana. Tietojärjestelmän toimittajan testauksen perusteella ilmoittama liittymän korjaus ei tuotannossa toiminut määritettyjen vaatimus-ten mukaisesti. Järjestelmien välinen liittymä ei uutta selvitystä annettaessa (4.10.2011) toiminut vaaditulla tavalla.
• Selvityksen mukaan toimenpiteiden aloitus oli viivästynyt, koska toimittaja ei pystynyt korjaamaan liittymää. Korjaavista toimenpiteistä annettava ohje joukko-osastoille oli viivästynyt samasta syystä.
03.11.2014 JOTU/KSY 10
Kertomus jatkuu • 5.3.2012 Aikatietoliittymä saatiin korjattua se toimittajan Accenture Oy:n
toimesta vasta syksyllä. Tästä johtuen lisäpalkkojen maksujaksot menivät ajossa virheellisesti maksuun sillä seurauksella, että lähes kaikkien lisäpalkkoja saavien henkilöiden palkoissa oli virheitä. Mittava lisäpalkkojen korjaus-operaatio mainituilta maksujaksoilta aloitettiin liittymän korjauksen jälkeen.
• Tammikuun 2012 aikana suurin osa korjauksista oli saatu palkanmaksuun.
• Vuoden 2012 alussa ilmeni uusi ongelma, jonka vuoksi vuoden 2012 ensimmäisen maksujakson virkasuhteisen lisäpalkkojen maksu jouduttiin siirtämään 15. päivältä 29. päivälle helmikuuta. SAP:ssa otettiin käyttöön uusi ajastettu ajo, joka siirtää henkilön tietoihin lisäpalkkaan oikeuttavat tunnit, jotka eri syistä eivät ole siirtyneet järjestelmään. Ajastuksen myötä palkka-järjestelmään oli siirtymässä uudelleen maksuun sellaisia tunteja, jotka oli tallennettu järjestelmään hallintoyksiköissä väärää tapaa käyttäen. Liikaa maksetut summat koskivat noin 900 palkansaajaa ja summat olivat suurimmillaan useita tuhansia euroja. Ajastetun ajon käyttöönotto sinänsä parantaa palkanmaksun oikeellisuutta, mutta ensimmäisen takautuvan ajon aiheuttamiin virheellisyyksiin ei osattu varautua.
03.11.2014 JOTU/KSY 11
Havaittuja ongelmia
• Eri järjestelmien yhteensopivuus
• Monitoimittajaympäristö ei ollut hallinnassa
• Systeemi on vaikea käyttää ja altis käyttäjän virheille
03.11.2014 JOTU/KSY 12
Käyttöönotto
• Vaikea ja tärkeä osa, mutta oppaita ja materiaalia löytyy aika vähän
– Rajattu oppikirjankin ulkopuolelle (jos seuraava painos saadaan aikaiseksi, se otetaan mukaan)
• Ohjelmiston käyttöönotto = uuden tietojärjestelmän toteutus
03.11.2014 JOTU/KSY 13
Toiminnanohjausjärjestelmän käyttöönotto pk-yrityksissä VTT-julkaisu 854
• ”Julkaisun keskeinen johtopäätös on, että tietojärjestelmän käyttöönotto on luonteeltaan organisatorinen oppimisprosessi, jota tulee systemaattisesti tukea ja vahvistaa”
• ”…kokemukset ja tutkimukset viittaavat siihen, että liiketoimintaprosessien uudistamiseen liittyvät laajat tietotekniikkahankkeet epäonnistuvat usein. Kansainvälisesti arvioiden vain noin kolmannes hankkeista onnistuu.”
03.11.2014 JOTU/KSY 14
Käyttöönottoon kuuluu
• Vanhan tiedon siirtämistä uuteen – Voi mennä pieleen
• Järjestelmän ja organisaation yhteensovittamista
– Usein molempiin muutoksia
• Oppimista ja omaksumista – Ei riitä että osaa käyttää uutta järjestelmää, on myös osattava
liittää se omaan työhön tehokkaasti – ”Onko kiire vai tehdäänkö tietokoneella”
• Ongelmien ja häiriöiden ratkomista – Eli siis testausta ja korjaamista
• Käyttäjätuen organisoimista
03.11.2014 JOTU/KSY 15
Muutosvastarinta (TAY Pro Gradu, Anne Jokinen)
• Rutiinit ovat ihmisille tärkeä keino rajoittaa kuormittavuutta.
• Muutosvastarinnassa ei ole kyse järkiperäisestä vastustamisesta vaikkakin loogisia argumentteja esitetään. – Ja monet järjestelmät tarjoavat hyviä syitä
• Paikallinen optimi ei ole sama kuin kokonaisuuden optimi – Käyttäjien olisi ymmärrettävä kokonaisuus
• Muutosvastarinta on tunneperäistä • Muuttuu usein työilmapiiriongelmaksi
– Joka on kallista –
03.11.2014 JOTU/KSY 16
Leavittin timantti (organisaation peruselementit ja niiden vuorovaikutus)
03.11.2014 JOTU/KSY 17
Tämän kerran aiheita
• Mikä ja miksi projekti • Projektiorganisaatio ja sidosryhmät • Ohjelmistoprojektin kulku • Projektin suunnittelu
– Ositus – Osallistujat – Työmäärän arviointi – Aikataulutus
• Projektin seuranta • Riskien hallinta • Projektisuunnitelma
03.11.2014 JOTU/KSY 18
Hanke vs. projekti vs. prosessi
03.11.2014 19
• Usein softaa tehdään projekteina
• Projektit viedään usein läpi prosesseina
• On olemassa myös muita projekteja kuin
kehitysprojekteja
• Jos projektit kuuluvat samaan kokonaisuuteen, kutsutaan
kokonaisuutta hankkeeksi
JOTU/KSY
Projekti • Projektiin liittyy lähtötilanne, syy käynnistämiselle ja tavoitetila • Yksi määritelmä: Projekti on
– kertaluontoinen, toisiinsa liittyvien tehtävien ja aktiviteettien muodostama kokonaisuus,
– jolla on suunnitelmallinen toteutus (=tavoitteet, aikataulu, resurssit, kustannukset).
• Projektiin liittyy organisaatio, joka yleensä poikkeaa linjaorganisaatiosta – johto – osallistujat – sidosryhmät...
• Ovatko projekteja? – Johdatus ohjelmistotuotantoon -kurssi syys 2013 – DI-tutkinnon suorittaminen – Komponenttivaraston kiertonopeuden kasvattaminen
03.11.2014 JOTU/KSY 20
Projektityyppejä
• Esitutkimusprojekti, määrittelyprojekti toteutusprojekti…
• Jako aliprojekteiksi – Suurissa projekteissa jako aliprojekteihin (yksi nyrkkisääntö: jos projekti on yli viisi
henkilötyövuotta ja kestää yli vuoden, hankaluuksia on varmasti odotettavissa).
• Muita projektityyppejä – käyttöönottoprojekti – koulutusprojekti – hankintaprojekti – laatujärjestelmän kehitysprojekti. – ohjelmistoprojektiin voi liittyä myös laitteistoprojekti.
• Asiakas- vs. tuotekehitysprojekti: – Verrattuna asiakaskohtaisen ohjelmiston tuottamiseen, ohjelmiston
tuotteistaminen on moninkertainen urakka. – Massatuotteessa vikojen seuraukset voivat olla erittäin kalliita.
03.11.2014 JOTU/KSY 21
Keskeisiä projektin suureita
• Projektin tuotos
– Laajuus (scope)
– Lopputuloksen laatu
• Kalenteriaika
• Ihmiset ("resurssit")
• Mitä tapahtuu, kun yhtä joudutaan muuttamaan (trade-offs)?
03.11.2014 JOTU/KSY 22
03.11.2014 23
Prosessit, metodit, työkalut, taidot...
Small
programs Large systems
Programming language, tools, and technical skills
SW design
Requirements specification
Documentation
Methods
Project management
Quality control, inspections
Testing procedures, planning
Configuration management
More formal, more controlled, more bureaucratic
Requirements management
Measurement
Sometimes, for some people, it seems to be more important to “get the process
done” than to “get the product done”. JOTU/KSY
03.11.2014 24
Ohjelmistoprosessi: Historia (teoriassa)
JOTU/KSY
03.11.2014 25
1970 1980 1990 2000
Prosessi: Historia (todellisuudessa)
Koodaa ja korjaa
Rakenteiset menetelmät
Ketterät
menetelmät
Olio-ohjelmointi
Iteratiivinen kehitys Prosessi:
CMM, Spice, ISO9001…
•Näkyvimmät trendit ...2011:
•ketteryys (agility)
•Scrum
•työkalut
•Global SW Development (GSD)
•Lean
•Outsourcing JOTU/KSY
Projektin suunnittelu
• ”Hyvin suunniteltu on puoliksi tehty”
• Jokainen tietää omat vastuunsa projektissa
• Jokainen tuntee projektin tavoitteet
• Tiedetään, kuinka projektia seurataan ja etenemisestä raportoidaan
• Pystytään vertaamaan edistymistä suunnitelmiin ja sitä kautta arvioimaan projektin lopetusajankohta ja lopullinen hinta
03.11.2014 JOTU/KSY 26
Kiva löytö: (Ken Schwaber: Agile project managemet)
03.11.2014 JOTU/KSY 27
Close to agreement
Far from agreement
Close to certainty Far from certainty
Simple
Complicated
Complicated
Complex
Anarchy
Projektiorganisaatio
03.11.2014 JOTU/KSY 28
Ohjaus Projekti
Projektin
valmistelu Projekti-
ehdotus
Projektin
asettaminen Projekti-
kuvaus
Projektin
suunnittelu
Projekti-
suunnitelma Ohjausryhmä
Projektisuunnitelman
hyväksyminen
Seuranta ja
ohjaus
Projektin päättäminen
Tuotosten
hyväksyminen
Seuranta-
raportit
Ohjaus
Muutos-
ehdotukset
Projektin
tuotokset
Loppuraportti
Pro
jektin
läp
ivie
nti
Päivitetty
projekti-
suunnnitelma
JOTU/KSY 29 03.11.2014
Projektisuunnittelun haaste
03.11.2014 JOTU/KSY 30
Ku
sta
nn
ukse
t
Kalenteriaika
Ma
hd
oto
n a
lue
Mahdoton alue
Projektit ovat erilaisia
03.11.2014 JOTU/KSY 31
YHDESSÄ LUENNOLLA MIETITÄÄN MITÄ TARKOITTAA KUSTANNUKSILLA
JOTU/KSY 32 03.11.2014
Ja se on usein vielä vaikeampaa
03.11.2014 JOTU/KSY 33
03.11.2014 34
Suunnittelu
• organisointi • tavoitteiden tarkentaminen • riskien analysointi • Teknologioiden, työmenetelmien ja –kalujen valinta • tukitoimintojen suunnittelu (dokumentointi, laadunvarmistus,
tuotteenhallinta) • vaiheistaminen ja osittaminen (WBS) • työmäärien arviointi • osallistujien työpanoksen kartoittaminen sekä aikataulutus • projektibudjetti, kassavirtalaskelma • millä edellytyksillä projekti voi toteutua.
JOTU/KSY
03.11.2014 35
Projektisuunnitelma
• Projektisuunnitelma, dokumenttirunko...
– www.cs.tut.fi/ohj/laatu (= HYTT)
• Loppuraportti, dokumenttirunko…
• ISO 10006:1997 Quality management - Guidelines to quality in project management
Proj. no:
Tekstiä:
Projekti:
PROJEKTIKORTTI
ISOT PROJEKTIT KESKISUURETPROJEKTIT
PIENETPROJEKTIT
PROJEKTISUUNNITELMALIITTEINEEN
PROJEKTISUUNNITELMA PROJEKTIKORTTIJOTU/KSY
http://nadihassan.wordpress.com
03.11.2014 JOTU/KSY 36
03.11.2014 37
Projektisuunnitelma: MIKSI?
• Projektin ohjauksen ja seurannan apuväline, joka samalla toimii "sopimuksena" ja tiedonvälittäjänä eri sidosryhmien kesken.
• Tavoitteet
• Tehtävät ja aikataulu
• Organisointi ja vastuut
• Toimintatavat, työvälineet
• Raha
• Riskit
JOTU/KSY
Työmäärän arvioinnin ongelmia
• Projektin vaatimukset muuttuvat
• Projektin tavoite ja sisältö on heikosti määritelty
• Projektin organisaatio, määräykset, lait tai tilajärjestelyt muuttuvat
• Arvioiden tekijät ovat kokemattomia
• Arviointi on tehty liian suurina kokonaisuuksina
• Käytössä ei ole historiatietoa
• Henkilöstö vaihtuu
• Johto sanelee työmääräarviot
• Projektin johtaminen ei ole jämäkkää
03.11.2014 JOTU/KSY 38
Vähän työmäärän arvioinnista (näistä lisää kurssilla ohjelmistotuotannon menetelmät)
• “valistunut arvio”
– kokemukseen perustuva
• COCOMO (Constructive Cost Model, 1981) ja COCOMO II
– Koodirivien määrä, kustannuskertoimet
– Tuloksena “ihanteellinen” kalenteriaika
• Toimintopisteet (FPA - Function Point Analysis)
• Kolmen arvion malli
– Pessimistinen, todennäköinen ja optimistinen arvio
• Ketterät - Planning poker
03.11.2014 JOTU/KSY 39
Gantt – kaaviot (lähde: http://www.matchware.com)
03.11.2014 JOTU/KSY 40
Toinen versio (Lähde: http://orgmode.org)
03.11.2014 JOTU/KSY 41
Ne riskit usein unohtuu
03.11.2014 JOTU/KSY 42
Riskeistä usein mietitään
• Riskin todennäköisyys
• Riskin vakavuus
• Riskien toteutumisen ehkäisy
• Riskien toteutuessa – mitä tehdään
03.11.2014 JOTU/KSY 43
Ketterät vs ja projektin hallinta Perinteinen
• Hyvät suunnitelmat
• Tarkka hallinto ja seuranta
• Projektipäällikkö
Ketterät • Yksilöitä ja vuorovaikutusta
enemmän kuin prosesseja ja työkaluja
• Toimivaa sovellusta enemmän kuin kokonais-valtaista dokumentaatiota
• Asiakasyhteistyötä enemmän kuin sopimusneuvotteluita
• Muutokseen reagoimista enemmän kuin suunnitelman noudattamista.
• Product owner scrum master
03.11.2014 JOTU/KSY 44
Ketterät ja projektinhallinta
Muistettava
• Resurssien- ja rahankäyttöä on kuitenkin suunniteltava ja seurattava
• Projektiin kuuluu muutakin kuin se softan tekeminen
• Varsinaiset haasteet syntyvät projekteissa jotka ovat suurempia kuin yksi Scrum-tiimi
Toisaalta
• Oikein tehty ketterä projekti tarjoaa paremman näkyvyyden edistymiseen kuin perinteinen
• Tuoteomistaja (Product owner) on tärkeä henkilö
– Jonka intressit usein ratkaisee
03.11.2014 JOTU/KSY 45
TTL-julkaisusarja, Tietojärjestelmän hankinta - Ohjelmistotoimittajan ja -ratkaisun valinta. Helsinki 2005, Talentum
03.11.2014 JOTU/KSY 46
Sitähän se kaikki on (http://nadihassan.wordpress.com)
03.11.2014 JOTU/KSY 47