Simplicity and Consistency
Simplicity
- Do everything the simplest way imaginable.
- Don't add functionality before it's needed.
- Refactor code whenever and wherever possible. (Remove redundancies, clean
up ugliness)
- Leave systematic performance optimization until the end- it may not be
needed
Consistency
- Collective code ownership. Any team member can make changes to any piece of code
- Code must be written to agreed stylistic standards. (Unimportant which standard, just that there is one that everyone uses.)
- Move people around- avoid islands of knowledge.
Other Aspects
- The customer is always available.
- Choose a system metaphor for the application- gives common ground for technical and business
people. (e.g. application as production line, bill of materials, etc.
)
- No overtime work. (Well, very little of it.)
- A stand-up meeting starts each day. Many people only need to know
result, so shouldn't need to wait long.