On and off over the last few weeks I’ve been thinking about Elaine Wherry’s painful story of hiring developers. But the thing that triggers the whole tale is worth drawing … Continue reading Your architecture impacts your business strategy

On and off over the last few weeks I’ve been thinking about Elaine Wherry’s painful story of hiring developers. But the thing that triggers the whole tale is worth drawing … Continue reading Your architecture impacts your business strategy
A while back I mentioned that a system’s architecture could be considered a product in its own right. In this post I want to explain that a bit more. Products … Continue reading Software architecture as a product
When we think about decommissioning software the technology component might be the easiest part; removing its influence from people’s lives may be much more challenging. We’re used to the on-going … Continue reading The challenge of decommissioning software
Oddly, this came up twice yesterday, in discussion with different people in different organisations, which is surely a sign that it needs to be made more public: there is genuine … Continue reading Eating your own (API) dogfood
Earlier this year at a Costa Coffee in Waterloo Station I was speaking to a CEO who was just trying to get his startup idea off the ground, and he … Continue reading Platform APIs: What’s next?
I don’t know anyone with a direct interest in recruitment who likes recruitment portals. As a hiring manager I dislike them, and I don’t know any other hiring managers who … Continue reading The dreaded recruitment portal
I’m often surprised how enthusiastic non-technical people are for technology, and how circumspect technical people are. A while back I was speaking to someone from a corporate IT function who … Continue reading Premature technologification
In the Guardian development team we continually talk about the naturally increasing complexity of our codebase — there are always new features to add, so it always gets more complex. … Continue reading Less technology is better technology
A couple of things happened recently bringing home something that I’ve found increasingly important: technology decisions are social. Social decisions in software architecture The other day in conversation about team … Continue reading Technology decisions are social decisions
We think software is soft, but that isn’t always true.
I was speaking recently to a friend with a large system he was struggling to scale. I was saying while the Guardian does have to spend tangible time (and sometimes money) to ensure its systems scale, we do tend to deal with the issues successfully. But that wasn’t his experience, to the extent he was considering tearing his system down and starting again.
We often think we can reconfigure and rework software, to adapt it to new circumstances. And often we’re correct. This is even the essence of agile development: get something useful out there, learn, and make it better.
But we need to think slightly differently when we’re dealing with proprietary software, as was at the heart of my friend’s system. It may be configurable, but it’s never as malleable as something open source or self-made. We’ll be working with the soft squishy stuff, then suddenly come to a hard black box which won’t flex. It’s like finding a piece of Lego while rolling out a ball of plasticine.
So there are different risks around using proprietary systems compared to more open ones. Proprietary systems allow us to do some things faster, and other things not at all. This doesn’t mean we should avoid them but it does mean we need to manage our projects accordingly. Activities need to be prioritised accordingly, and that may involve addressing earlier potential requirements which would lead to impossible changes. Thus it can have implications for project planning and (if it may mean changing our business-level expectations) governance.