IaC and the post-environment world

For about a decade I struggled with the common problem of environments. You usually start off with some well-meaning attempt at a simple layout, with development, integration, staging and live. Which feels fine, until you realise your company has different release cycles for software and data. So you split up »

Too much in flight

In a Scrum context, multitasking is bad. Teams who follow Kanban will be familiar with this concept, as that process invites you to explicitly set your lane limits up front - only 3 things in progress, only 2 things awaiting product owner review, only 7 tickets waiting for release, and »

Services in the Monolith

It's become accepted that microservices, when done right, are a Good Thing - helping you keep your responsibilities nicely separated, easily share functionality between applications, and scale in a granular fashion where only the hot spots are spread across a multitude of servers. It's less commonly accepted, but even more »

Cloud, PaaS, solution size and lock-in

I have a bit of a counter-intuitive opinion on cloud services and the Platform-as-a-Service (PaaS) world. For me, something like AWS isn't about "big". Yes, I know plenty of companies use elastic scaling to run huge, demand-based infrastructures along the Netflix model. But for rest of us, we're not building »

The state of TDD

The state of test-driven development across our industry is terrible. This may seem a rather brazen statement, given pretty much everybody and their dog is writing tests somewhere vaguely around the same point as they write code, and you don't have to scroll far down this blog to find an »