Some articles about strategy – i.e. how you go about doing things and the longer term thinking that (should) stop you getting stuck in quagmire.
July 22nd, 2020
“Legacy” is often used a pejorative term to describe any long-lived code base that a development team finds distasteful to work with. What do we really mean by “legacy” and how should we be dealing with it?
March 11th, 2020
The discipline of architecture is an important part of any efficient engineering organisation. It just needs to adapt its game from the process-orientated “Enterprise Architecture” of old to something more collaborative and relevant.
November 17th, 2019
Publishing a public API involves many considerations, from billing and metering through to documentation and on-boarding. These are likely to be addressed through a collection of solutions rather than a single all-singing, all-dancing API management platform.
June 22nd, 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.
June 8th, 2019
Maturity models are a popular way of looking at development challenges. The problem is that they are an arbitrary and inflexible tool and they tend to encourage the wrong mindset.
May 15th, 2019
There is often too much focus on the research aspects of machine learning. When you’re putting models into production, the maths is only part of the system.
March 8th, 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.
February 24th, 2019
Standardisation does have a place, but it should be reserved for infrastructure and collaboration rather than languages and tools.
August 30th, 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.
July 29th, 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.
December 19th, 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.
June 2nd, 2016
Serverless computing makes bold promises of development without having to worry about environments, scaling or deployment. Haven’t we been here before?
May 5th, 2016
How do you organise code ownership for services that do not align conveniently with team or organisational boundaries?
March 23rd, 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.
July 2nd, 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.
May 5th, 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.
October 19th, 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…
July 16th, 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.
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.
January 15th, 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.
January 8th, 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.
September 3rd, 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.
June 19th, 2012
Having to pull the plug on a new version of your product is unfortunate. Scrapping it months after it’s been released is just plain careless.
April 11th, 2012
Despite all the best intentions, software reuse tends to be confined to third party frameworks and tools rather than being an integral part of the development process. Are we expecting too much from software reuse and should we learn to set our sights a little lower?
March 18th, 2012
EPiServer and Sitecore are direct competitors in the middle-tier CMS market and on the surface they appear to do pretty much the same thing. You need to dig quite deep to draw out a useful comparison.
January 14th, 2010
Despite the predictions that Apple’s tablet computer will be a game-changer I wouldn’t be writing off paper-based media for a while yet…
October 7th, 2009
Another quarter, another set of statistics from Adobe claiming “worldwide ubiquity” for the Flash plug-in. As with many vendor-commissioned surveys, the results of the Flash penetration survey are based on a truth that is spun out to an absurd degree.
June 30th, 2009
Developing applications for a mobile phone is a nightmare – which of the five or six competing application platforms should you use?