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

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

Lyhyt johdatus ketterään testaukseen

Ryhmädynamiikka ja ketterät menetelmät

Ohjelmistotekniikka - Luento 3 Jouni Lappalainen

Ohjelmistotekniikka - Luento 3

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

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Kuka käyttää?

Ketteristä menetelmistä ja niiden ryhmädynamiikasta. Ohjelmistotuotantoprojektien johtaminen ja ryhmädynamiikka Fabian Fagerholm

Tutkittua tietoa. Tutkittua tietoa 1

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

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

Testausta vai määrittelyä? Hyväksymistestaus ja jatkuva integraatio ketterässä ohjelmistokehityksessä

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

Ohjelmistoprosessit ja ohjelmistojen laatu kevät 2009

Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi

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

Ketterä projektinhallinta

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

Johdatus ohjelmistotuotantoon

Ohjelmistojen mallintaminen. Luento 11, 7.12.

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

Prosessikuvaukset ja elinkaarimallit

10 Kohti ketterää ohjelmistokehitystä

Ohjelmistoposesseista

Siirtyminen ketterien menetelmien maailmaan! Maarit Laanti 24 October 2013!

Ohjelmistotuotanto. Luento

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

7. Iteratiivinen ohjelmistokehitys

Scrumin käyttö ketterässä sovelluskehityksessä

Ohjelmistotuotanto. Luento

Johdatus ohjelmistotuotantoon

Ohjelmistoarkkitehtuurin sisällyttäminen ketteriin ohjelmistotuotantomenetelmiin

Ketterä ohjelmistokehitys unohtuiko tietoturva?

Tapahtuipa Testaajalle...

Suunnitteluprosessin määrittäminen ohjelmistoalan yritykselle

EXTREME PROGRAMMING OHJELMISTOKEHITYKSESSÄ

Test-Driven Development

SCRUM- JA XP-KÄYTÄNTEIDEN KÄYTTÖ: HAASTATTELUTUTKIMUS

Petri Mattila KÄYTTÄJÄKESKEISEN SUUNNITTELUN INTEGROINTI KETTERÄN KEHITTÄMISEN PROSESSIIN JA ROOLEIHIN

Onnistunut ohjelmistoprojekti

KETTERÄT MENETELMÄT. Tomi Airaksinen. Tietojärjestelmätieteen Kandidaatin tutkielma

Tapaustutkimus: Soveltuuko Scrum vesiputousmallin korvaajaksi yrityksen sovelluskehitysprojekteihin?

T Ohjelmistotuotannon seminaari. Agile Processes. XP:n hyväksymistestit

Onnistunut ohjelmistoprojekti

SoberIT Software Business and Engineering institute

Ohjelmistotekniikka - Luento 2

ONKO ORGANISAATIOSI KYPSÄ DEVOPSIIN?

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Test-Driven Development

Ohjelmistoprosessi. Ohjelmistotuotanto. Yleiset ohjelmistotuotannon osatehtävät. Ohjelmistoprosessimalli. Vaihejaon ominaispiirteitä

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

ja -kehitysmenetelmistä Jyri Partanen, QA Manager Sulake Corporation

COTOOL dokumentaatio SEPA: Refaktorointi

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

LAADUNVARMISTUS KETTERISSÄ OHJELMISTOKEHITYSMENETELMISSÄ

Sakari Hilama DEVIATIONS -OHJELMISTO LAATUPOIKKEAMIEN KÄSITTELYYN

Käytettävyyssuunnitelman toteuttaminen Scrum-prosessimallissa

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

A new model of regional development work in habilitation of children - Good habilitation in functional networks

Software engineering

(Core) & (Test Manager). Sertifikaattikoe klo

ProAgria. Opportunities For Success

ITK130 Ohjelmistoprosessi

Ohjelmistuotuotanto. Luento

TDD Käytännössä Todellinen työkalu vai lehmipoikien laukkaa? Harri Kulmala Solita Oy

Artturi Korvenranta KETTERÄT MENETELMÄT ITSENÄISELLE OHJELMISTOKEHITTÄJÄLLE

NYKYAIKAISTEN OHJELMISTOTUOTANNON MENTELMIEN HYÖDYNTÄMINEN PK-YRITYSTEN SOVELLUSKEHITYKSESSÄ

Extreme Programming ohjelmistokehityksen

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy

SOA SIG SOA Tuotetoimittajan näkökulma

Testilähtöinen ohjelmistokehitys. Testilähtöinen ohjelmistokehitys. TDD Testilähtöinen ohjelmistokehitys. Testi! Testi

SCRUM-KEHYSRAKENTEEN SOVELTAMINEN YKSIN TOTEUTETTAVAAN PROJEKTIIN

EXTREME PROGRAMMING. Akseli Lajunen. Tietojärjestelmätieteen kandidaatintutkielma

OHJELMISTOPROJEKTINHALLINNAN KEHITTÄMINEN SCRUM-MENETELMÄLLÄ

Perinteinen oliomenetelmä ketteräksi

