Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy www.softqa.fi



Samankaltaiset tiedostot
Vaatimusten luomisesta kehitykseen ja testaukseen

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Soft QA. Vaatimusten muutostenhallinta. Ongelma

Vaatimusten ja testauksen yhteys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Tietojärjestelmän osat

Projektityö

Testaaminen ohjelmiston kehitysprosessin aikana

Käyttötapausanalyysi ja testaus tsoft

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Tutkittua tietoa. Tutkittua tietoa 1

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy

Estimointityökalut. Pekka Forselius, Senior Advisor Finnish Software Measurement Association FiSMA ry

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Onnistunut Vaatimuspohjainen Testaus

Lyhyt johdatus ketterään testaukseen

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Avoimen ja yhteisen rajapinnan hallintamalli

Ohjelmiston toteutussuunnitelma

Ketterä vaatimustenhallinta

TOIMINNALLINEN MÄÄRITTELY MS

ABB Drives and Controls, Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

Rakentamisen 3D-mallit hyötykäyttöön

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

Työkalut ohjelmistokehityksen tukena

Tapahtuipa Testaajalle...

Ohjelmistojen suunnittelu

Welding Production Analysis

Ohjelmistotekniikka - Luento 2

T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä

Käyttäjäkeskeinen suunnittelu

Uudelleenkäytön jako kahteen

LÄÄKINTÄLAITTEEN VASTAANOTTOTARKASTUS

Verkko-opetus arvon yhteistuotannon ympäristönä Ari-Matti Auvinen

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Raakakahvin tilaus- ja toimitusketju läpinäkyväksi ja luotettavaksi. Jorma Varis, Paulig Tom Lindmark, IBM

Määrittelyvaihe. Projektinhallinta

Aluksi. Riskien hallinta. Riskityyppejä. Riskillä on kaksi ominaisuutta. Reaktiivinen strategia. Proaktiivinen strategia

Office ohjelmiston asennusohje

