Moderne systemutviklingsmetoder Smidige prosesser Kjetil Jørgensen-Dahl Objectnet as
Systemutviklingsmetode - formål Veikart Sikre Konsept til realisert løsning Forvaltning og utfasing Rett funksjonalitet Rett kvalitet Formidle kunnskap Erfaring Forskning Prosessforbedring Felles språk Repeterbarhet Kontroll Tid Ressurser Risiko
Metoders omfang Livssyklus Konseptutvikling Krav Design Utvikling Vedlikehold Områder dekket Styringsprosesser Teknisk fremgangsmåte Risiko/muligheter Måling Kundeinteraksjon Forretningsnivå Konsern ( enterprise ) Bedrift ( business ) Prosjekt med flere team Prosjekt med ett team Individ Antall - og rigiditet i - retningslinjer Få/smidige Mange/sterke Kilde: Boehm and Turner, Balancing Agilty and Discipline, 2004 (i Kjetils oversettelse)
Noen begreper Big bang! Inkrementell Iterativ Evolusjonær Smidig Plan-drevet Metode Prosess Teknikk Hacking High-Ceremony Disiplin
Hva betyr systemutviklingsmetaforer for prosessutvikling? Metaforer Industriell produksjon Engineering Husbygging Håndverk Skrive dikt Klatring Rugby Hva sier metaforen om Bygging? Utviklere? Modellbygging? Refaktorering? Risiko? Målet? Menneskesyn??
Hva betyr menneskesyn for prosessutvikling? Cockburns failure modes Vi gjør feil Vi er risikoaverse når vi kan oppnå noe Vi foretrekker å innovere fremfor å gjøre research Vi er vanedyr Vi er inkonsistente Hvordan skal man håndtere dette? Disiplin, plan, og kontroll eller Mekanismer som gjør prosessen tolerant for individuell variasjon
Hva betyr menneskesyn for prosessutvikling? Cockburns success modes Vi er gode på å lete Vi er i stand til å lære Vi kan påvirkes Vi føler stolthet over arbeidet vi gjør Vi føler stolthet over å bidra Vi foretrekker å være gode borgere Vi kan ta initiativ Hvordan kan vi trekke på og utnytte disse egenskapene? Forfremme til designere eller arkitekter? eller Skape selvorganiserende team, sikre at alle blir hørt, skape fellesskap
Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 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 2001, the above authors this declaration may be freely copied in any form, but only in its entirety through this notice.
Kilde: Abrahamsson et al, 2002
Personnel (% Level 1B) (% Level 2&3) 40 15 30 20 Situasjonsbetinget valg av metode 20 25 Criticality (Loss due to impact of defects) 10 30 Dynamism (% Requirements-change/month) Many Lives Single Life Essential Funds 0 Discretionary Funds Comfort 35 50 30 10 5 1 3 90 Agile Disciplined 10 70 30 50 100 30 Size (# of personnel) 300 10 Culture (% thriving on chaos vs. order) Kilde: Cockburn, gjengitt i Boehm & Turner, 2004
extreme Programming (Beck m fl ca 1999) XP values Communication Simplicity Feedback Courage XP principles Planning Game Small Releases Metaphor Simplicity in Design Testing Continuous Integration Pair Programming Collective Ownership Refactoring Sustainable Pace On Site Customer Shared Coding Standards
Scrum (ca 1990, Schwaber m fl)
Elementer i Scrum Prosess Sprint Planning Meeting Sprint Daily Scrum Meeting Sprint Review Meeting Sprint Retrospective Meeting Roller Product Owner Scrum Team ScrumMaster (Stakeholders) Artifakter Product Backlog Sprint Backlog Burndown Chart