11-Jun-04 (Created: 11-Jun-04) | More in 'Software Architecture'

The 12 principles of XP

User Stories

Like use cases, but much less formal, more like the original intent of a usecase. The current usecases use templates and more formalized format making it loose sight what is really important. Nevertheless the additional detail may be helpful for actualy implementation, and hence, perhaps added as part of an implementation document of that feature.

Weekly builds, and small iterations

Deliver early and deliver often. Start delivering executable code and executable architectures is the message here.

Architectural Metaphors and standardized naming schemes

For well known ideas use well known terminology and borrow well known architectures.

Collective ownership

We all work on this code. It is an external entity and we all can change it.

Coding standards

Got to make it a habbit.

Simple design

Keep designs and architectures simple and understandable. This ensures worker empowerment and hence supports his bill of rights.

Refactoring

A system that does not know how to evolve can never be great. You should measure the success of a project by how well it can change itself in the next release.

Testing

A software system is no better than its test cases allows it to be

Pair programming

Quality compensated with price. For higher quality systems like billing systems it might be essential that two people may have to do this. They can collaborate on design, testing, and coding.

Continuous integration

Provides developers a latest working copy all the time. This again empowers the developers with productivity.

Onsite customer

Knowledge repository. Testing. Purpose.