Nivi · December 1st, 2008
“We do use agile methodologies at Heroku—I developed my own (informal) style of agile at the last company I founded, and brought that forward to this venture.”
The second step in my lean journey was a book called Extreme Programming Explained. It is dirt cheap (you can buy the first edition for a penny) and the entire book is accessible to non-programmers. If you buy it, try to get the first edition—the second edition isn’t as good as the first.
The subtitle of this book is “Embrace Change”—here are a few excerpts to whet your appetite…
The Driving Metaphor
“Driving is not about getting the car going in the right direction. Driving is about constantly paying attention, making a little correction this way, a little correction that way.
“This is the paradigm for Extreme Programming (XP). Stay aware. Adapt. Change.
“Everything in software changes. The requirements change. The design changes. The business changes. The technology changes. The team changes. The team members change. The problem isn’t change, because change is going to happen; the problem, rather, is our inability to cope with change.”
What is XP?
“To some folks, XP seems like just good common sense. So why the “extreme” in the name? XP takes commonsense principles and practices to extreme levels.
- If code reviews are good, we’ll review code all the time (pair programming).
- If testing is good, everybody will test all the time (unit testing), even the customers (functional testing).
- If design is good, we’ll make it part of everybody’s daily business (refactoring)…
- If integration testing is important, then we’ll integrate and test several times a day (continuous integration).
- If short iterations are good, we’ll make the iterations really, really short—seconds and minutes and hours, not weeks and months and years (the Planning Game).
“When I first articulate XP, I had the mental image of knobs on a control board. Each knob was a practice that from experience I knew worked well. I would turn the knobs up to 10 and see what happened. I was a little surprised to find that the whole package of practices was stable, predictable, and flexible.”
What XP promises
“To programmers, XP promises that they will be able to work on things that really matter, every day. They won’t have to face scary situations alone. They will be able to do everything in their power to make their system successful. They will make decisions that they can make best, and they won’t make decisions they aren’t best qualified to make.
“To customers and managers, XP promises that they will get the most possible value out of every programming week. Every few weeks they will be able to see concrete progress on goals they care about. They will be able to change the direction of the project in the middle of development without incurring exorbitant costs.”
If you’ve already read this book, please let us know how you liked it. And if you haven’t, what are you waiting for?