Ketteryys kohtaa todellisuuden - kokemuksia ja ajatuksia laadunvarmistuksen näkökulmasta



Samankaltaiset tiedostot
PROJEKTI- PÄÄLLIKÖSTÄ PRODUCT OWNERIKSI MEERI CEDERSTRÖM

Lyhyt johdatus ketterään testaukseen

Ohjelmistoprosessit ja ohjelmistojen laatu kevät 2009

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Tapahtuipa Testaajalle...

7. Iteratiivinen ohjelmistokehitys

Ketteryys pähkinänkuoressa. Kokopäivän Scrum-kurssin sisältö tislattuna ja tiivistettynä kolmeen varttiin

Tutkittua tietoa. Tutkittua tietoa 1

Kuka vastaa tietojärjestelmähankkeen laadusta?

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

Toimittajan johtaminen projektissa. Esko Hannula Annikki Parviainen

Testataanko huomenna?

Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi

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

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Siirtyminen ketterien menetelmien maailmaan! Maarit Laanti 24 October 2013!

Ville Isomöttönen. Agile. Jyväskylän Yliopisto Sivu 1 Tietotekniikan laitos

Tietohallinnon liiketoimintalähtöinen toiminnanohjaus IT-ERP

ONKO ORGANISAATIOSI KYPSÄ DEVOPSIIN?

Kun scrum ei riitä - skaalaa ketterä tuotekehitys SAFe lla Nestori Syynimaa Sovelto Oyj

Miten tietojärjestelmän laatu näkyy yrityksen tuloksessa? Esko Hannula, CEO Qentinel

Yrittäjäkasvatuksen polku - sivusto. Yksityiskohtainen suunnittelu Huhtikuu 2018

Ketterä projektikulttuuri on avain menestykseen - valmennuksella kohti ketterää kulttuuria

Ketterä vaatimustenhallinta

Projektityö

Ketterä projektinhallinta

Miten löydän Sen Oikean? Senaattoritilaisuus Liisa Paasiala, Senior Consultant

Scrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.

Ketteryys kokeilemalla. Leo Malila Kehittämispäällikkö, Kela

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana

- Unix v. 1986, Linux 1998, relaatiokannat 1987, C 1984 (FI ja SE tavutus 1986, telex->unix->uucp 1987 lähes 50 baud)

Scrumjatkuvan palvelun DWprojektissa-case. Niina Mäkiranta & OP-scrum-tiimi Aureolis Oy

Millainen on onnistunut ICT-projekti?

Scrumin käyttö ketterässä sovelluskehityksessä

Testausoppeja toimialavaihdoksesta

Testauksen suunnittelu ja dokumentointi ketterässä testauksessa Tutkimustuloksia

Project-TOP QUALITY GATE

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

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille

Kuinka IdM-hanke pidetään raiteillaan

Ohjelmistoprojektien hallinta Vaihejakomallit

Ohjelmistotekniikka - Luento 2

Nimeni on. Tänään on (pvm). Kellonaika. Haastateltavana on. Haastattelu tapahtuu VSSHP:n lasten ja nuorten oikeuspsykiatrian tutkimusyksikössä.

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

2. Ohjelmistotuotantoprosessi

statbeatmobile PROJECT REVIEW iteration 1

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Indoor Environment

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy

Agile. Jyväskylän Yliopisto Sivu 1 Tietotekniikan laitos

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

JULKISTEN PALVELUJEN ELINKAARI; HYVÄ PALVELU EILEN, TÄNÄÄN, HUOMENNA MIHIN PALVELUT OVAT MENOSSA? Lauri Helenius, Solita Oy

@Tampereen Testauspäivät ( )

Scrum-käytännöt ja käyttäjäkokemustyö ohjelmistoalan yrityksessä. Marie-Elise Kontro

ja -kehitysmenetelmistä Jyri Partanen, QA Manager Sulake Corporation

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

Projektityö

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

Advanced Test Automation for Complex Software-Intensive Systems

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Ketterät menetelmät ja julkinen hankinta

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

Opiskelusta taidot työelämään Tiedon merkitys työelämässä. Kimmo Vänni TAMK

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

Kahdenlaista testauksen tehokkuutta

