This article is about deciding when to implement architectural changes and large functional changes to a software system. There is no general right or wrong answer, because it depends on the context of your users/customers and your organisation. Even though they are the best-known, Big Tech companies such as Facebook are in the small minority, … Continue reading You’re probably not working at Facebook
Category: Product Management
You’re probably wrong
In this article I make a suggestion that might sound absurd: when developing software, you should assume that you’re wrong. Once you make this assumption, it can influence quite a lot of what we do and how we do it in ways that I think help us to deliver better software. Why do I think … Continue reading You’re probably wrong
Is this a bug, a missing feature, or neither?
Software makers have this question a lot. They get some feedback from a user, and they must decide if it’s a bug, a missing feature, or neither. In this article I will explore this question using the analogy of a car. The simple answer is that there’s a lot of nuance – i.e. ‘it depends’ … Continue reading Is this a bug, a missing feature, or neither?
Building computer systems via problems rather than solutions
When it comes to building computer computer system, even something as simple as storing the name and address of universities can be surprisingly complicated and messy. While the mess and complication often can’t be avoided, knowing what the end user needs are can help you come up with the best way of tackling them. “Just” … Continue reading Building computer systems via problems rather than solutions
Reviewing requirements
Ministry of Testing kindly published an article I wrote for them on reviewing requirements. It gives some tips for doing it, and also looks a bit at the human side of things. I hope it's useful for non-testers as well as testers, whether your requirements are big documents full of UML or something much briefer … Continue reading Reviewing requirements
The big and small idea
I was talking with a Cambridge University student recently, in particular about their University Card. It’s a very useful card, that in one way can be described very simply. As far as I understand, the card lets students, academics and staff across the university access rooms and services, by proving their identity electronically. That’s something … Continue reading The big and small idea
Good software and how to get it
A little while ago, I was asked “What makes software good?”, which was followed up by “How do you end up with good software?”. I thought that they were excellent questions, and I will give my answers below. I don't claim to have the answer, just an answer. I’ll try to limit esprit d’escalier / … Continue reading Good software and how to get it
Language, discrimination and software development
I recently noticed myself using gendered language to talk about computer things where gender was irrelevant. This got me thinking about language, and prejudice and discrimination, more broadly. Beyond the obvious, decency-related reasons, being more open to how people are different from you could help you do your job in IT. Gendered magic The trigger … Continue reading Language, discrimination and software development
Obsolescence – building to last
This is part two of a series on obsolescence, value, cost and things like that. It's mostly about computer hardware and software, but drawing on other things too. Cars and computersBuilding to last Boots and white goods The Discworld books by Terry Pratchett are full of wisdom. (They also have interesting characters, humour, and an … Continue reading Obsolescence – building to last
Random numbers to protect privacy in a pandemic app
A computer system, like a car or a coffee machine, is something designed to meet some requirements. These requirements usually force the designer to make a compromise, based on which requirements get more attention than others. (Which is the best car? It depends on whether speed, size, sustainability etc. are most important to you.) One … Continue reading Random numbers to protect privacy in a pandemic app