Establishing a new architecture practice in agile organisations

2 July 2023

How should you go about building an architecture practice in organisations where people are allowed to say “no”? Ultimately, this becomes an exercise in persuasion, pragmatism, and patience.

The shared code fallacy: Why internal libraries are an anti-pattern

26 May 2023

Most internal shared libraries are based on the fallacy that code sharing always makes development more efficient.

Internal developer platforms and the cult of Kubernetes

13 April 2023

We all agree that engineering enablement is important, but “platform teams” can often be a fig leaf for organisational anti-patterns and overly complex Kubernetes implementations.

How can architecture improve agility and delivery flow?

2 March 2023

Agile practices on their own are no guarantee of fast flow. You also need a planned architecture that enables team autonomy and supports rapid, iterative delivery.

AI and the hype cycle: oversold, overlooked, then... eventually indispensable?

10 December 2022

When any technology emerges, it can be challenging to chart a course between the unhelpful hype and the disappointment that will certainly follow…

Can internal developer platforms really be optional?

14 November 2022

Internal developer platforms are supposed to be so compelling that engineering teams will flock to them, but are we givng teams any real choice?

What makes a good test automation suite?

3 August 2022

Writing a good unit test suite is hard. Many test suites don’t provide any meaningful benefits, merely serving as an unreliable and unloved extension of the main code base.

Inner source is more of a cultural shift than a technical change

12 June 2022

Adopting inner source is more than just a matter of putting a project into GitHub and accepting pull requests.

In defence of the Scaled Agile Framework (and other 'branded agile' variants)

17 May 2022

Larger organisations are beset with complexity that can’t be fully addressed by autonomous teams focusing on value. At least frameworks like SAFe recognise this and attempt to offer solutions based on experience.

How should architects collaborate with development teams?

6 February 2022

If we’re serious about empowering engineering teams to make decisions, then we should be embedding architectural skills rather than architects themselves.

Data meshes and microservices - the similarities are uncanny

10 January 2022

The data mesh is doing for data warehousing what microservices did for solution architecture…

Orchestration vs choreography for microservice workflows

5 December 2021

Orchestration and choreography can complement each other. There doesn’t have to be an exclusive choice between two opposing styles.

How not to run a technology selection process

28 October 2021

Having experienced technology selections as vendor, consultant, and customer, I have seen how some common mistakes can undermine clear decision making.

Prototypes and the myth of disposable code

3 August 2021

A lean approach suggests that features can be proven in quick prototypes before being implemented “properly”. Alas, things don’t always work out that way…

Why “low code” and “no code” platforms are like Japanese knotweed

18 July 2021

“Low code” and “no code” platforms may be perfectly adequate for simple use cases, but they can make complex problems far more difficult to solve…