15 July 2023
Most internal shared libraries are based on the fallacy that code sharing always makes development more efficient.
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.
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?
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.
12 June 2022
Adopting inner source is more than just a matter of putting a project into GitHub and accepting pull requests.
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.
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.
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…
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…
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.
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.
17 October 2020
Designing good architecture is only half the battle. You also need to be able to communicate your architecture to anybody who is likely to use it.
13 June 2020
One of the more pervasive myths in software development is that naming things is hard.
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.
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.