is more than just a collection of 12 best practices. Even when all the practices are followed to the letter, subtle things such as thinking really simple or radically different can still escape the team. One of the things that an XP coach does is - to challenge existing assumptions. This is one of the reasons that an XP team usually succeeds in getting the job done in an elegant manner.
A lot of this philosophy seems to come from the idea of LateralThinking
, that has been around for a while. EdwardDeBono
's classic written in the 1970's seems to echo the philosophy we hear in XP today.
Some of the principles of LateralThinking
- Challenge all assumptions - even if there is no reason to do so, do it to generate more options.
- Use suspended judgement - don't make a decision one way or the other too quickly. Keep all options open, as long as possible
- The difference between Right Thinking and Effective Thinking - the former requires you to be right all the time. The latter requires you to be right at the end. Quoting De Bono, "It is better to have enough ideas for some of them to be wrong, than to be always right by having no ideas at all"
XP, when used effectively, results in a balance of vertical and lateral thinking. The lateral way is used to find new, innovative, daring paths that really save time. The vertical way is used to refine the lateral decisions and implement them professionally (test-coverage).
Note that these principles do not suggest that you regularly throw out all existing practices. It's more a matter of regularly asking yourself, "Is this the best option?"
suggests that asking the question "Is this the best option" regularly is a bad idea - it restricts you to vertical thinking all the time. Thinking laterally is about having the freedom to be wrong, and from that wrong - you could get some brilliant rights (or not). In the book "Selling the Invisible", by Harry Beckwith, the author suggests that there is no perfect plan, "experts" get it wrong all the time. What is important is to start with something, and not be afraid to be wrong.