Attribuuttipohjainen käyttövaltuuksien hallinta Case Dreamspark Premium

Kilpailukyky, johtaminen ja uusi tietotekniikka. Mika Okkola, liiketoimintajohtaja, Microsoft Oy

Projektityö

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

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

Ohjelmistuotuotanto. Luento

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

Project group Tete Work-time Attendance Software

Projektityö

Ketterät menetelmät ja laadunhallinta

Kari Hara KETTERÄ OHJELMISTOKEHITYS ASIAKKAAN NÄKÖKULMASTA

Jaakko Kamppi KETTERÄN MENETELMÄN KÄYTTÖÖNOTTO

EGN Leadership. Online-oppimisympäristö ja kollegaryhmä johtamisen kehittämiseen - yhteistyössä EGN & Harvard Business Publishing IN PARTNERSHIP WITH

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D

Tietohallinnon liiketoimintalähtöinen toiminnanohjaus IT-ERP

Onnistuuko hakkerien ja artistien yhteistyö?

- Carroll, Lewis: Through the Looking-Glass and What Alice found There, Chapter

Tekes the Finnish Funding Agency for Technology and Innovation. Copyright Tekes

Johdattelua, motivointia, eli missä ollaan ja kuinka siihen on tultu

statbeatmobile PROJECT REVIEW iteration 1

SAFe menestystarina - Case Osuuspankki

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

Transkriptio:

Agile Jyväskylän Yliopisto Sivu 1 Tietotekniikan laitos

Manifesto of Agile Software Development(2001): We are uncovering better ways of developing software by doing it and helping others doit.throughthisworkwehavecometovalue: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Thatis,whilethereisvalueintheitemsontheright,wevaluetheitemsontheleft more. Lähde: http://www.agilemanifesto.org Jyväskylän Yliopisto Sivu 2 Tietotekniikan laitos

Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas Lähde: http://www.agilemanifesto.org Jyväskylän Yliopisto Sivu 3 Tietotekniikan laitos

Esimerkki Agile-prosessista(Scrum) Lähde: http://www.softhouse.se/uploades/scrum_eng_webb.pdf Jyväskylän Yliopisto Sivu 4 Tietotekniikan laitos

...vertaa tähän(vesiputousmalli) Jyväskylän Yliopisto Sivu 5 Tietotekniikan laitos

Principles of Agile Software... Working software is primary measure of progress... Lähde: http://www.agilemanifesto.org/principles.html Jyväskylän Yliopisto Sivu 6 Tietotekniikan laitos

Agile-menetelmistä Väite: Agile-menetelmät ovat epämuodollisia, suunnittelemattomia cowboy - menetelmiä Höpö höpö. XP:n(Extreme Programming) käytänteet muodostavat (jopa liian?) kurinalaisen common sense -menetelmän Toisaalta Agile-menetelmien ympärillä edelleen HYPE Jyväskylän Yliopisto Sivu 7 Tietotekniikan laitos

Lyhyet iteraatiot Asiakkaalle toimitetaan aikaisessa vaiheessa, ja sen jälkeen lyhyin aikavälein, toimiva sovellus Inkrementaalinen ja iteratiivinen ohjelmistonkehitys mahdollistaamuutoksen pakottaa suunnittelemaan ja seuraamaan projektia pakottaa paljastamaan asiakkaalle työtahdin puolin ja toisin realistiset odotukset motivoi mahdollistaa oppimisen(reflektointi) projektin aikana konkretian esille tuonti tarkentaa asiakasvaatimuksia Jyväskylän Yliopisto Sivu 8 Tietotekniikan laitos

...iteraatioista Projektin alussa nollaiteraatio Iteraation reunat: suunnittelu ja hyväksyntä Iteraation aikana työrauha(scrum korostaa), ts. vältettävä kaaosta, vrt. XP: on-site customer Päivittäiset lyhyet kehittäjäpalaverit(stand-up meeting, Daily Scrum) Jyväskylän Yliopisto Sivu 9 Tietotekniikan laitos

Kommunikointi Kasvotusten kommunikointi nähdään ideaalisena vuorovaikutustapana Uskalletaanko luottaa kasvotusten kommunikointiin? Kumpi on suurempi riski: kommunikointi erilaisia kaavioita katselmoiden vai ihmisten välinen keskustelu? Dokumentaatio vs. kehitysympäristö ja projektin piirteet(koko)? Jyväskylän Yliopisto Sivu 10 Tietotekniikan laitos

Kehitystiimi Kommunikoi suoraan asiakkaan kanssa Itseorganisoituu, ei kiinteitä rooleja Koostuu(ideaalitapauksessa) eri alojen asiantuntijoista Coach, Scrum-master Jyväskylän Yliopisto Sivu 11 Tietotekniikan laitos

...yhteenvetoa... Väite: Agile-menetelmät soveltuvat kokeneille tiimeille? Entäpä arvot(manifesti)? Jyväskylän Yliopisto Sivu 12 Tietotekniikan laitos

