Strategy

Should teams choose their own languages and tools?

24 February 2019

Standardisation does have a place, but it should be reserved for infrastructure and collaboration rather than languages and tools.

How I learned to love the “Agile Industrial Complex”

30 August 2018

There is a growing sense of unease around how larger organisations have implemented agile. In particular, there is a tendency towards centralised control that can be at odds with the agile preference for individuals over process.

Autonomous bubbles and event streams: Pragmatic approaches to working with legacy systems

29 July 2018

It’s easy to get caught up in unrealistic notions that you can re-write a legacy system or gradually decompose it. There are other, more pragmatic approaches that can help to modernise architectures and enable new development.

Forget code coverage – test design should be driven by behaviours

19 December 2016

Test coverage statistics are much loved by management teams and code quality tools. They tend to associate a high level of coverage with robust, well-managed code bases. Wrongly, as it turns out.

Is “Serverless” architecture just a finely-grained rebranding of PaaS?

2 June 2016

Serverless computing makes bold promises of development without having to worry about environments, scaling or deployment. Haven’t we been here before?

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?

API gateways and the dangers of creeping middleware scope

23 March 2016

An API gateway can solve many generic problems in an API infrastructure, but you do need to define a clear remit and protect against creeping scope.

Comparing Gartner’s cloud integration leaders: Informatica, Dell Boomi and Mulesoft

2 July 2015

Gartner’s definition of enterprise integration as a service is so wide that it can be difficult to draw any meaningful comparisons between the platforms in the “leaders” space.

Refactoring monoliths to microservices: the pragmatic reality

5 May 2015

Large scale rewrites of systems are loaded with risk. You can address this by preparing the ground in advance and adopting an incremental approach, but a willingness to be pragmatic is essential.

Can APX help in developing usable and accessible APIs?

19 October 2013

Given how important APIs have become in driving the reach of applications and services, it’s surprising how little investment is made in the usability of APIs as opposed to UIs. Perhaps the principals and techniques used by UX should be applied to developing more effective APIs…

Managing change and version control for service interfaces

16 July 2013

Change is an inevitable and even desirable part of distributed development. Managing the impact of that change is the difficult part, particularly when change affects the service interfaces that bind a distributed platform together.

Sharing APIs in an organisation: challenges and pitfalls

4 June 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.

Sharing code between geographically distributed development teams

15 January 2013

Large-scale development increasingly involves distributed teams as organizations seek to manage costs and leverage resources on a global scale. However, sharing code between distant development teams gives rise to problems that can only be addressed in part by processes and tools. You also need teams to communicate directly and build trust.

Build vs Buy decisions and the importance of context

8 January 2013

Technology decisions should not be made in isolation, particularly when you are trying to weigh up building a solution or buying a third party platform.

How to manage down the payments on your technical debt

3 September 2012

Technical debt may be a great metaphor to describe the corrosive effect of quick and dirty design decisions, but it can be difficult to identify, measure and manage.