Columns

An organic view to developing software: A review of “Managing Software for Growth”

According to Roy Miller, author of Managing Software for Growth: Without Fear, Control, and the Manufacturing Mindset, the problem with software development is that instead of managing the process as the creative endeavor it is, we’re managing it as if it were a manufacturing project.

In manufacturing, for example, you’re 100% sure of what you want at the end. Miller uses the example of building pickup trucks, where aside from the various options a vehicle may have, and the color of the exterior and interior, you want every pickup truck to be the same. The manufacturing system set up to build pickups is designed to ensure that there is very little variation from one unit to another.

Software development is a different story. First of all, you’re not completely sure of what you want when you start a software development project. You may have talked to your customers about what they want but more often than not, they’re not sure what they want either.

Another difference is that the control mechanisms put in place to manage a manufacturing project are not the controls you want for a software development project -- they are too rigid to accommodate the changes that will occur during the course of a software development project.

Miller recommends throwing out these old ways of doing things and adopting some new methods. Instead of rigidly defining software requirements up front and implementing strict control methods, neither of which work for reasonably complex projects, we should embrace the uncertainty inherent in software development and allow projects to “grow.”

This is what happens anyway, he notes, and doing this from the start saves time and energy. “Growing software,” Miller writes, “is a realistic way to start with ambiguity and end up with working software real people want.” He goes on to show how the new agile development methods, specifically XP, fit with his view of the world. But will this approach work? Miller suggests learning about agile development techniques, using them on a small project, and then reflecting on what worked and what didn’t.

All of this makes good sense to me. I’ve been through enough projects to know that project plans are rarely worth the hard drive space they take up, and that trying to keep to a schedule is mostly futile. Convincing management that this is the case, and getting them to change their manufacturing mindset, will be the hard part.


Managing Software for Growth: Without Fear, Control, and the Manufacturing Mindset” by Roy Miller. Addison-Wesley, Boston, Mass., 2003.

Click here to go to this book's listing on Amazon.com.

About the Author

Dan Romanchik is an engineering manager turned writer and Web developer. His current passion is amateur radio. You can read his amateur radio blog at www.blurty.com/~kb6nu.