On Friday, March 19, at the invitation of AO.com, I gave a public talk about joy and humanity in software development. The talk was primarily concerned with the effects of software craft on our emotional states and working relationships. Along the way, I touched on Theory of Constraints, stable and unstable equilibria in work environments, a significant and deliberate omission from Scrum, my take on “legacy code”, applied empathy (never mentioned explicitly, merely woven in), and what agility looks and feels like when you’ve got it.

The talk’s title is admittedly a bit opaque. Inside-Out TDD is the style of Test-Driven Development I usually prefer: we incrementally design objects and their interactions starting with the small and moving toward the large. By extension, I’m calling the style of incrementally redesigning ourselves and our work interactions by starting in the small and expanding outward “Inside-Out TDD-Driven Development” — where “development” this time refers not only to code, but also to people and systems. I usually prefer this style of development, too. The talk (35 minutes, followed by Q&A) attempts to set out my reasoning.

For AO, this kicked off a new series in which they’re hosting well-known tech speakers, free and open to the public. I hope I’ve gotten them off on the right foot.