Peruskäsitteet. Vaatimusmäärittely- ja hallinta. Vaatimusmuutosten hinta. Syyt aikataulun ja budjetin ylitykseen

Samankaltaiset tiedostot
Vaatimusmäärittely- ja hallinta. Peruskäsitteet. Syyt aikataulun ja budjetin ylitykseen. TJTA330 Ohjelmistotuotanto

Vaatimusmäärittely- ja hallinta

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

Prosessien kehittäminen. Prosessien parantaminen. Eri mallien vertailua. Useita eri malleja. Mitä kehitetään?

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

Tietojärjestelmän osat

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

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

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

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)

Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto

Mitä on ohjelmistotuotanto?

Projektin suunnittelu

Prosessikuvaukset ja elinkaarimallit

Mitä on ohjelmistotuotanto? Johdanto. Tämän kurssin näkökulma. Kurssin suhde muuhun opetukseen

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Projektin suunnittelu. CMMI-käytänteet. Projektin suunnittelu CMMI-käytänteet

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

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

HITSAUKSEN TUOTTAVUUSRATKAISUT

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

Projektin suunnittelu

Laatu tietojärjestelmähankkeissa. Tietohallinnon kokemuksia Juha-Pekka Leskinen Atk-päällikkö Eduskunnan kanslia

Johdantoluento. Ohjelmien ylläpito

