I am a little wary that “agile” appears to have become a morally loaded term. Despite some unhelpful dogma, the gradual shift towards developing software by iterative collaboration has been a universal “good thing”.

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.

“Goldilocks” governance: balancing team autonomy and alignment for agile architecture

24 August 2020

There can be a tension between the lean, experimental nature of agile development and the more deliberate, planned demands of a large organisation. It does not have to be like this.

If “Enterprise Architecture” is failing, what should architects be doing instead?

11 March 2020

The discipline of architecture is an important part of any efficient engineering organisation. It just needs to adapt its game from the process-orientated “Enterprise Architecture” of old to something more collaborative and relevant.

Don’t use test coverage as a target

19 February 2020

Code coverage can be a useful technique for discovering untested parts of your code base, but it makes for a useless target.

Why trunk-based development isn’t for everybody

9 September 2019

There’s more to adopting trunk-based development than deciding to shun long-lived branches. You need a confident development team, a loosely coupled code base and efficient build automation to make it stick.

Agile metrics. You get what you measure. In a bad way.

12 August 2019

Agile process tends not to generate the kind of metrics that management teams feed on. Should this be a problem?

The case against maturity models

8 June 2019

Maturity models are a popular way of looking at development challenges. The problem is that they are an arbitrary and inflexible tool and they tend to encourage the wrong mindset.

Why SAFe can be agile kryptonite

23 March 2019

The problem with SAFe is that you can implement it without writing a single unit test or automating a single build…scaled agile may be an oxymoron.

Should teams choose their own languages and tools?

24 February 2019

Standardisation does have a place, but it should be reserved for infrastructure and collaboration rather than languages and tools.

How I learned to love the “Agile Industrial Complex”

30 August 2018

There is a growing sense of unease around how larger organisations have implemented agile. In particular, there is a tendency towards centralised control that can be at odds with the agile preference for individuals over process.

Autonomous bubbles and event streams: Pragmatic approaches to working with legacy systems

29 July 2018

It’s easy to get caught up in unrealistic notions that you can re-write a legacy system or gradually decompose it. There are other, more pragmatic approaches that can help to modernise architectures and enable new development.