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…

Writing architectural design principles that scale decision making

13 June 2021

A good set of architectural principles can help to scale development by laying down some basic guidelines for decision making.

Why the developer experience matters to architecture

17 April 2021

Architects have a key role in setting the direction of travel for development, giving them an opportunity to help foster a good developer experience for an organisation.

Setting an appetite instead of making an estimate for epic-level work

8 January 2021

Estimates are difficult, usually wrong, and frequently misused, especially at the “epic” level. An “appetite” can be a more meaningful measure that defines the amount of time the business is prepared to invest in the solution.

Data Vault 2.0: the good, the bad and the downright confusing

12 December 2020

Data Vault 2.0 modelling can support a more agile approach to data warehouse design and data ingestion. Inevitably, this flexibility does come with a heavy burden of complexity.

Building your own in-house technology radar

20 November 2020

A technology radar can be a great technique for initiating conversations about technology, but there are some challenges in applying it to in-house development shops.