Agile

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”.

Relax. There’s no conflict between architecture and agile.

16 February 2018

Agile teams still need to make architecture decisions, but in supporting them architects should seek “just enough” architecture over “big design up front” and practical solutions over large-scale abstract thinking.

Can TOGAF and Agile really go together?

27 January 2018

On the face of it, TOGAF describes a very different world to the agile preference for working software over documentation. That doesn’t mean that TOGAF is incompatible with agile, so long as you’re prepared to adapt its numerous building blocks.

Technical debt is an overused and lazy metaphor

18 November 2017

Technical debt may be a useful metaphor for describing how bad code design undermines productivity to non-technical audiences, but it does not help in understanding the longer term problems that affect code bases.

What should a Scaled Agile “architectural runway” actually look like?

12 October 2017

The Scaled Agile Framework talks about an “architectural runway” as the main deliverable for agile architecture, yet it’s vague on the detail of what this looks like.

How can Domain Driven Design help with large scale agile development?

20 September 2017

Agile teams spend time modelling software whether they are prepared to admit it or not. Adopting a technique like Domain Driven Design can help to make this more efficient, particularly at scale.

Architectural governance can be used to foster innovation. No, really.

3 April 2017

Governance doesn’t have to be all about byzantine process and suffocating approval boards. It can be used to provide clear permission for teams to innovate.

Why agile software architects should write code

28 January 2017

No architect will ever admit to being out of touch with software development. However, unless you are writing code then it’s difficult to avoid becoming an ivory tower or PowerPoint architect that can only discuss systems in the abstract.

What’s in a name? Three-lettered acronyms and their impact on development culture

20 September 2016

Three-lettered acronyms can be a useful tool for providing brevity, but they can also give rise to a coded language that contributes to a cold and impersonal development culture.

How do you foster technical excellence in an agile development culture?

22 May 2016

Technical excellence is one of those slightly nebulous phrases with many different interpretations. In an agile context this means removing constraints and it is more than just a team responsibility.

Managing services that don’t have clear code ownership

5 May 2016

How do you organise code ownership for services that do not align conveniently with team or organisational boundaries?

What role do architects have in agile development?

12 March 2014

Agile principals encourage self-organising teams to take ownership of solutions. This doesn’t leave architects out in the cold, but it does require a more engaged role based on influence rather than governance.

Lean development’s “last responsible moment” should address uncertainty, not justify procrastination

21 February 2014

Deferring decisions to the “last responsible moment” can help you to adapt to the inevitable uncertainty that comes with agile development. The risk is that it can become an excuse for uncertainty that undermines development velocity.