Keynote from Software Architect 2014

At the very top of the Agile Manifesto is the statement "Individuals and interactions over processes and tools." Nonetheless, the word "agile" has come to mean rigid adherence to both process and the tools that support that process. Moreover, many of these processes are incomplete or ineffective. Scrum is particularly problematic.

This talk looks at how "Agile" has moved away from the basic principles of agility, and at what we need to do to fix things (or get off on the right foot if you're just starting the journey).


#NoEstimates (Keynote from DevWeek 2015)

Estimates are always guesses and they’re always wrong. Consequently, estimate-based planning is foolhardy at best, and time spend creating them is a waste. In spite of this fact, estimates are a central part of most software-development processes, even some Agile processes. Getting rid of estimates doesn’t mean that you can’t plan, but you have to go about planning in a more effective way. In this keynote, Allen will discuss both the problems surrounding an estimation culture and how to solve those problems by using actual measurements and priority-based planning.

Design by Coding

A 10-minute, practical introduction to Design by Coding (DbC), an incremental design technique that extends the concepts underlying TDD and BDD to the architectural level. With DbC, you design and code simultaneously.


This short excerpt from my Practical Microservices class describes the Strangler pattern for transforming a monolith to micoservices. I'll be offering a public version of the class in the San Francisco area on October 15 (