The Art of Agile Development: Chapter 5: Thinking

The second edition is now available! The Art of Agile Development has been completely revised and updated with all new material. Visit the Second Edition page for more information, or buy it on Amazon.

Full Text

The following text is excerpted from The Art of Agile Development by James Shore and Shane Warden, published by O'Reilly. Copyright © 2008 the authors. All rights reserved.


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.

That wasn't our problem, though. I later realized that 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, giving 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 the entire development process.

If you liked this entry, check out my best writing and presentations, and consider subscribing to updates by email or RSS.