Yhteisöllisen toimintatavan jalkauttaminen!

Aikaansaava organisaatio ketteryys ja Lean salkunjohtamisen perustana, eri työmuodot yhteen sovitettuina

TUTKIMUKSEN LÄHTÖKOHTIA, TOTEUTUS ja HYÖDYT Kalle Saastamoinen Lappeenrannan Teknillinen Yliopisto LTY 2003

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

Onnistunut ohjelmistoprojekti

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

PROJEKTIN SUUNNITTELU JOUNI HUOTARI, PAAVO MOILANEN, ESA SALMIKANGAS

Koulutuksen suhdannevaihtelut. Zeppeliinistä suihkukoneaikaan

KÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ

Suomi.fi - Tietoturvallisuus sovelluskehityksessä. VAHTI sähköisen asioinnin tietoturvaseminaari

UCOT-Sovellusprojekti. Testausraportti

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

Dynaaminen analyysi IV

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

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

Turvallisen sovelluskehityksen käsikirja. Antti Vähä-Sipilä, F-Secure

Projektinhallintapäivä , Tampere Poimintoja koulutusnäkökulmasta

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Kettärä organisaatio kumppanuusstrategialla

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ylimmän johdon näkemys ketteryydestä

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Maanvuokrausjärjestelmä Mvj. Projektitarpeen ja tavoitteiden kuvaus

7.4 Variability management

Yhteisön kehitystyöhön osallistumisen mahdollisuudet ja mallit

PS-vaiheen edistymisraportti Kuopio

REDOFLOW. Kokonaisvaltainen toiminnanohjauksen ja tiedonhallinnan ratkaisu pkyrityksille. Redoflow on kehitetty alusta asti pkyritysten

Monipuolisen yhteistyön haaste pyrittäessä korkealle

Ohjelmistotuotanto. Luento

itsmf Finland Conference 2016 Focus Markus Leinonen COBIT ja governance

statbeatmobile FINAL PROJECT REVIEW

Projektin tavoitteet

Transkriptio:

Ketteryys kohtaa todellisuuden - kokemuksia ja ajatuksia laadunvarmistuksen näkökulmasta 08.06.2010 Esko Hannula

Qentinel on laadun vartija Erikoistunut hankkeiden ja tietojärjestelmien laadunvarmistukseen Yksityisessä omistuksessa ONNISTUNUT HANKINTA LAADUKAS TUOTE Riippumaton asiantuntijaorganisaatio Alan aktiivinen kehittäjä JATKUVA TESTAUS- PALVELU Varmistamme laadun, kun onnistuminen on tärkeää. 2

Sisältö Mitä se ketteryys oikein on ja onko se sitä? Ketteryys laadunvarmistuksen silmin Halua oikein Valitse oikein Valvo oikein Testaa oikein Agile-krapula Se toimii sittenkin! 3

Mitä se ketteryys oikein on ja onko se sitä? AGILE MANIFESTO 4

www.agilemanifesto.org: Twelve agile principles 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 5

Onko myös asiakkaan Voidaan kysyä... korkein prioriteetti aina saada varhaisia ja 1. Our highest priority is to satisfy the customer through early and continuous delivery of Miten vaatimuksen valuable software. voi jatkuvia toimituksia? havaita muuttuvan, jos 2. Welcome changing requirements, even late in development. Agile processes harness ei ole formaalia change for the customer's competitive advantage. vaatimustenhallintaa? 3. Deliver working software frequently, from a couple of weeks to a couple Mistä näitä of months, with a preference to the shorter timescale. motivoituneita ihmisiä 4. Business people and developers Ovatko must ketterät work ihmiset together daily throughout riittää the joka project. projektiin? 5. Build projects around motivated muistineroja? individuals. Give them the environment and support they Toimivatko need, ketterät and trust them to get the job done. menetelmät, 6. The most jos efficient and effective method of conveying information to and within a development team is face-to-face conversation. business people 7. Working software is the primary measure of progress. Mistä arkkitehtuuri eivät halua päivittäistä yhteistyötä 8. Agile kehittäjien processes promote sustainable Entä jos kaikki development. eivät The sponsors, kehkeytyy developers, ja miten and users should be able to maintain a constant pace indefinitely. kanssa? globaalissa maailmassa kestää jatkuvaa ja 9. Continuous attention to technical voikaan excellence olla samassa and good design enhances tervetullutta agility. vaatimusten 10. Simplicity--the art of maximizing huoneessa? the amount of work not done--is muuttumista? essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 6

