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.
12 August 2019
Agile process tends not to generate the kind of metrics that management teams feed on. Should this be a problem?
22 July 2019
Attempts at SonarQube adoption often fail to gain traction with development teams. The concern is that it presents a view of code quality that is not relevant to the problems teams face on a day-to-day basis. Does it measure the wrong thing?
22 June 2019
Many of the apparent benefits of monorepos can be realised through improvements in engineering culture and architecture rather than adopting a specific approach to source code storage.
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.
8 March 2019
Sharing microservices across organisational boundaries is much harder than it looks. There are technical, operational, organisational and financial issues that need to be considered if you want to be successful.
24 February 2019
Standardisation does have a place, but it should be reserved for infrastructure and collaboration rather than languages and tools.