Until recently, I held the belief that Generative Artificial Intelligence (GenAI) in software development was predominantly suited for greenfield projects. However, the introduction of the Model Context Protocol (MCP) marks a significant shift in this paradigm. MCP emerges as a transformative enabler for legacy modernization—especially for large-scale, long-lived, and complex systems. As part of my […]
From Black Box to Blueprint
A remarkably common case in large established enterprises is that there are systems that nobody wants to touch, but everyone depends on. They run payrolls, handle logistics, reconcile inventory, or process customer orders. They’ve been in place and evolving slowly for decades, built on stacks no one teaches anymore, and maintained by a shrinking pool […]
Some thoughts on LLMs and Software Development
I’m about to head away from looking after this site for a few weeks (part vacation, part work stuff). As I contemplate some weeks away from the daily routine, I feel an urge to share some scattered thoughts about the state of LLMs and AI. ❄ ❄ ❄ ❄ I’ve seen a few early surveys on the effect […]
To vibe or not to vibe
The discourse about to what level AI-generated code should be reviewed often feels very binary. Is vibe coding (i.e. letting AI generate code without looking at the code) good or bad? The answer is of course neither, because “it depends”. So what does it depend on? When I’m using AI for coding, I find myself […]
Anchoring AI to a reference application
Service templates are a typical building block in the “golden paths” organisations build for their engineering teams, to make it easy to do the right thing. The templates are supposed to be the role models for all the services in the organisation, always representing the most up to date coding patterns and standards. One of […]
Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl
I’ve been trying to understand one of the latest AI coding buzzword: Spec-driven development (SDD). I looked at three of the tools that label themselves as SDD tools and tried to untangle what it means, as of now. Definition Like with many emerging terms in this fast-paced space, the definition of “spec-driven development” (SDD) is […]
Fragments and Links
Mathias Verraes writes about the relationship between Domains and Bounded Contexts in Domain-Driven Design. It’s a common myth that there should always be a 1:1 relationship between them, but although it’s sometimes the case, deeper modeling often exposes a more interesting structure. Gary Marcus: (NYT Gift Link) If the strengths of A.I. are truly to […]
Agentic AI and Security
Agentic AI systems can be amazing – they offer radical new ways to build software, through orchestration of a whole ecosystem of agents, all via an imprecise conversational interface. This is a brand new way of working, but one that also opens up severe security risks, risks that may be fundamental to this approach. We […]
Fragments Nov 3
I’m very concerned about the security dangers of LLM-enabled browsers, as it’s just too easy for them to contain the Lethal Trifecta. For up-to-date eyes on these issues, I follow the writings of coiner of that phrase: Simon Willison. Here he examines a post on how OpenAI is thinking about these issues. My takeaways from […]
The Learning Loop and LLMs
Software development has always resisted the idea that it can be turned into an assembly line. Even as our tools become smarter, faster, and more capable, the essential act remains the same: we learn by doing. An Assembly Line is a poor metaphor for software development In most mature engineering disciplines, the process is clear: […]







