“Uncle Bob” Martin, co-founder of cleancoders.com spoke at the Agile Alliance Technical Conference in Raleigh, NC on April 8. Informed by 40+ years of technical experience, his perspective on the past, present and future of our profession was obviously enlightening. Here’s what I left the conference thinking about:
Do developers need to be less “bean bag and foosball” and more “slide rule and graph paper”? Uncle Bob made a strong case for technical discipline and professional standards similar to the fields of science and engineering. He characterizes the “waterfall period” as a hazardous mix of risky methodology, a staggering increase in computing equipment, and droves of young, undisciplined developers. This combination of factors explains why the waterfall period significantly lacked the number of advancements of technology that the early period did and led to many massive failures and the complex “legacy” systems that many current practitioners complain about today.
Are developers sitting on the sidelines? Agile, according to Uncle Bob, is currently being led by project managers who are using agile principles to drive process improvements with various frameworks including Scrum. While these process improvements are a necessary step in agile transformation, they do not address technical agility. When technologists stand on the sidelines, no one advocates for technical quality and solutions suffer. Developers need to get in the game! (The leadership game not foosball!) This need for technical leadership is driving the Software Craftsmanship and DevOps movements, but we don’t want the pendulum to swing too far in the other direction either…
How can we reunite Technology and Process? When focus swings back and forth between technology and process, organizations and customers lose. Bob’s presentation reinvigorated my belief that Technology and Process must march forward hand-in-hand if we are to advance Agile principles and erase the technical debt created by generations of waterfall. This belief inspired Agile Pi to transform organizations using a balanced approach that strengthens process AND technology.