Agile

Is there still room for architecture in an agile engineering organisation? Of course there is. There is a perception that agile teams are self-contained groups of generalists who should be left alone to self-organise and build software. This is true, but development teams still need to make architecture decisions all the time. There does come a point at which problems are too big for any one self-organising team to solve. Some design co-ordination is needed.

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.

Do shared platforms really let teams choose their own tools?

14 November 2022

Shared infrastructure platforms can be compelling if we apply product thinking to them, but are we giving engineering 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.

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 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 and agile architecture: balancing team autonomy and alignment

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.