Extreme Programmering

13
Simplicity Communication Feedback Courage Extreme Programmering En Diskusjon Av Johannes Brodwall

description

Extreme Programmering. En Diskusjon Av Johannes Brodwall. Barry Boehm: Cost of change. $10,000 Test. $1,000 Implementation. $100 Design. $10 Analysis. $1 Requirements. Fire Idealer. Kommunikasjon Enkelhet Feedback Mot. User stories. User stories. Engineering tasks. Iterasjons-plan. - PowerPoint PPT Presentation

Transcript of Extreme Programmering

Page 1: Extreme Programmering

Simplicity

Communication

Feedback

Courage

Extreme Programmering

En Diskusjon

Av Johannes Brodwall

Page 2: Extreme Programmering

Simplicity

Communication

Feedback

Courage

Barry Boehm: Cost of change

$1 Requirements

$100 Design

$1,000 Implementation

$10 Analysis

$10,000 Test

Page 3: Extreme Programmering

Simplicity

Communication

Feedback

Courage

Fire Idealer

• Kommunikasjon

• Enkelhet

• Feedback

• Mot

Page 4: Extreme Programmering

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

Page 5: Extreme Programmering

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

Page 6: Extreme Programmering

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

Page 7: Extreme Programmering

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.

Page 8: Extreme Programmering

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.

Page 9: Extreme Programmering

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

Page 10: Extreme Programmering

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”

Page 11: Extreme Programmering

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/

Page 12: Extreme Programmering

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”

Page 13: Extreme Programmering

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