Skip to Content
Extreme Programming Pocket Guide
book

Extreme Programming Pocket Guide

by Shane Warden
July 2003
Intermediate to advanced
106 pages
2h 11m
English
O'Reilly Media, Inc.
Content preview from Extreme Programming Pocket Guide

Chapter 17. Do the Simplest Thing That Could Possibly Work

The phrase Chapter 17 is a reminder to balance functionality with simplicity. Ideally, code is designed and implemented as simply as possible while passing all tests. Comprehensive tests anchor the code to its necessary behavior. Merciless refactoring revises the code into its simplest possible representation.

Diligently practicing simplicity invests developer time in the customer’s current need, where it counts the most. Do what you need to do. Solve the current problem. Implement it simply. Make it work, then clean it up. Leave the whole system as simple as possible.

XP purposefully leaves “simplest” vague. It’s up to you to decide what is appropriate in each situation. Maybe using a library or reusing code elsewhere in the system is the simplest thing. The simplest thing may be refactoring another piece of code into a reusable class to use for the current task. Simplicity usually means not building in unnecessary flexibility; don’t add bells and whistles you don’t need.

“Simple” is different from “quickest to write” and very different from “the first idea that comes to mind.” Discovering the simplest possible solution is difficult. It’s okay to settle for simple enough, especially since you will refactor later. Simplify further when you come up with a better idea.

Simple code is easier to write after you break the habit of guessing ahead at future needs. Follow the story and task cards. Avoid the temptation to ask “what if?” ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Extreme Programming Installed

Extreme Programming Installed

Ron Jeffries, Ann Anderson, Chet Hendrickson
Planning Extreme Programming

Planning Extreme Programming

Kent Beck, Martin Fowler
Java Extreme Programming Cookbook

Java Extreme Programming Cookbook

Eric M. Burke, Brian M. Coyner

Publisher Resources

ISBN: 9781449399849Errata Page