Overview


  • Customer lists the features that the software must provide.

  • Programmers break the features into standalone tasks and estimate the work needed to complete each task.

  • Customer chooses the most important tasks that can be completed by the next release.

  • Programmers choose tasks and work in pairs.

  • Programmers write unit tests.

  • Programmers add features to pass unit tests.

  • Programmers fix features and tests as necessary, until all tests pass.

  • Programmers integrate code.

  • Programmers produce a released version.

  • Customer runs acceptance tests.

  • Version goes into production.

  • Programmers update their estimates based on the amount of work they've done in release cycle.

Rules and Practices

 

Planning

Coding

User stories are written.

The customer is always available.

Release planning creates the schedule.

Code must be written to agreed standards.

Make frequent small releases.

Code the unit test first.

The Project Velocity is measured.

All production code is pair programmed.

The project is divided into iterations.

Only one pair integrates code at a time.

Iteration planning starts each iteration.

Integrate often.

Move people around.

Use collective code ownership.

A stand-up meeting starts each day.

Leave optimization until last.

Fix XP when it breaks.

No overtime.

Designing

Testing

Simplicity.

All code must have unit tests.

Choose a system metaphor.

All code must pass all unit tests before it can be released.

Use CRC cards for design sessions.

When a bug is found, tests are created.

Create spike solutions to reduce risk.

Acceptance tests are run often and the score is published.

No functionality is added early. Refactor whenever and wherever possible.

 




Agile Java Development with Spring, Hibernate and Eclipse
Agile Java Development with Spring, Hibernate and Eclipse
ISBN: 0672328968
EAN: 2147483647
Year: 2006
Pages: 219

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net