Welcome

To begin at the beginning…

“Lo que diga Gary, pero quizás es lo que piensa Gary!”


About This Site

This is a place where I share my thoughts - mostly on technology, software development and architecture, but more broadly it includes whatever happens to be on my mind at the time.

Agentic Engineering Lifecycle

How to use agentic tools for specification-led delivery

February 23, 2026 · 5 min · 1013 words · Gary Thomas

AI Coding

AI Coding Tooling Summary

February 23, 2026 · 6 min · 1068 words · Gary Thomas

AI Engineering Roadmap

How to move AI Engineering from Current State to Target State

February 22, 2026 · 5 min · 956 words · Gary Thomas

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

Systems Thinking: Dana Meadows' Legacy for Financial Services Architecture

Exploring how the principles of systems thinking, pioneered by Dana Meadows, offer a critical framework for designing resilient and adaptable architectures in the complex world of modern finance.

September 5, 2025 · 7 min · 1312 words · Gary Thomas

Leverage Points

Leverage Points for System Architects: A Systems Thinking Approach Applying Donella Meadows’ Framework to Transform Your Architecture Practice Introduction As system architects, we’re constantly making decisions about where to focus our efforts. Should we optimise those API timeout values? Redesign the entire microservices topology? Or perhaps advocate for a fundamental shift in how the organisation thinks about system resilience? The answer lies in understanding leverage points - a concept from systems thinking that reveals where small changes can produce big results. Based on Donella Meadows’ seminal work on systems intervention, this framework helps architects identify the most effective places to intervene in complex systems. ...

September 1, 2025 · 6 min · 1219 words · Gary Thomas

Gap Analysis

Performing a Gap Analysis A Gap Analysis is a critical tool for identifying the differences between the current state of the architecture and the target state, which could include both functional and non-functional requirements. It helps identify what is missing or what needs to change to achieve the desired outcomes. The analysis should consider both immediate needs and future scalability, ensuring that strategic decisions are aligned with business objectives. Having conducted numerous gap analyses in financial services environments, I’ve learned that certain areas require particular attention in highly regulated industries. ...

August 27, 2025 · 4 min · 753 words · Gary Thomas

Building Narrative For Architecture

Why Stories Matter in Architecture For thousands of years, stories have united people across tribes, nations, and generations. They create a shared understanding — the essential ingredient for any large-scale collaboration. In architecture, storytelling is just as vital. Transformations are complex and demand broad cooperation. A clear, shared narrative doesn’t just explain the change — it inspires belief in a future state. It’s not only about diagrams or models; it’s about creating a story that aligns people and keeps them moving in the same direction. ...

August 11, 2025 · 6 min · 1075 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