The Art of Agile Development: Chapter 5: Thinking

Book cover for “The Art of Agile Development, Second Edition” by James Shore and Shane Warden. Published by O'Reilly. The cover has a large sticker on it that says “Early Release: Raw and Unedited.” The cover artwork shows a water glass containing a small sapling. The sapling has small green leaves. There is a goldfish in the glass.

Second Edition cover

The second edition of The Art of Agile Development is in development! Visit the Second Edition page for information about the open development process, how to get the Early Release, and more!

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.

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.

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.