October 12th, 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.
August 14th, 2017
Refactoring describes a very specific and controlled technique for improving code. The problem is that it is often used to describe wholesale changes to code bases that should be treated as a rewrite.
April 12th, 2017
Using Docker with .Net Core is initially straightforward, but to get beyond basic image building you will need to handle more than the simple scenarios demonstrated in quick-start guides.
April 3rd, 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.
September 20th, 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.
June 28th, 2016
Should agile teams be encouraged to share capabilities or be given total autonomy over their technology choices? For larger organisations this can become a trade-off between economies of scale and speed of delivery.
May 22nd, 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.
May 5th, 2016
How do you organise code ownership for services that do not align conveniently with team or organisational boundaries?
January 18th, 2016
Informatica Cloud is a powerful environment but a pretty unforgiving one. Here are some best practices that I have picked up from implementing the platform.
August 11th, 2015
The best architecture diagrams act as a map – if an architect can’t express a system clearly and concisely then they probably don’t understand it properly.
June 12th, 2015
As with any deployment automation, there’s a fair amount of duct tape and chicken wire involved in deploying a Windows Service remotely.
April 6th, 2015
The ability to collate and interrogate your logs is an essential part of any distributed architecture. This generally involves stitching together different technologies via configuration.
February 21st, 2014
Lean development’s “last responsible moment” should address uncertainty, not justify procrastination
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.
August 12th, 2013
Agile does not necessarily lend itself to management reporting. The few metrics it exposes are designed to support internal planning rather than external measurement. It can be tempting to re-purpose velocity as a measure of productivity, though this will only distort team planning without saying anything meaningful.
June 4th, 2013
Sharing services and APIs can appeal to a desire to reduce duplication and improve development efficiency. It’s a worthy ambition though the journey there can be littered with costly traps for the unwary.