120 likes | 205 Views
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. The Planning Game Frequent Releases System Metaphor
E N D
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
The Planning Game Frequent Releases System Metaphor Simple Design Relentless Testing Continuous Integration Program in Pairs Refactor Mercilessly Collective Code Ownership Forty Hour Week Onsite Customer Coding Standard 12 Extreme Practices
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?
Teach learning Small initial investment* Play to win Concrete experiments Open, honest communication Work with people’s instincts Accepted responsibility* Local adaption Travel light Honest measurement 10 Prinsipper
Developers 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.
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. The Customers Bill of Rights
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
Links for You • WikiWiki: • http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap • Ron Jeffries’s site – most up-to-date • http://www.xprogramming.com/ • Don Well’s site – good introductory material • http://www.extremeprogramming.org/ • William Wake’s Site – excellent examples and details • http://users.vnet.net/wwake/xp/
Books • 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”
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