XPvs.Scrum XP määrittelee prosessin konkreettisien käytänteiden avulla, ts. ottaa kantaa miten ohjelmoidaan, testataan jne. Scrum puolestaan on tarkoitettu Agile-projektien hallintaan, ottamatta kantaa tiimin sisäisiin työskentelytapoihin Scrumia voidaan täydentää XP:n käytänteillä Jyväskylän Yliopisto Sivu 13 Tietotekniikan laitos

Suunnittelu(Planning, XP) Mitä tehdään seuraavaksi Käyttäjätarinat(user stories): yksinkertainen dokumentointi esim. pahvikorteille Kommunikointi keskeisessä asemassa Suhteelliset arviot(esim. pisteet) tarinoiden toteutuksen vaativuudesta vertailu aiemmin toteutettuihin toiminnallisuuksiin yksinkertaista Reflektointi avuksi, arviointia pystytyään parantamaan aikaisempien iteraatioiden tulosten perusteella Käyttäjätarinat suppeampia kuin use caset Välitön arviointi(cost), vrt. perinteisten vaatimusten kirjoittaminen Cohn: A good story is independent, negotiable, valuable to users or customers, estimatable, small, and testable Jyväskylän Yliopisto Sivu 14 Tietotekniikan laitos

Esimerkki(Cohn): Acompanycanpayforajobpostingwithacreditcard. Note: Will we accept Discover cards? NoteforUI:Don thaveafieldforcardtype(itcanbederived fromfirsttwodigitsonthecard). Lähde: Cohn, M., Writing Stories(chapter 2), From User Stories Applied, 2004 Jyväskylän Yliopisto Sivu 15 Tietotekniikan laitos

XP-Spike Tutkitaan ongelmallista toteutuksen osa-aluetta etukäteen Kestoltaan esim. yksi iltapäivä(kiinteä arvio) Perusteltua valita spike toteutettavaksi, ja story, jota spike tutkii vasta (mahdollisesti) seuraavaan iteraatioon samaan iteraatioon sijoittaminen lisää epävarmuutta, koska spiken tulosta ei tunneta Jyväskylän Yliopisto Sivu 16 Tietotekniikan laitos

Iteraatioon valittujen storyjen tarkennus(xp) Kehittäjät jakavat storyt ohjelmointitehtäviksi(tasks) Tarvittaessa tarkentavia kysymyksiä asiakkaalle Suhteelliset arviot taskeille Velocityn tarkistus tarvittaessa uudelleen priorisointi asiakkaan kanssa Jyväskylän Yliopisto Sivu 17 Tietotekniikan laitos

Implementoinnista(XP) Test Driven Development(TDD) Pariohjelmointi Refaktorointi Jatkuva integrointi Yhteinen koodin omistajuus Yhteiset koodauskäytänteet Pyrkimys yksinkertaisiin ratkaisuihin, YAGNI Jyväskylän Yliopisto Sivu 18 Tietotekniikan laitos

Iteraation hyväksyntä Hyväksyntää ei saa ohittaa, muuten iteratiivisyys jää näennäiseksi Hyväksynnän kohdistuttava siihen, mitä on sovittu tehtäväksi Storyn hyväksyntätestit voidaan asiakkaan kanssa kirjoittaa esim. story-kortin kääntöpuolelle Pyrkimys hyväksyntätestien automatisointiin Jyväskylän Yliopisto Sivu 19 Tietotekniikan laitos

Esimerkki(Cohn) Test with Visa, MasterCard and American Express(pass). Test with Diner s Club(fail). Testwithgood,badandmissingcardIDnumbers. Test with expired cards. Testwithover$100andunder$100. Lähde: Cohn, M., Writing Stories(chapter 2), From User Stories Applied, 2004 Jyväskylän Yliopisto Sivu 20 Tietotekniikan laitos

Release Plan Karkea suunnitelma toiminnallisuuksista, joita julkaistaviin sovelluksen versioihin halutaan sisällyttää. Esimerkiksi lista storeja, jotka kiinnitetään tiettyyn iteraatioon ja julkistukseen(release) Saa muuttua Jyväskylän Yliopisto Sivu 21 Tietotekniikan laitos

Edelleen... kenelle Agile ei sovellu? Esim. Beck arvelee XP:stä: Organisaatiohin, joiden todelliset arvot eivät vastaa XP-arvoja? Suuriin kehitystiimeihin(satoja ohjelmoijia)? Sovellusympäristöihin, joiden teknologia ei tue muutosta? Huom. soveltuvuutta arvioitava tapauskohtaisesti? Entä käytänteet kuten Distributed Pair Programming Jyväskylän Yliopisto Sivu 22 Tietotekniikan laitos

Practices of XP wholeteam metaphor the planning game simple design small releases customer tests pair programming Jyväskylän Yliopisto Sivu 23 Tietotekniikan laitos

Practices of XP test-driven development design improvement collective code ownership continuous integration sustainable pace coding standards Jyväskylän Yliopisto Sivu 24 Tietotekniikan laitos

Agile-kokemuksia? Jyväskylän Yliopisto Sivu 25 Tietotekniikan laitos