Extreme Programmering
description
Transcript of Extreme Programmering
Simplicity
Communication
Feedback
Courage
Extreme Programmering
En Diskusjon
Av Johannes Brodwall
Simplicity
Communication
Feedback
Courage
Barry Boehm: Cost of change
$1 Requirements
$100 Design
$1,000 Implementation
$10 Analysis
$10,000 Test
Simplicity
Communication
Feedback
Courage
Fire Idealer
• Kommunikasjon
• Enkelhet
• Feedback
• Mot
Simplicity
Communication
Feedback
Courage
XPs livsyklus
Release Plan
Måneder Uker Dager Timer Kvarter
Test
Utvikling
RefaktorKontinuelig Integrasjonr
Gå hjem!Akseptanse testerRelease
Juster hastighet, kontroller funksjonalitet
Bytt par
Daglig utvikling
Engineering tasks
Status tracking
Standup møte
Kommunisér med bruker
User stories
Iterasjons-plan
User stories
Task
Velg oppg.Dann par
Simplicity
Communication
Feedback
Courage
12 Kjernemetoder i XP
• Planning Game
• Hyppige leveranser
• System Metaphor
• Enkelt design
• Ustoppelig testing
• Kontinuelig integrasjon
• Parvis programmering
• Refactor
• Felles kodeeierskap
• Sustainable Pace
• Kundekontakt
• Kodestandard
Simplicity
Communication
Feedback
Courage
Vanskeligheter
• Test-first og ”Do The Simplest Thing” krever disiplin
• Hva om kunden ikke er tilgjengelig, eller det ikke finnes noen veldefinert kunde
• Hva om kunden ikke er ”smart nok”?• Hva om prosjektet blir for stort for uformell
kommunikasjon• Hva om prosjektet ikke egner seg til denne
formen?• Hva om vi ”ikke har råd” til å jobbe parvis?• Uformell kommunikasjon kan være utilstrekkelig
Simplicity
Communication
Feedback
Courage
Developer’s Bill of Rights
• You have the right to know what is needed, with clear declarations of prority.
• You have the right to produce quality work at all times.
• You have the right to ask for help from peers, superiors and customers.
• You have the right to make and update your own estimates.
• You have the right to accept you responsibility instead of having it assigned to you.
Simplicity
Communication
Feedback
Courage
The Customer’s Bill of Rights
• You have the right to an overall plan, to know what can be accomplished, and at what cost.
• You have the right to get the most possible value out of every programming week.
• You have the right to see progress in a running system, proven to work by passing repeatable tests that you specify.
• You have the right to change your mind, to substitute functionality, and to change priorities without paying exorbitant costs.
• You have the right to be informed of schedule changes in time to choose how to reduce scope to restore the original date. You can cancel at any time and be left with a useful working system reflecting investment to date.
Simplicity
Communication
Feedback
Courage
Hva liker foredragholderen ved XP?
• Leverer business-verdi tidlig, og fortsetter med det
• Konkrete arbeidsoppgaver• Fokuserer på kvalitet på kode-nivå• Tåler endringer i miljøet og kravene• Fremgangen er synliggjort• Fokuserer på menneskene i prosessen
Simplicity
Communication
Feedback
Courage
Universelle råd
• Gjør iterativ utvikling• Fokuser på menneskene i prosjektet• En slank prosess• Tid til å trekke pusten• Kontinuelig forbedring• ”Keep It Simple, Stupid”
”Work Smarter, not harder”
Simplicity
Communication
Feedback
Courage
Links for You
• WikiWiki:• http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap
• Ron Jeffries’s site –up-to-date• http://www.xprogramming.com/
• Don Well’s site – god introduksjon• http://www.extremeprogramming.org/
• William Wake’s Site – utmerkede eksempler• http://users.vnet.net/wwake/xp/
Simplicity
Communication
Feedback
Courage
Bøker
• Kent Beck: ”Extreme Programming Explained: Embrace Change”
• Martin Fowler: ”Refactoring: Improving the Design of Existing Code”
• Ron Jeffries, et al: ”Extreme Programming Installed”• Martin Fowler & Kent Beck: ”Planning Extreme
Programming”Se også:• Dave Thomas and Andrew Hunt: ”The Pragmatic
Programming: From Journeyman to Master”• Tom DeMarco and Tim Lister: ”PeopleWare: Productive
Projects and Teams”• Steve McConnell: ”Rapid Development: Taming Wild
Software Schedules”
Simplicity
Communication
Feedback
Courage
Artikler
• Den originale artikkelen som beskrev C3 i Distributed Programming
• http://www.xprogramming.com/publications/distributed_computing.htm
• Ron Jeffries: ”Extreme Programming, An Open Approach to Enterprise Development”
• http://www.xprogramming.com/xpmag/an_open_approach.htm
• Laurie Williams, Alistair Cockburn: ”Costs and Benefits of Pair Programming”
• http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF
• Dr. Randall Jensen ”Management Impact on Cost and Schedule” (Crosstalk, July 96)• http://stsc.hill.af.mil/crosstalk/1996/jul/manageme.asp• Inneholder en diskusjon av ”Two-Person Team” modellen
• The Source Code is the Design (Basert på en artikkel i C++ Journal, Vol 2, No 2, 1992 av Jack Reeves)• http://c2.com/cgi/wiki?TheSourceCodeIsTheDesign