Katselmoinnit. review) Katselmoinnit (review( Mitä ovat katselmoinnit? Katselmoinnin määritelmä (IEEE 1988)

Vaatimustenhallinta. Exit

Projektityö

7.4 Variability management

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science

Työmäärän arviointi. Vaihtoehtoja. Sami Kollanus TJTA330 Ohjelmistotuotanto

Työmäärän arviointi. Vaihtoehtoja. Arviointiprosessi. Sami Kollanus TJTA330 Ohjelmistotuotanto

Vaatimusten hallinta ja vaatimusmäärittely

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

7. Product-line architectures

Collaborative & Co-Creative Design in the Semogen -projects

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

Ohjelmistojen suunnittelu

SoberIT Software Business and Engineering institute

Ketterä vaatimustenhallinta

Laadukkaiden ja luotettavien ohjelmistojen vaatimukset ja miten ne täytetään?

NESTE ENGINEERING SOLUTIONS

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

2. Ohjelmistotuotantoprosessi

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III

SOA SIG SOA Tuotetoimittajan näkökulma

Software engineering

Vaihtoehtoja. Työmäärän arviointi. Arviointiprosessi. Ohjelmiston koon arviointi

Miten luodaan tehokas ja sertifioitu laatujärjestelmä?

Market. Need Market Research New Needs. Technical Research. Current Technological Level

Ohjelmistotekniikka - Luento 2

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

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy

Toimilohkojen turvallisuus tulevaisuudessa

Katselmoinnin määritelmä. Katselmoinnit osa 1. ja vielä ajatuksia katselmoinneista. Katselmointi. Katselmointi, katselmus (review) IEEE Std

JTC1 SC7 kuulumiset: Keskeiset työkohteet ja tulokset. SFS:n IT-seminaari Risto Nevalainen, Senior Advisor FiSMA

SFS, STANDARDIEHDOTUKSEN ISO/DIS ESITTELY

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1

Ohjelmistotuotanto, prosessit Syksy Ohjelmistotuotantoprosessi. Prosessimalli. Prosessimallien perustehtävät. Prosessimallin vaihejako

Ubicom tulosseminaari

Ohjelmistotuotteen hallinnasta

8. Laadunvalvonta. Mitä laatu on?

Elinar Oy Ltd IBM Arkistointiratkaisut

Takki. Lisää ot sik k o osoit t am alla. Nyt se sopii, tai sitten ei. Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi

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

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Onnistunut SAP-projekti laadunvarmistuksen keinoin

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

Käyttäjäkeskeinen suunnittelu

Vaatimusten keräys ja hallinta

WP3 Decision Support Technologies

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

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Standardi IEC Ohjelmisto

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

ISO/IEC sarja (SQUARE)

Avoimen ja yhteisen rajapinnan hallintamalli

$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä

Reliable sensors for industrial internet

ITK130 Ohjelmistojen luonne

Valtionhallinnon käyttäjäpäivä - IBM Cognosin tulevaisuuskatsaus ja nykypäivä

ISO Päivi Kähönen-Anttila

AKKREDITOITU TESTAUSLABORATORIO ACCREDITED TESTING LABORATORY WE CERTIFICATION OY OPERATOR LABORATORY

Making use of BIM in energy management

Onnistunut Vaatimuspohjainen Testaus

CASE POSTI: KEHITYKSEN KÄRJESSÄ TALOUDEN SUUNNITTELUSSA KETTERÄSTI PALA KERRALLAAN

Teknologia-arkkitehtuurit. Valinta ja mallinnus

Yrityksen informaatio- ja toimintoprosessien optimointi

Tapahtuipa Testaajalle...

Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

SESKO ry LAUSUNTOPYYNTÖ 7/08 LIITE Toimisto (5) HUOM. Komiteoiden ja seurantaryhmien kokoonpanot on esitetty SESKOn komitealuettelossa

1 Introduction. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2006

Transkriptio:

Peruskäsitteet Vaatimusmäärittely- ja hallinta Sami Kollanus TJTA330 Ohjelmistotuotanto 30.1.2007 Vaatimusten yhteydessä puhutaan yleensä erikseen vaatimusmäärittelystä ja vaatimusten hallinnasta Vaatimusmäärittely on vaatimusten luomista ja dokumentointia Vaatimusten hallinta on kontrolloitua vaatimusmuutosten hallintaa ja liittyy siten läheisesti projektinhallintaan OHTU 2007 Sami Kollanus 2 Syyt aikataulun ja budjetin ylitykseen Vaatimusmuutosten hinta 40-1000X Virheen korjaamisen suhteellinen kustannus 1 3-6X 10X 15-40X 30-70X (82X IBM keskiarvo) Vaatimusmäärittely Suunnittelu Koodaus Kehitys- Testaus Hyväksymis- Testaus Käyttöönotto, Ylläpito Chaos report 1994, www.standishgroup.com OHTU 2007 Sami Kollanus 3 Boehm 1981. Software Engineering Economics. OHTU 2007 Sami Kollanus 4

Vaatimukset ja CMMI Vaatimusmäärittelyn vaiheet Level5 Level4 Level3 Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management Risk Management Decision Analysis and Resolution Level2 Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management Level1 Organizational Innovation and Deployment Causal Analysis and Resolution Organizational Process Performance Quantitative Project Management Aloitus Ymmärretään ongelma Vaatimusten selvittäminen Käyttäjät, liiketoiminta yms. Tarkentaminen Määritellään edellä kerätyt vaatimukset tarkemmin Neuvottelu Kaikkea ei voida toteuttaa Spesifikaatio Validointi Vaatimusten hallinta OHTU 2007 Sami Kollanus 5 Pressman 2006 OHTU 2007 Sami Kollanus 6 Vaatimusmäärittelyn vaiheet Eritasoinen spesifikaatio User requirements Client managers System end-users Client engineers Contractor managers System architects System requirements System end-users Client engineers System architects Software developers Software design specification Client engineers System architects Software developers Wiegers 2000: Describes 10 Requirements Traps to Avoid OHTU 2007 Sami Kollanus 7 Sommerville 2001. OHTU 2007 Sami Kollanus 8

Baseline ( lähtötaso ) baseline Käyttäjävaatimukset Vaatimusspesifikaatio Suunnitteluspesifikaatio Toteutus Testaus OHTU 2007 Sami Kollanus 9 Gilb. T. 2005. Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage. OHTU 2007 Sami Kollanus 10 Vaatimustyypit Toiminnalliset vaatimukset Ei-toiminnalliset vaatimukset Suorituskyky, luotettavuus, turvallisuus yms. Rajoitteet: Hinta, aikataulu, standardit, laki yms. Vaatimusmäärittelyn käytänteitä (CMMI) tunnistetaan eri osapuolten tarpeet, odotukset Luodaan asiakasvaatimukset Laaditaan tuotevaatimukset Suunnitelmien vaatima tarkkuustaso Suunnitteluratkaisut -> vaatimukset Vaatimusten väliset yhteydet -> konfiguraationhallinta Koskinen ym. 2001, 56. OHTU 2007 Sami Kollanus 11 OHTU 2007 Sami Kollanus 12

Vaatimusten lähteitä Asiakas Käyttäjä Rajapinnat muihin järjestelmiin Valmiskomponentti Osajärjestelmä Standardit: asiakkaan ympäristö, oma tuotelinja yms., alan yleiset standardit Markkinat Laki Vaatimusten tuottaminen Technology demonstrations Interface control working groups Technical control working groups Interim project reviews Questionnaires, interviews, and operational scenarios obtained from end users Operational walkthroughs and end-user task analysis Prototypes and models Brainstorming Quality Function Deployment Market surveys Beta testing Extraction from sources such as documents, standards, or specifications Observation of existing products, environments, and workflow patterns Use cases Business case analysis Reverse engineering (for legacy products) OHTU 2007 Sami Kollanus 13 OHTU 2007 Sami Kollanus 14 Vaatimusmäärittelyn käytänteitä (CMMI) Kohdennetaan vaatimukset toiminnoiksi komponenteiksi Rajoitukset eri komponenteille Tunnistetaan vaatimukset rajapinnoille Testijärjestelmä, tuotantotilat, yms. Analysoidaan ja validoidaan vaatimukset OHTU 2007 Sami Kollanus 15 Vaatimusdokumentin rakenne 1. Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, acronyms, and abbreviations 1.4 References 1.5 Overview 2. Overall description 2.1 Product perspective 2.2 Product functions 2.3 User characteristics 2.4 Constraints 2.5 Assumptions and dependencies 3. Specific requirements Appendixes Index IEEE Std. 830-1998 OHTU 2007 Sami Kollanus 16

... 3. Specific requirements 3.1 External interface requirements 3.1.1 User interfaces 3.1.2 Hardware interfaces 3.1.3 Software interfaces 3.1.4 Communications interfaces... 3. Specific requirements 3.2 Functional requirements 3.2.1 User class 1 3.2.1.1 Functional requirement 1.1. 3.2.1.n Functional requirement 1.n 3.2.m User class m 3.2.m.1 Functional requirement m.1. 3.2.m.n Functional requirement m.n IEEE Std. 830-1998 OHTU 2007 Sami Kollanus 17 IEEE Std. 830-1998 OHTU 2007 Sami Kollanus 18... 3. Specific requirements 3.3 Performance requirements Number of terminals or simultaneous users Amount and type of information handled 3.4 Design constraints Standards, hardware limitations etc. 3.5 Software system attributes Reliability, availability, security, maintainability, portability etc. 3.6 Other requirements IEEE Std. 830-1998 OHTU 2007 Sami Kollanus 19 Vaatimusten esittäminen strukturoidusti ECLIPSE/Workstation/Tools/DE/FS/3.5.1 Function Add node Description Adds a node to an existing design. The user selects the type of node, and its position. When added to the design, the node becomes the current selection. The user chooses the node position by moving the cursor to the area where the node is added. Inputs Source Outputs Destination operation. Requires Pre-condition Node type, Node position, Design identifier. Node type and Node position are input by the user, Design identifier from the database. Design identifier. The design database. The design is committed to the database on completion of the Design graph rooted at input design identifier. The design is open and displayed on the user's screen. Post-condition The design is unchanged apart from the addition of a node of the specified type at the given position. Side-effects None Definition: ECLIPSE/Workstation/Tools/DE/RD/3.5.1 Sommerville 2001 OHTU 2007 Sami Kollanus 20

Validointikriteerit mukaan Vaatimusten validointi Osaksi vaatimusmäärittelyä Kuinka tunnistetaan onnistunut toteutus? Minkälaisia testejä tarvitaan? Kuinka validi vaatimus on Tarvitaanko todella? Onko fiksumpaa vaatia jotain muuta? Yhdenmukaisuus Täydellisyys Realismi Verifioitavuus Pressman 2006. OHTU 2007 Sami Kollanus 21 Sommerville 2001, 137. OHTU 2007 Sami Kollanus 22 Validointitapoja Vaatimusten luokittelu- QFD Katselmoinnit Asiakas, käyttäjä, kehitystiimi Prototyypit Testitapausten luonti Automatisoitu yhdenmukaisuuden tarkistaminen Quality Function Deployment 1. Normal requirements Neuvotellut vaatimukset 2. Expected requirements Esim. käytettävyys 3. Exciting requirements Ylittää asiakkaan odotukset Sommerville 2001, 138. OHTU 2007 Sami Kollanus 23 Pressman 2006 OHTU 2007 Sami Kollanus 24

Vaatimusten priorisointi Vaatimusongelmia (Hall ym. 2002) Wiegersin mallissa otetaan huomioon: Hyöty (benefit) Menetys (penalty) Kustannus (cost) Riski (risk) Arvioidaan tekijöiden vaikutus vaatimukseen asteikolla 1-9 Lasketaan tunnusluku, joka ilmaisee vaatimusten tärkeyden Wiegers, K. 1999. First Things First: Prioritizing Requirements. Software Development 7(9). OHTU 2007 Sami Kollanus 25 Aineisto kerätty 12 (45 ryhmää, 200 hlö) yrityksestä Englannissa Ryhmät ohjattiin keskustelemaan ohjelmistokehityksen ongelmista Laskettiin mainittujen ongelmien määrä ja luokiteltiin ongelmat Tutkittiin erikseen vaatimuksiin liittyviä ongelmia OHTU 2007 Sami Kollanus 26 kehityksen ongelmat eri tehtävissä Vaatimusongelmien luokittelu Vaatimukset 48 % Suunnittelu 7 % Koodaus 7 % Testaus 24 % Ylläpito 13 % Luokiteltiin kahteen luokkaan: Organisaatioon liittyvät 63 % Prosessiin liittyvät 37 % OHTU 2007 Sami Kollanus 27 OHTU 2007 Sami Kollanus 28

organisaatioon liittyvät ongelmat prosessiin liittyvät ongelmat Kehittäjien kommunikaatio 24 % Riittämättömät taidot 20 % Riittämättömät resurssit 14 % Henkilöstön pysyvyys 13 % Käyttäjien kommunikaatio 12 % Koulutuksen puute 8 % Yrityskulttuuri 8 % Epämääräiset vaatimukset 25 % Määrittämätön vaatimusprosessi 24 % Vaatimusten kasvu 23 % Sovelluksen monimutkaisuus 20 % Huono käyttäjien ymmärtäminen 4 % Riittämätön vaatimusten jäljitettävyys 3 % OHTU 2007 Sami Kollanus 29 OHTU 2007 Sami Kollanus 30 ja vielä huomio Vaatimusmäärittelyn ongelmia Tutkimuksessa oli mukana organisaatioita eri CMM:n mukaisilta kypsyystasoilta Kypsyystasolla vaikutti olevat yhteys vaatimusongelmiin Korkean kypsyystason organisaatiossa mainittiin vähemmän vaatimusongelmia Ohjelmisto on aina uusi -> ei ole valmista täydellistä mallia vaatimusmäärittelylle Käyttäjien tarpeet hyvin vaihtelevia Asiakas on usein eri kuin käyttäjä Asiakas ei osaa määritellä tarpeitaan tarpeeksi yksityiskohtaisesti ja teknisesti (tai omalla kielellä) Asiakas on liian urautunut vanhaan toimintamalliin Tuottaja ei tunne sovellusaluetta tarpeeksi Asiakas kiinnittää liiaksi toteutusta Tuottaja pyrkii vaikuttamaan liiaksi vaatimuksiin OHTU 2007 Sami Kollanus 31 Koskinen ym. 2001, 58-59. OHTU 2007 Sami Kollanus 32

Vältä näitä 1. Hämmennys vaatimuksista: Vaatimuksilla sanana viitataan useaan eri asiaan. -> eri sidosryhmien tunnistaminen 2. Riittämätön asiakkaan osallistuminen: luotetaan telepatiaan vaatimusten välittämisessä käyttäjältä kehittäjille. -> käyttäjäluokkien tunnistaminen Vältä näitä 3. Epäselvät ja moniselitteiset vaatimukset: jokainen tulkitsee ne omalla tavallaan ja olettaa loput. -> moniselitteiset sanat, katselmoinnit, testitapaukset 4. Priorisoimattomat vaatimukset: kaikki vaatimukset ovat kriittisiä. -> Priorisointi: odotettu käytön määrä, tärkeimät käyttäjäluokat, ydinprosessit Wiegers, K. 2000 Karl Wiegers Describes 10 Requirements Traps to Avoid. Software Testing and Quality Engineering 2(1). OHTU 2007 Sami Kollanus 33 Wiegers, K. 2000 Karl Wiegers Describes 10 Requirements Traps to Avoid. Software Testing and Quality Engineering 2(1). OHTU 2007 Sami Kollanus 34 Vältä näitä Vältä näitä 5. Rakennetaan toimintoja, joita kukaan ei käytä -> jäljitetään vaatimuksen alkuperä 6. Analysis paralysis -> hyäksytään epätäydellisyydet, mutta suunnitellaan niiden tulevaisuus 7. Laajuuden venyminen: Vaatimuksia tulee lisää -> puskuri muutoksille, huolellinen määrittely, muutoksenhallintaprosessi 8. Riittämätön tai olematon muutoshallintaprosessi -> tarpeen mukainen prosessi Wiegers, K. 2000 Karl Wiegers Describes 10 Requirements Traps to Avoid. Software Testing and Quality Engineering 2(1). OHTU 2007 Sami Kollanus 35 Wiegers, K. 2000 Karl Wiegers Describes 10 Requirements Traps to Avoid. Software Testing and Quality Engineering 2(1). OHTU 2007 Sami Kollanus 36

Vältä näitä 9. Riittämätön muutoksen vaikutusten analysointi -> analyysi päätöksenteon tueksi 10. Riittämätön versionhallinta -> kommunikaatio, työkalu Vaatimusmuutosten lähteitä Kaikkia asiakasvaatimuksia ei ymmärretä oikein projektin alkuvaiheessa Asiakasvaatimuksia voi jäädä huomaamatta Toimintaympäristössä voi tapahtua muutoksia (organisaatio, tekniikka, ohjelmistot) Jokin määritelty ominaisuus voi osoittautua käyttökelvottomaksi Wiegers, K. 2000 Karl Wiegers Describes 10 Requirements Traps to Avoid. Software Testing and Quality Engineering 2(1). OHTU 2007 Sami Kollanus 37 Haikala & Märijärvi (2002, 100-101) OHTU 2007 Sami Kollanus 38 Vaatimusmuutosten lähteitä Vaatimusten hallinta - CMMI Aikataulupaineet -> jotain voi jäädä toteuttamatta Markkinatilanne -> kilpailija julkistaa uuden tuotteen Teknologiavalinnat osoittautuvat epäonnistuneiksi (standardit) Ymmärretään vaatimukset Kriteerit vaatimusten hyväksyntää varten, analysoidaan vaatimukset, yhteinen ymmärrys vaatimuksista Sitoumukset vaatimuksiin Hallitaan vaatimusmuutoksia Ylläpidä muutoshistoria -> perustelut Muutosten vaikutus Muutos näkyväksi projektille Haikala & Märijärvi (2002, 100-101) OHTU 2007 Sami Kollanus 39 OHTU 2007 Sami Kollanus 40

Vaatimusten hallinta - CMMI Ylläpidetään jäljitettävyyttä molempiin suuntiin Tunnistetaan epäjohdonmukaisuudet ja poikkeamat vaatimuksiin nähden Projektin alussa + seuranta Muutosten hallinta Muutosprosessin määrittely Vaatimusten priorisointi Vaikutusten huolellinen analysointi Kustannukset, vaikutukset muihin vaatimuksiin tai tekniseen toteutukseen Jäljitettävyys Muutosten dokumentointi Muutosten verifiointi OHTU 2007 Sami Kollanus 41 OHTU 2007 Sami Kollanus 42