Kriitikko esittää kaksi kysymystä Mitkä ovat ne asiakashyödyt, joiden tuottamisessa ketterät menetelmät toimivat paremmin kuin kankeat menetelmät? Montako 12 ketterästä periaatteesta voidaan rikkoa menettämättä ketteryydellä tavoiteltavia hyötyjä? 7

Halua oikein KETTERYYS JA VAATIMUKSET 8

Halua oikein ~60% projektien epäonnistumisesta johtuu vaatimustenhallinnasta Ovatko vaatimukset oikeat? Pystytäänkö vaatimusten perusteella suunnittelemaan järjestelmä? Pystytäänkö vaatimusten perusteella suunnittelemaan projekti? Pystytäänkö vaatimusten perusteella tekemään sopimus? 9

Myytinmurto Myytti: Ketterässä projektissa vaatimusmäärittelyä ei tarvita, koska muutos on hyvä asia Murto Miksi investoisit projektiin, jos et tunne vaatimuksiasi? Koska muuta hallittua dokumentaatiota on niukasti, ja muutos on hyvä asia, vaatimusmäärittely on erityisen tärkeä Silti: Vaatimusten yksityiskohtaisuus ei ole ole oleellista, vaikka hallittavuus on 10

Valitse oikein KETTERÄ SOPIMUS 11

Valitse oikein Valitsemmeko sopivimman toimittajan? Tietääkö toimittaja, mitä odotamme? Olemmeko sopineet roolit, vastuut ja yhteistyömallit eri osapuolten välille? Onko meillä riittävät ja taloudellisesti järkevät keinot valvoa toimittajan etenemistä? Onko asemamme sopimuksellisesti turvattu? 12

Miksi ostaa ketterä projekti? Selvitä itsellesi minkä hyödyn saat ketteryydestä Asiakkaan hyödyt liittyvät yleensä projektiriskien pienenemiseen Hyötyjen saaminen edellyttää oikeasti omaa aktiivista osallistumistasi kehitystyöhön Ketterä projekti on usein toimittajan aloite Muodikas tapa toimia Vastuut siirtyvät käytännössä asiakkaalle Voit saada hyödyt vain, jos sekä sinä että toimittaja oikeasti osaatte ja haluatte soveltaa ketteriä menetelmiä kurinalaisesti 13

Kun ostat ketterän, vaadi ketterä Kirjaa ketterän toimintatavan vaatimukset sopimukseen Sprintit ja säännölliset toimitukset Velocity :n kalibrointi ensimmäisten sprinttien aikana ja siinä yhteydessä mahdollisuus keskeyttää projekti Etenemismittareihin perustuva jatkuva raportointi Backlogin ylläpito Toimittajan kehitysaikainen testaus ja vikaraportointi Sovitun menetelmän (esim. SCRUM) säntillinen noudattaminen 14

Myytinmurto: Sopimukset Myytti: Ketterässä projektisopimuksessa ei voi kiinnittää projektin sisältöä. Murto: Jos et kiinnitä sisältöä, ostat resursseja etkä tuloksia Silti: Perinteinen projektisopimusmalli ei ole ketterä. 15

Valvo oikein KETTERÄ KONTROLLI 16

Valvo oikein Havaitsemmeko poikkeamat toteutusprojektissa ajoissa? Havaitsemmeko riskien toteutumisen ajoissa? Ovatko muutokset hallittuja? Pystymmekö luotettavasti ennustamaan aikataulun ja budjetin? Reagoimmeko poikkeamiin? 17

Ketterässä projektissa on sisäänrakennettu kontrolli Oikein tehtynä ketterä projekti on helppo valvottava Asiakkaan osallistumispanos on korkeahko Menetelmä korostaa tulosten varhaista ja jatkuvaa näkyvyyttä Definition of done pakottaa toimittajan testaamaan varhain ja jatkuvasti Kehitystyön etenemistä mitataan ja mittarit ennustavat lopputulosta 18

