Kent Beck and Ken Pugh are smart, smart fellows. Listening to them discuss the art and science of software development is guaranteed to excite the neurons… and leave you feeling supercharged with energy and ideas.
Both Kent and Ken were keynote speakers at last week’s Enterprise Software Development Conference. As the conference chair, I had the honor of introducing their talks, of course, and then also got to hang around and chat with them afterwards.
Kent’s talk focused on what he calls responsive design. That’s a way of characterizing software changes, such as requests for implementing new features or functions. Kent has found a way of classifying software changes (which might be at a detailed level, like a class or a method, or at a higher level, like a module or complete application) into four groups:
• If you know where your changes are going and how to get there, easy changes can be implemented in direct “leaps,” while more complex changes might require a more resource-intensive “parallel” approach.
• If you don’t know how to visualize implementing the changes directly, you may need to use “stepping stones” to inch your way to where you can gain greater visibility, or you may need to use “simplification” to eliminate requirements until the path becomes clear.
Sound simple? When you hear Kent speak, of course, everything seems completely obvious because his work is so thorough and grounded in the real world. In reality, of course, his classification scheme is more complex and nuanced.
Each of these four approaches (leap, parallel, stepping stone, simplification) requires a different process to handle—and each of those processes can be surprisingly consistent, and therefore can be practiced and refined. If you can classify the requirements for a software change or feature implementation into one of those four categories, that can help you do a better job of estimating the project, marshalling the right resources and get the project off to a good start.
The talk was eye-opening. It’s a rare treat to learn from genuine Big Thinkers like Kent Beck. Next week, I’ll share some comments about Ken Pugh’s discussion about the Dreaded Chasm of Chaos.
Alan Zeichick is editorial director of SD Times. Follow him on Twitter at twitter.com/zeichick. Read his blog at ztrek.blogspot.com.