Asiakkaan roolista ja vastuusta Johdatus ohjelmistotuotantoon 21.10.2013 Kari Systä 10/21/2013 JOTU2013/Kari Systä 1
Alustava luentoaikataulu 26.8: Johdanto + historiaa, mitä on ohjelmistotuotanto 2.9: Ohjelmistojen roolista ja ohjelmistotyön määrästä, ohjelmistotyypit 9.9: Miten ohjelmistotyö organisoidaan (vaihejako ja prosessi-mallit) 16.9: vaatimusmäärittelyt 23.9: projektitoiminta 30.9: Yleiset notaatiot erityisesti UML 7.10: Esimerkkiprojekti (vierailuluento esillä ihan oikea projekti) 10/21/2013 JOTU2013/Kari Systä 21.10: Asiakasroolista 28.10: Käyttäjä ja käyttäjäkokemus ohjelmistoprojektissa (Kati Kuusinen) 4.11: Tiedon mallintaminen 11.11: Ohjelmisto osana laitetta 1 18.11: Ohjelmisto osana laitetta 2 25.11: IPR, sopimukset, open source 2.12: Kertausta 2
Asiakasrooli => Tietojärjestelmän hankkiminen Ostajan rooli Kilpailuttaminen, sopimukset Ketterä, iteratiivinen, vesiputous Käyttöönotto Käyttäjän näkökulma Muita sidosryhmiä HW suunnittelija Johtaja Monitoimittajaprojektit Avoimet rajapinnat ja muut arkkitehtuuriasiat 10/21/2013 JOTU2013/Kari Systä 3
TLO-35200 Liiketoiminnan ja tietojärjestelmien yhteensovittaminen Liiketoiminnan tavoitteiden huomioimista yrityksen tietohallinnon toiminnassa ja toisaalta tietoteknisten mahdollisuuksien hyödyntäminen liiketoiminnassa on erittäin haastavaa. Kurssin tavoitteena on tarjota opiskelijoille tietojärjestelmien kokonaisvaltaisesta kehittämisestä organisaatioiden tarpeisiin. Kurssin päätyttyä opiskelijat ymmärtävät liiketoiminnan asettamien vaatimusten vaikutukset tietohallinnolle ja tietojärjestelmille, sekä erilaisia vaikutusmahdollisuuksia uusien tietojärjestelmien tarjoamien liiketoimintamahdollisuuksien toteuttamiseksi. Kurssilla opiskelijoille tarjotaan tiedot yritysten strategioiden vaikutuksesta toimintaprosesseihin ja edelleen tietojärjestelmiin sekä toisaalta uusien tietojärjestelmien tarjoamista uusista liiketoimintamahdollisuuksista. 10/21/2013 JOTU2013/Kari Systä 4
TLO-35210 Tietojärjestelmien uusiminen ja käyttöönotto Kurssin suoritettuaan opiskelija ymmärtää tietojärjestelmien uusimiseen liittyvät vaihtoehdot ja vaihtoehtojen edut ja haitat. Lisäksi opiskelija hallitsee tietojärjestelmien käytöönottoon liittyvän problematiikan. 10/21/2013 JOTU2013/Kari Systä 5
Perinteinen Toimittaja tutkimus toteutus testaus tarjous määrittely käyttöönotto määrittely käyttöönotto tarjouspyyntö tarjous 10/21/2013 Asiakas JOTU2013/Kari Systä 6
Iteratiiviset, ketterät yms Toimittaja tutkimus tot tot tot tot tarjous määr. test demo test demo test demo test käyt.otto määr. demo demo demo käyt.otto tarjouspyyntö Asiakas tarjous Demo tarkoittaa yhdessä käyttäjän kanssa tehtävää uudelleen pohdintaa. 10/21/2013 JOTU2013/Kari Systä 7
Tietojärjestelmän rakentaminen Liiketoimintastrategia Strategiset tavoitteet Mittaus ja analysointi Järjestelmävaatimukset Tietojärjestelmätoimitus Käyttöönotto ja hyväksyminen Ylläpito Mukailtu lähteestä: Timo Koivisto: Tietojärjestelmätoimituksen jälkiseuranta, Systeemityö 3/2006 10/21/2013 JOTU2013/Kari Systä 8
Tarpeet / Riskit Järjestelmän vaatimusten on vastattava liiketoimintatavoitteita tai tarpeita yleensäkin Järjestelmän on toteutettava kaikki (ainakin tärkeät) vaatimukset Järjestelmän on toteutettava vaatimukset oikein Järjestelmän on oltava valmis ajoissa Järjestelmän kaikkien kustannusten on oltava suhteessa tuottoihin 10/21/2013 JOTU2013/Kari Systä 9
Tiejärjestelmän hankintaprosessi (Tietojärjestelmän hankinta - Ohjelmistotoimittajan ja -ratkaisun valinta. TTL-julkaisusarja, Helsinki 2005) 10/21/2013 JOTU2013/Kari Systä 10
Eräs kiva havainnollistaminen: CxO Mentor Oy:n kehityshankemalli Lähde: Myllymäki, R., Hinkka, T., Dahlberg, T. & Uimonen, B. Miksi tietojärjestelmäprojekti epäonnistuu? Tositarinoita tuhon teiltä ja onnistumisen siemeniä. Helsinki 2010, CxO Mentor Oy. 286 s. 10/21/2013 JOTU2013/Kari Systä 11
Tietojärjestelmähankkeiden onnistuminen vuosina 2000-2008 60 50 40 30 Onnistunut Epäonnistunut Haasteellinen 20 10 0 2000 2002 2004 2006 2008 Lähde: The Standish Group. Chaos Summary for 2010 [WWW]. 2010. Saatavissa: http://insyght.com.au/special/2010chaossummary.pdf. (Uudelleen visualisoitu Erkka Vastamaan diplomityössä) 10/21/2013 JOTU2013/Kari Systä 12
Ongelmiin ajautumiseen johtaneet tekijät tietojärjestelmäprojekteissa (%) Käyttäjäpalautteen puute Puutteelliset vaatimukset ja spesifikaatiot Muuttuvat vaatimukset ja spesifikaatiot Johdon tuen puute Teknologiset ongelmat Puutteelliset resurssit Epärealistiset odotukset Epäselvät tavoitteet Epärealistinen aikataulu Uusi teknologia 0 2 4 6 8 10 12 14 Lähde: The Standish Group. The Standish Group Report CHAOS [WWW]. 1995, 10/21/2013 Saatavissa: https://cs.nmt.edu/~cs328/reading/standish.pdf. JOTU2013/Kari Systä 13 (Uudelleen visualisoitu Erkka Vastmaan diplomityössä)
10/21/2013 JOTU2013/Kari Systä 14
Huomioitava lause Koska itse järjestelmän koodaus on kolmannen osapuolen käsissä, ei Salibandyliitto voi määritellä tarkkoja aikatauluja järjestelmän eri vaiheiden käyttöönotosta. 10/21/2013 JOTU2013/Kari Systä 15
VR:n lippu-uudistus (http://www.vrgroup.fi/fi/vakiolinkit/vrkonsernitiedottaa/news_20110901085340.html) Tämä tiedote kertoo, että taustalla on ollut liiketoimintatavoitteita Yksittäisen junamatkan hintaan tulee nykyistä enemmän valinnanvaraa, sillä tarjouksia lisätään ja muita lippuja edullisempi Ennakkolippu tulee pysyväksi osaksi lippuvalikoimaa. Verkkopalvelujen valikoima laajenee, ja junamatkojen hankintaan tulee uusia tapoja. Myös junien matkustusluokkien nimet uudistuvat, ja samalla nykyisen Business-luokan lipun hinta laskee. Nyt tehtävät uudistukset ovat ensimmäinen askel kohti mallia, jossa yksittäisen junavuoron hinnoitteluun vaikuttaa kysyntä. Verkkokauppaan tulee uutuutena asiakkaiden toivoma vaunukartta, josta voi itse valita matkalleen haluamansa istumapaikan. Samoin säännöllisesti matkustavien sarjalipun maksuton paikanvaraus on jatkossa mahdollista tehdä verkossa. Myös polkupyörän ja lemmikkieläinten liput saa uudistuksen myötä verkkokaupasta. 10/21/2013 JOTU2013/Kari Systä 16
Toimittaja tutkimus tarjous tarjouspyyntö tarjous määrittely määrittely toteutus testaus käyttöönotto käyttöönotto Kunnon määrittely ensin + On selkeä sopimus +Tiedetään etukäteen mitä saadaan + Kun on etukäteen mietitty ei matkan varrella tehdä turhaa + Riitatilanteissa tuomareilla on helppoa - Muutosten tekeminen vaikeaa - Voiko määrittelyä tehdä kunnolla? Asiakas Toimittaja Tehdään yhdessä iteratiivisesti + voidaan yhdessä oppia * vaatii molemminpuolista sitoutumista ja luottamusta tutkimus tarjous määr. tot test demo tot test demo tot test demo tot test käyt.otto määr. demo demo demo käyt.otto tarjous Demo tarkoittaa yhdessä käyttäjän tarjouspyyntö kanssa tehtävää uudelleen 10/21/2013 JOTU2013/Kari Systä pohdintaa. 17 Asiakas
Oulun seudun päivähoito (http://www.tietoviikko.fi/kaikki_uutiset/tietoyhteiskuntahanke+epaonnistui+oulussa+ndash+mutta+tietoenator+teki+tilin/a136937) Luennolla pohdittiin eri näkökulmia ja spekulaatioita 10/21/2013 JOTU2013/Kari Systä 18
Yhteenveto Syyllistä emme tiedä, emmekä edes etsi. Emme edes tiedä kuinka paljon lainatussa jutussa on virheitä. Mutta: Tilaajalla on aina iso vastuu ja tilaajan on osattava hommansa. Varsinkin jos on monta toimittajaa, kokonaisvastuun on oltava tiedossa. Ja konkreettisista tapauksista voi aina myös oppia Monitoimittajatilanne Rajapinnat ja niiden merkitys Käyttööoton huolellinen suunnittelu Asiakasorganisaation sitoutuminen tärkeää 10/21/2013 JOTU2013/Kari Systä 19
Monitoimittajaprojektit Tarvittavaa järjestelmää rakentaa usein monen toimijan verkosto Koska projekti on liian suuri yhdelle, tai Tarvitaan monenlaista osaamista, tai Kilpailutus tai liiketoimintasyistä Haasteita Vastuun jakaminen (yksi toimittaja vastuussa kokonaisuudesta vaiko tilaaja) Rajapintojen määritteleminen tärkeä 10/21/2013 JOTU2013/Kari Systä 20
Abrahamsson ja Mikkonen Helsingin sanomien vieraskynä 23.9.2011 (case VR:n lipunmyynti) Käytännössä ohjelmistot toimitetaan nykyisin niin sanotussa monitoimittajaverkostossa, jossa yhdessä projektissa voi olla useita päätoimittajia ja heidän lukuisia alihankkijoitaan. Lainsäädännön kannalta tarkasteltuna kilpailutus on toiminut hienosti, mutta järjestelmän tilaajan näkökulmasta tilanne on monimutkainen. Ohjelmistontoimittajat ovat kilpailijoita eivätkä keskustele toistensa kanssa. Ostajan on luotettava päätoimittajien sanaan siitä, että kaikki toimii sitten aikanaan. Ongelmatilanteisiin varaudutaan lakimiesten avulla. Tilanne on osin jopa paradoksaalinen: ostaja kyllä omistaa tilaamansa tietojärjestelmän mutta ei voi itse kehittää sitä edelleen, vaikka järjestelmä olisi keskeinen osa liiketoimintaa. Yksi selitys VR:n ongelmiin piilee rakenteissa. Sekä Suomessa että EU:ssa laki velvoittaa kilpailuttamaan kaikki yli 15 000 euron hankinnat. Järjestelmien kehittäminen jaetaan projekteiksi, jotka kilpailutetaan. 10/21/2013 JOTU2013/Kari Systä 21
Periaatteita Hankintalaki Saamalla tarjouksia mahdollisimman monelta toimittajalta, pyritään julkisten varojen tehokkaaseen käyttöön. Julkisen sektorin yksiköt ovat lisäksi velvollisia käyttämään hyväksi markkinoilla olemassa olevia kilpailumahdollisuuksia. Ylipäätään pyrkii varmistamaan kilpailun syntymisen hankintoja tehtäessä. Kilpailuttamisvelvoitteeseen ja sen laajuuteen vaikuttaa hankintojen luonteen lisäksi hankinnan arvo (kynnysarvo). Suositellut menettelyt Avoin menettely Rajoitettu menettely Neuvottelumenettely Kilpailullinen neuvottelumenettely 10/21/2013 JOTU2013/Kari Systä 22
Avoin menettely Lähde: JUHTA julkisen hallinnon tietohallinnon neuvottelukunta. JHS 167 - Neuvottelumenettelyjen käyttö ICT-hankinnoissa 10/21/2013 [WWW]. 5.10.2012, [http://docs.jhs-suositukset.fi/jhs-suositukset/jhs167/jhs167.pdf. JOTU2013/Kari Systä 23 Sekä Erkka Vastamaan diplomityö
Rajoitettu menettely Lähde: JUHTA julkisen hallinnon tietohallinnon neuvottelukunta. JHS 167 - Neuvottelumenettelyjen käyttö ICT-hankinnoissa 10/21/2013 [WWW]. 5.10.2012, [http://docs.jhs-suositukset.fi/jhs-suositukset/jhs167/jhs167.pdf. JOTU2013/Kari Systä 24 Sekä Erkka Vastamaan diplomityö
Neuvottelumenettely Lähde: JUHTA julkisen hallinnon tietohallinnon neuvottelukunta. JHS 167 - Neuvottelumenettelyjen käyttö ICT-hankinnoissa 10/21/2013 [WWW]. 5.10.2012, [http://docs.jhs-suositukset.fi/jhs-suositukset/jhs167/jhs167.pdf. JOTU2013/Kari Systä 25 Sekä Erkka Vastamaan diplomityö
10/21/2013 JOTU2013/Kari Systä 26
10/21/2013 JOTU2013/Kari Systä 27
Vaatimukset tehdään yhdessä? 12 % 8 % 80 % 41 % 39 % Tilaaja teettää ulkopuolisella Toimittajan ohjauksessa Tilaaja tekee itse Kun tilaajalta kysytään Tilaajan ohjauksessa 50 % 45 % 17 % 28 % Tilaaja teettää ulkopuolisella Toimittajan ohjauksessa Tilaaja tekee itse Kun toimittajalta kysytään Tilaajan ohjauksessa 5 % Lähde: Erkka Vastamaan diplomityö 10/21/2013 JOTU2013/Kari Systä 28
Palataan Ouluun Ylitarkastaja Voutilaisen mukaan Oulussa vallitsi epäselvyyttä myös siitä, mitä rajapintojen kehittäminen ja toteuttaminen tarkoittaa. It-talojen mukaan siihen ei kuulunut varsinaista käyttöönottoa, mikä tuli projektivastuullisille yllätyksenä. Oulun tietohallintojohtaja Ilari Heikkinen myöntää epäselvyydet. Täällä ei osattu vaatia sopimuksiin oleellisia asioita, eikä toimittajalla ollut intressiä huomauttaa asiasta. Valtiovarainministeriön KuntaIT-yksikön projektipäällikkö Tommi Oikarisen mukaan Jupa-hankkeiden perimmäinen ongelma on ollut puuttuva muutoksenhallinta. Kun suunnitelmia muutettiin, ne olisi pitänyt hyväksyttää ja kirjata tavoitteisiin. Toisaalta hankkeen aikana emme sisäasianministeriössä osanneet arvioida työmääriä tai resursointia oikein ja tehdä riittävän tiukkoja sopimuksia. 10/21/2013 JOTU2013/Kari Systä 29
Avoimet rajapinnat - esimerkki 10/21/2013 JOTU2013/Kari Systä 30
Webin peruselementit HTML CSS JavaScript HTTP protokolla Täysin avoimia standardeja Määrittelyt kaikkien saatavilla Kaikilla lupa toteuttaa Ilmaisia ja kaupallisia toteutuksia saatavilla Apua ja ohjeita saatavilla Yhteensopivuus melko hyvä Follow the cow-path be strict when sending tolerant when receiving 10/21/2013 JOTU2013/Kari Systä 31
Komponentit Flash sovellus - puoliavoin JPEG-kuva - yleinen standardi 10/21/2013 JOTU2013/Kari Systä 32
JPEG avoin? (http://en.wikipedia.org/wiki/jpeg) In 2002, Forgent Networks asserted that it owned and would enforce patent rights on the JPEG technology, arising from a patent that had been filed on October 27, 1986, and granted on October 6, 1987 (U.S. Patent 4,698,672). The announcement created a furor reminiscent of Unisys' attempts to assert its rights over the GIF image compression standard. The JPEG committee investigated the patent claims in 2002 and were of the opinion that they were invalidated by prior art. [30] Others also concluded that Forgent did not have a patent that covered JPEG. [31] Nevertheless, between 2002 and 2004 Forgent was able to obtain about US$105 million by licensing their patent to some 30 companies. As of October 27, 2006, the U.S. patent's 20-year term appears to have expired, and in November 2006, Forgent agreed to abandon enforcement of patent claims against use of the JPEG standard. [36] The JPEG committee has as one of its explicit goals that their standards (in particular their baseline methods) be implementable without payment of license fees, and they have secured appropriate license rights for their upcoming JPEG 2000 standard from over 20 large organizations. 10/21/2013 JOTU2013/Kari Systä 33
Rajapinnat liiketoiminnan mahdollistajina Flash sovellus Flash sovellus Plugin Plugin Selain Selain Ohjelmointikieli ja kirjasto Käyttöjärjestelmä 10/21/2013 JOTU2013/Kari Systä 34
Serverin pää voisi olla Sovellus Ohj kieli (PHPI HTTP-palvelin Ohjelmointikieli ja kirjasto (C++) Käyttöjärjestelmä 10/21/2013 JOTU2013/Kari Systä 35
Mitäs tämä voisi esimerkiksi tarkoittaa käytännössä? IDEA: Visualisoi esitietoketjut kurssille XXX. Selain Lisä 3 vaihtoehtoa - lisämoduuli ROCK/POP työkaluun - Uusi web-sovellus - Selaimen sisällä toimiva HTML5 sovellus Lisä ROCK POP Lisä Edut ja haitat + lisämoduulin voi tehdä kuka vaan (asiakkaan etu - toimittajan ei välttämättä) - tekee alkuperäisestä järjestelmästä kalliimman - potenttiaalinen turvallisuusriski, jos ei tehdä kunnolla 10/21/2013 JOTU2013/Kari Systä 36
Avoimuusspekulointia Tässä esimerkissä kolme kahdenlaista rajapintaa: 1. API uusille komponenteille. 2. Palvelurajapinta 3. Web-liittymä Näissä on erilaiset mahdollisuudet Kehittäjille Käyttäjille Ja erilaiset turvallisuushaasteet Selain Lisä ROCK Lisä POP Lisä 10/21/2013 JOTU2013/Kari Systä 37
Mitä on avoin rajapinta? Mitä on avoimuus? Sovellus API on dokumentoitu tarkkaan ja dokumentti on kaikkien saatavilla API on sama kaikille API ei muutu liian usein tai yllättäen Platform Kilpailevat toteutukset sallittuja (plugin, selain, kääntäjä) Ei ole Copyright- tai patentti-esteitä 10/21/2013 JOTU2013/Kari Systä 38
Esimerkkinä Java ME Yhteensopivuus Valmistajan pelivara Yksi digtaattori takaisi yhteensopivuuden, mutta onko tulos silloin avoimiuus? 10/21/2013 JOTU2013/Kari Systä 39
Avoin data Wikipedia: Open data is the idea that certain data should be freely available to everyone to use and republish as they wish, without restrictions from copyright, patents or other mechanisms of control. The goals of the open data movement are similar to those of other "Open" movements such as open source, open content, and open access. 10/21/2013 JOTU2013/Kari Systä 40
Rajapinnat ja monitoimittajaverkostot Rajapinta on yleisin tapa toteuttaa työnjako projektin aikana Vaatii ylimääräistä vaivaa, mutta vaihtoehto on vielä kalliimpi Dokumentoitu ja erikseen hallittu rajapinta mahdollistaa uusien toimittajien käyttämisen lisäkomponentteihin Standardi (tai de-facto) rajapinta mahdollistaa valmiiden komponenttien käytön Toinen puoli asiasta vendor lock-in 10/21/2013 JOTU2013/Kari Systä 41
Case 2 puolustusvoimien palkanmaksu Taas otsikoita netistä ja lehdistä Ja sen perusteella keskustelua 10/21/2013 JOTU2013/Kari Systä 42
Havaittuja ongelmia Eri järjestelmien yhteensopivuus Monitoimittajaympäristö ei ollut hallinnassa Systeemi on vaikea käyttää ja altis käyttäjän virheille 10/21/2013 JOTU2013/Kari Systä 43
Käyttöönotto Vaikea ja tärkeä osa, mutta oppaita ja materiaalia löytyy aika vähän Rajattu oppikirjankin ulkopuolelle Ohjelmiston käyttöönotto = uuden tietojärjestelmän toteutus 10/21/2013 JOTU2013/Kari Systä 44
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. 10/21/2013 JOTU2013/Kari Systä 45
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 10/21/2013 JOTU2013/Kari Systä 46
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 10/21/2013 JOTU2013/Kari Systä 47
Leavittin timantti 10/21/2013 JOTU2013/Kari Systä 48