Chapter 5. Thinking

What’s wrong with this sentence?

What we really need is more keyboards cranking out code.

That’s a quote from a manager I once worked with. In a way, he was right: you will never give your customer what she wants without typing on a keyboard.

But that wasn’t our problem. I later realized our progress had a single bottleneck: the availability of our staging environment. More keyboards wouldn’t have helped, even if we had more programmers sitting at them. If we had realized this sooner, we would have been much more productive.

Sometimes the biggest gains in productivity come from stopping to think about what you’re doing, why you’re doing it, and whether it’s a good idea. The best developers don’t just find something that works and use it; they also question why it works, try to understand it, and then improve it.

XP doesn’t require experts. It does require a habit of mindfulness. This chapter contains five practices to help mindful developers excel:

  • Pair programming doubles the brainpower available during coding, and gives one person in each pair the opportunity to think about strategic, long-term issues.

  • Energized work acknowledges that developers do their best, most productive work when they’re energized and motivated.

  • An informative workspace gives the whole team more opportunities to notice what’s working well and what isn’t.

  • Root-cause analysis is a useful tool for identifying the underlying causes of your problems.

  • Retrospectives provide a way to analyze and improve ...

Get The Art of Agile Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.