Specifica(on by Example Vaa(mukset ja testaus ke9erissä projekteissa. Marko Taipale

Testauksen suunnittelu ja dokumentointi ketterässä testauksessa Tutkimustuloksia

CMM Capability Maturity Model. Software Engineering Institute (SEI) Perustettu vuonna 1984 Carnegie Mellon University

CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto Software Engineering Institute (SEI)

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

Innovation

Standardi IEC Ohjelmisto

Mitä käytettävyys on? Käytettävyys verkko-opetuksessa. Miksi käytettävyys on tärkeää? Mitä käytettävyys on? Nielsen: käytettävyysheuristiikat

IBM Iptorin pilven reunalla

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

AVOIMEN TUOTTEEN HALLINTAMALLIT. Kunnassa toteutettujen tietojärjestelmien uudelleenkäyttö. Yhteentoimivuutta avoimesti

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Yhteenveto tuotteenhallinnan tiimoilta kertyneistä opeista. Jukka Kääriäinen

käyttötapaukset mod. testaus

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Tietojärjestelmä uusiksi? Toimijaverkostot, niiden haasteet ja ratkaisut

Virtaava tuotanto ja integroitu tuotteen sekä tuotannon kehittäminen

Software engineering

Elinar Oy Ltd IBM Arkistointiratkaisut

Hankinnan problematiikka

7.4 Variability management

Tietomallintamisen suunnittelu ja dokumentointi käytännössä. Liisa Kemppainen, Sito Oy Jari Niskanen, WSP Finland Oy

SYSTEEMIJOHTAMINEN! Sami Lilja! itsmf Finland 2014! Oct ! Kalastajatorppa, Helsinki! Reaktor 2014

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Co-Design Yhteissuunnittelu

2. päivä. Etätehtävien purku Poikkeamat. Poikkeamat Auditoinnin raportointi Hyvän auditoijan ominaisuudet Harjoituksia

Älykkäämpi päätelaitteiden hallinta Juha Tujula, CTO, Enfo Oyj IBM Corporation

Vaatimustenhallinta. Exit

Johdantoluento. Ohjelmien ylläpito

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

Welding documentation management

ITK130 Ohjelmistojen luonne

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ

Megaprojekti pysyi aikataulussa. Totta vai tarua?

AKKREDITOITU TESTAUSLABORATORIO ACCREDITED TESTING LABORATORY WE CERTIFICATION OY OPERATOR LABORATORY

SOA & Ajax Sanahelinää vai toimivaa käytäntöä sähköisessä asioinnissa? Fenix hankejohtaja Harri Juuti Projektipäällikkö Teemu Karvonen

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Käytettävyys verkko-opetuksessa Jussi Mantere

CMMI CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto

Lieventävien toimenpiteiden merkitys osana Natura-arviointia

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa

Sijainnin merkitys Itellassa GIS. Jakelun kehittämisen ajankohtaispäivä

Verkkokurssin suunnitteluprosessi

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

HR- järjestelmän ketterä käyttöönotto. case Saga Furs Oyj

Miten 333 organisaatiota voi kehittää yhtä yhteistä digitaalista palvelua ja vielä kuunnella kaikkien asiakkaita?

Käyttäjäkeskeisen suunnittelun periaatteet ja prosessit

Transkriptio:

Laadukas vaatimustenhallinta Pekka Mäkinen www.softqa.fi

Esityksen perusajatuksia Vaatimuksilla on elinkaari ja ne muuttuvat. Tuotteen elinkaari vaikuttaa vaatimuksiin. Vaatimusten keruussa ja -hallinnassa pätee aina samat asiat aivan siitä riippumatta mikä on prosessi. Loppujen lopuksi halutaan saada vaatimukset toteuttua ja osoitettua että ne on toteutettu. Prosessin pitää tukea laadukasta vaatimustenhallintaa ja mahdollisen työkalun prosessia. 2

Vaatimustenhallinnan ongelma tiivistettynä "When I use a word," Humpty Dumpty said in rather a scornful tone. "It means just what I choose it to mean - neither more or less." Lewis Carroll 3

Mitä ovat vaatimukset? Vaatimukset määrittävät Mitä käyttäjät haluavat saada aikaan Mitä systeemin pitää tehdä, jotta se tyydyttäisi käyttäjien tarpeet ja vaatimukset Mitä toimintoja tarvitaan, jotta em. tarpeet tulisivat täytettyä Mitä yksittäiset komponentit tekevät ja mikä on komponenttien välinen yhteistoiminta Kuinka toteutus ja suorituskyky tullaan todentamaan Laatu on vaatimustenmukaisuutta Philip Crosby 1. Mitkä ovat vaatimukset? 2. Mitä ei tiedetä? 3. Kuinka hyviä vaatimukset ovat? Prosessi 4

Mitä on vaatimustenhallinta? Vaatimustenhallinta on pohjimmiltaan ihmisten välistä viestintää, joka pyrkii yhteiseen ymmärrykseen. Kaikki toimenpiteet, jotka siis edistävät tätä yhteisen ymmärryksen syntymistä ovat siis positiivisia. Tältä kannalta nähtynä ei ole merkityksellistä miten vaatimukset esitetään, kunhan esitystapa on selkeä ja ymmärrettävä. Kaikissa hankkeissa on vaatimuksia eri tasoilla ja pitää ymmärtää mikä vaatimuksen vaikutus on sen omalla tasolla. Eri tasojen vaatimuksia ei välttämättä dokumentoida dokumentoinnin tarve vaihtelee sen mukaan mitä ollaan tekemässä (WWW-sivusto vs. tietoliikennesatelliitti). 5

Liiketoiminnallinen vaatimus tai tarve Miksi järjestelmää tai ohjelmistoa kehitetään? Hankkeen visio muodostuu liiketoimintavaatimuksista. Haluamme uuden toiminnanohjausjärjestelmän, joka mahdollistaa tuotannon ja varastojen toiminnan tehostamisen Hyvin ylätason vaatimus, joka kuitenkin kuvaa mitä hankkeen pitäisi saada aikaan. Tästä pitää johtaa alemman tason vaatimuksia, ts. minkälaisilla toiminnoilla tehostamme tuotannon ja varaston toimintaa. Näsäviisas kysymys: mitä tarkoittaa tehostaminen, kulut pienemmät (kuinka paljon?), nopeammin (kuinka paljon). Liiketoiminnalliset vaatimukset luovat myös hankkeen rajat, mitä kuuluu tähän projektiin ja mitä ei kuulu. Usein liiketoiminnallisia vaatimuksia ei dokumentoida, eikä niiden toteutumista seurata. 6

Laajennettu V-malli toteutuksesta Visio Suorituskyky -vaatimukset Suunnittelu, mallinnus Katselmoidut vaatimukset Katselmoidut vaatimukset Katselmoitu suunnittelu Toteutus Yksikkötestaus Hyväksymistestaus Järjestelmävaatimukset Systeemitestaus Hyöty Testaus pohjautuu katselmoituihin, hyväksyttyihin vaatimuksiin 7

Erilaiset markkinat ja asiakkaat C u s t o m e r t y p e Kuinka saada asiakkaat / käyttäjät mukaan? Minkälainen prosessi sopii? Vaatimusten uudelleenkäyttö? T y p e o f p r o d u c t N e w U p g r a d e Mass market Tailored / custom Brainstorm Document Market studies Workshop 8

Mikä käyttäjä tai asiakas? Buyer Budget responsible End user Service engineer Trainer Sales person Production personnel Quality department Wholesale End user customer customer Joka järjestelmällä on lukuisia erityyppisiä käyttäjiä tai asiakkaita, jokaisella näistä on omat vaatimuksensa. 9

Miten vaatimukset esitetään: tekstit, käyttötapaukset, tarinakortit Klassinen tekstimuotoinen vaatimus. Ohjelmiston pitää Käyttötapaus: tekstimuotoinen käyttötapaus, käyttötapauskaavio. Tarinakortti (user story). Vaatimukset voivat olla kirjattuina myös tarjouksessa / sopimuksessa tai niiden liitteissä. Käyttötapaukset ja tarinakortit ovat erinomainen tapa kuvata toiminnallisia vaatimuksia ja käyttäjien haluamaa toimintaa. Kannattaa kuitenkin huomioida, että kaikki vaatimuksia ei voida tyydyttävästi liittää käyttötapauksiin: Esim. järjestelmäkehityksessä tuotteen kustannus, koko, paino Datavaatimukset ulos / sisään Standardien asettamat vaatimukset 10

Vaatimuksen elinkaari on aina iteratiivinen Decision point: Accept document or re-enter spiral Informal statement of requirements Requirements elicitation Requirements analysis and negotiation Requirements document and validation report START Agreed requirements Requirements validation Requirements documentation Draft requirements document 11

Vaatimukset siis muuttuvat kehityksen ajan 12

Hyvän vaatimuksen olemus Klassinen lista: hyvä vaatimus on selkeä, toteutettavissa oleva, testattavissa oleva, ristiriidaton muiden vaatimusten kanssa jne. Samanlainen adjektiivilista koskee myös vaatimusdokumentaatiota. Hyvän vaatimuksen vaatimukset koskevat vaatimuksia aivan siitä riippumatta kuinka kevyt tai ketterä kehitysprosessi on koska nämä asiat pitää kuitenkin ratkaista, muuten ko. vaatimuksia ei voida toteuttaa. Vaatimustenhallinta usein tapahtuu piilossa, muiden tehtävien ohella vaatimustenhallinnan ja vaatimusten analysoinnin työmäärä on paljon suurempi kuin tunneista näkyy. Hofmann - Lehner: Requirements engineering as a a success factor in software projects (IEEE Software / July 2001): Allocate 15 to 30 percent of total project effort to RE 13

Vaatimusten uudelleenkäyttö Jos olemassa olevaa tuotetta päivitetään, voi pohjana olla aikaisemmin tehty vaatimusdokumentaatio. Aikaisemmin luotujen vaatimusten uudelleenkäyttö voi tuoda merkittäviä säästöjä. Tämä edellyttää kuitenkin: Dokumentaatio on olemassa Dokumentaatio vastaa olemassa olevaa tuotetta Vaatimukset ovat hyvätasoisia. 14

Systeeminäkemys vaatimustenhallintaan Environment, other systems Software Hardware Interfaces Users Data Ohjelmisto itsessään ei tee mitään, vaikka usein vaatimusten keruussa huomioidaan vain siihen liittyvät vaatimukset. 15

Vaatimukset alusta loppuun, tuotteen elinkaari Esimerkiksi ohjelmistotuote: Ohjelmistoa kehitetään Ohjelmistoa testataan Ohjelmistoa asennetaan Ohjelmisto otetaan käyttöön Ohjelmistoa koulutetaan Ohjelmistoa päivitetään. Jokainen elinkaaren vaihe tuo omat vaatimuksensa. Kuvan lähde: http://edocs-itsolutions.com/training.html 16

Vaatimusdokumentaation ja työkalun tarve Henkilömäärä Aika Dokumentaation määrä Mitä enemmän pelaajia kentällä, mitä monimutkaisempaa tai kestoltaan pidempää sitä tarpeellisempaa on tukea prosessia työkalulla. 17

Mitä usein unohtuu? Vaatimukset elävät koko projektin ajan ja sen jälkeenkin jos halutaan päivittää olemassa olevaa versiota. Unohtuvia asioita: Tuotteen tietyn elinkaaren aikaiset vaatimukset, esim. tuote pitää testata mitä vaatimuksia tämä tuo tuotteelle? Tuotteen käyttäjäryhmä unohtuu tuote pitää asentaa käyttöön, mitä vaatimuksia asentajilla on? Tuotetta käytetään tietyssä ympäristössä, mitä vaatimuksia tämä ympäristö tuo tai mitä vaatimuksia laite asettaa ympäristölle? Tuote kytkeytyy muihin järjestelmiin, mitä vaatimuksia näillä kytkennöillä on? Vaatimusten sisällön pitää elää tuotteen muutosten myötä, muuten vaatimukset muuttuvat hyödyttömiksi. Ja loppujen lopuksi, kaiken pitää olla helppokäyttöistä, mutta kenelle? 18

Kiitos! Pekka Mäkinen, konsultti, SoftQA Oy Pekka.Makinen@softqa.fi GSM 040 568 2790 http://www.softqa.fi/ 19