Toimittajan laadunhallinta EPÄKYPSÄ KYPSÄ Valvonta ketterässä projektissa MATALA Ei sovellu ketteriin menetelmiin Agile Tilaajan valvontapanos KORKEA Ketterät menetelmät eivät sovellu Ketterät menetelmät eivät sovellu 19

Myyntimurto: Valvonta Myytti:Ketterä projekti ei tarvitse valvontaa, koska sitä tekee motivoituneiden yksilöiden itseohjautuva tiimi Murto: Myös ketterässä maailmassa saat sitä, mitä mittaat ja mistä palkitset. Silti: Oikein sovellettuna ketterät menetelmät tarjoavat ylivertaiset ja melko edulliset valvontamekanismit. 20

Testaa oikein KETTERÄ TESTAUS 21

Testauksen kaksi tehtävää 1. Virheriskin hallinta: Testauksen tehtävä on osoittaa, että järjestelmässä on virheitä. 2. Aika- ja kustannusriskien hallinta: Testaus tuottaa laatutietoa projektia koskevan päätöksenteon tueksi. Ketterä kehitys edellyttää toimittajalta kypsää testauskulttuuria. 22

Kehityksenaikainen testaus korostuu Yksikkötestaus: Jotta ketterä malli voisi toimia, virheet on löydettävä niiden alkulähteillä Tutkiva testaus: Uusien ominaisuuksien virheet on löydettävä nopeasti Testiautomaatio: Kattava testaus nopeissa sykleissä vaatii automatisoituja testejä V-mallin V ei tarkoita vesiputousta! 23

Testauksen organisointi ketterässä projektissa Toimittaja Asiakas Hyväksyntätestaus asiakkaan vastuulla Kaikki muu testaus toimittajan vastuulla Ketterän kehitysmallin vuoksi hyväksyntätestaus voidaan tarvittaessa aloittaa varhain Testaus ketterässä kehitystiimissä 1-2 testausammattilaista per tiimi Joka tiimissä testiautomaatio-osaamista Teoriassa paras vaihtoehto: kehittäjät testaavat itse 24

Ammattitestaajat sanovat agilesta User storyjen laatu on ratkaisevaa Heikon storyn pohjalta ei voi testata hyvin Todennäköisesti ei ole voinut myöskään ohjelmoida hyvin Dokumentaatiota tarvitaan yhä Koodi ei dokumentoi järjestelmää testaajalle eikä ylläpitäjälle Integraatiorajapintojen dokumentointi on välttämätöntä Dokumentaatiota pitää hallita, koska tieto kasvaa ja muuttuu Vain sellaiset asiat, jotka vanhenevat viikossa voi jättää dokumentoimatta 25

Ammattitestaajat sanovat agilesta Arkkitehtuuri mätänee helposti Suunniteltava ja hallittava, ei voi antaa vain kehkeytyä Refaktorointi ei korjaa mätää arkkitehtuuria Testauksen automatisointi ei ole hopealuoti Automatisointi on kallista, myös ketterässä projektissa Ketteryys edellyttää nopeaa automatisointia, ja se on erityisen kallista 26

Myyntimurto: Testaus Myytti: Ketterässä projektissa laatu rakentuu kehittämisen yhteydessä. Erillistä testausta ei tarvita. Murto: Siirtyminen ketterään menetelmään ei muuta ohjelmistokehittäjän minäkuvaa eikä osaamista eikä kovin paljon toimenkuvaakaan. Silti: Ketterät menetelmät avaavat hienon mahdollisuuden siirtää testauksen painopistettä yksikkötestaukseen ja siten parantaa tuottavuutta. 27

Tunne rajasi lopeta biletys ajoissa AGILE-KRAPULA 28

Nousuhumalan merkki on innostus Alat kuulla jännittäviä sanoja, kuten scrum, sprint, user story ja backlog. Ihmistä, jolla on rahat, aletaan kutsua nimellä tuoteomistaja. Uuden menetelmän ansiosta projektit voidaan käynnistää ilman raskasta suunnittelua. Työskentely on tehokasta, koska dokumentaatiota ei tarvita. Joku on käynyt scrum master -kurssin. Pidetään paljon demoja. Meininkiä kyseenalaistavat leimataan vanhoiksi tai tyhmiksi. Enimmän aikaa tekeillä on proto tai proof-of-concept. 29

