Extreme Programming Revisited

Introduction Extreme Programming has been declared dead more times than I’ve sat through presentations about “digital transformation initiatives.” Yet here we are again, breathlessly rediscovering that writing tests and integrating frequently might actually be quite sensible. Who could have predicted such a thing? I should state before I continue that I am not an XP zealot. I’ve never been fond of the term “Extreme Programming,” nor of prescriptive adoption of practices just because we’re told that’s the way. As with all things, it’s the principles, and why they matter, that lead to better outcomes. ...

September 20, 2025 · 11 min · 2327 words · Gary Thomas

AI Coding

AI Coding Tooling Summary

August 17, 2025 · 4 min · 794 words · Gary Thomas

Dev Team Capability & Maturity Assessment

Dev Team Capability & Maturity Assessment Instructions This survey assesses your development team’s capabilities across technical, process, and cultural dimensions based on the DORA (DevOps Research and Assessment) framework. Please answer honestly based on your current state, not aspirational goals. Rating Scale: 1 - Not Implemented: We don’t do this at all 2 - Ad Hoc: We do this inconsistently or only in some cases 3 - Developing: We do this regularly but it’s not fully mature 4 - Mature: We do this consistently with good practices 5 - Optimizing: We do this excellently and continuously improve Section A: Technical Capabilities A1. Version Control & Code Management How effectively does your team manage code and changes? 📚 References: Git Best Practices | Conventional Commits ...

June 9, 2025 · 13 min · 2705 words · Gary Thomas

Event-Driven Architecture

Event-Driven Architecture Event-Driven Architecture (EDA) is a design approach that uses events to drive the flow of data and actions within a system. Events are used to represent changes in the system, and these events are used to trigger actions in other parts of the system. Commands and Events In systems designed with Domain-Driven Design, commands and events typically correspond to actions and outcomes within specific bounded contexts. Event driven architectures often use a combination of both commands and events, the decision of whent to use each is based on the use case and the requirements of the system. ...

May 18, 2025 · 5 min · 1060 words · Gary Thomas