Laskuhumalan merkki on stressi Työpäivät venyvät ja sankariyksilöitä nousee esiin. Uusia tuloksia syntyy yhä vähemmän. Projektiin ei voi lisätä tekijöitä, koska perehdyttäminen veisi liikaa aikaa. Esiintyy paljon vaatimuksiin liittyviä ristiriitoja ja tulkintaerimielisyyksiä. Sanaa refaktorointi käytetään yhä enemmän. Ongelmia yritetään paikata epäketteristä malleista tutuilla tavoilla. Demotilaisuuksia siirretään tai perutaan. Testaustehtäviä aletaan siirtää seuraaviin sprintteihin. Ketterän tiimin mielestä tuoteomistaja vaatii mahdottomia ja on tyhmä. Tiimin jäsenet riitelevät ja kaipaavat vahvaa johtajaa. 30

Krapulan merkki on lamaannus Raha tai aika alkaa loppua. Toimivaa ohjelmistoa ei ole. Kukaan ei tiedä, mitä on tehty ja mikä toimii. Moraali on alamaissa. Tilanteeseen esitetään lukuisia selityksiä, mutta ainuttakaan ei pystytä todistamaan. Kaikki ominaisuudet ovat hieman kesken. Demotilaisuuksia ei enää järjestetä. Uusia henkilöitä tulee lähtevien tilalle, mutta heidän on mahdoton päästä työhön käsiksi. Työn tilaajan mielestä on tehty enimmäkseen muuta kuin piti. Ketterän tiimin mielestä liiketoimintajohto on epäonnistunut. 31

Ketterän kehityksen avainharhat Muutoshurmio: Systemaattisen vaatimustenhallinnan väheksyminen Syntipukitus: Pahan maailman piilottaminen tuoteomistajan taakse Menetelmäuskonto: Luulo, että pelkkä kehitysmenetelmä tekee nörttijoukosta toimivan ja tehokkaasti kommunikoivan tiimin Rusinat pullasta: Käytetään ketteristä menetelmistä vain kivat osat Laaturomantiikka: Dokumentointi- ja testaustarpeen aliarviointi 32

Yhteenveto SE TOIMII SITTENKIN! 33

Yleisimmät onnistumisen syyt vesiputousprojektissa... Hyvä vaatimusanalyysi ja jämäkkä vaatimusten hallinta Realistiset aikataulut Huolellinen riippuvuuksien analysointi Täsmällinen vastuiden määrittely Jämäkkä muutoksenhallinta Testaustarpeen realistinen arviointi Perusteellinen riskianalyysi Laadukas mittaus ja raportointi Ripeä ja ryhdikäs poikkeustilanteiden käsittely 34

...ovat yleisimmät onnistumisen syyt myös ketterässä projektissa Hyvä vaatimusanalyysi ja jämäkkä vaatimusten hallinta Realistiset aikataulut Huolellinen riippuvuuksien analysointi Täsmällinen vastuiden määrittely Jämäkkä muutoksenhallinta Testaustarpeen realistinen arviointi Perusteellinen riskianalyysi Laadukas mittaus ja raportointi Ripeä ja ryhdikäs poikkeustilanteiden käsittely 35

Ketterästi oikein Halua oikein: vaatimukset, riskit ja arkkitehtuuri ovat oleellisen tärkeät johtamistyökalut Valitse oikein: ymmärrä, hyödytkö ketteristä menetelmistä, velvoita toimittaja myös sopimuksella noudattamaan ketteriä menetelmiä täsmällisesti Valvo oikein: hyödynnä ketterien menetelmien tuomat edut valvonnassa, älä usko löysiä puheita Testaa oikein: kaikki testaustasot tarvitaan ketterässäkin projektissa, asiakas tekee hyväksyntätestin ketterässäkin projektissa 36

Yhteystiedot: info@qentinel.com Qentinel Oy Tekniikantie 14, 02150 Espoo www.qentinel.com LET THERE BE QUALITY 37