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
Programmers look at software they’re working on from the inside, but users look at it from the outside. This difference in perspective can lead to different views about what’s important – too often programmers can be consumed by the technical detail and lose sight of value to the end user. In fact, they too often … Continue reading Confusing user value with other things
Flexibility in software design is often seen as a good thing, but it can come at a cost. This isn’t surprising, because software engineering is a kind of engineering, and engineering involves making trade-offs among several good things. For instance, there is no “best” car, just the best car for a given situation, with a … Continue reading The cost of flexibility
A friend recently asked for some advice in writing her CV (résumé) and suggested I turn what I told her into a blog post, so here it is. I don't claim to be an expert in CV writing; these are just the ramblings of some random bloke on the internet. I hope you find them … Continue reading CV tips
Some Senior Software Engineers feel they must win every argument, which I think is a bad idea. Not only is this bad for the team, it’s bad for the Senior Software Engineer as an individual. In this article I’ll explore this a bit, with the analogy of Top Trumps. It’s also related to the strong … Continue reading Senior software engineers, authority and ability
Someone I know was moaning recently about a lot of tedious electronic form filling they had to do for work. It was something that happened once a year, but it was much more lengthy and tedious this year than before. It struck me that this was a sharply focused example of when user experience (UX) … Continue reading User experience (UX) and data quality
In my previous post, I contrasted two different terms for thinking about how people interact with your organisation – Customer Experience (CX) and User Experience (UX). Rebecca Brown (a CX expert I mentioned in the post) kindly explained her view of CX to me, which got me thinking of some quality and process things that … Continue reading Customers, suppliers and fences
I’ve heard both Customer Experience (CX) and User Experience (UX) used to describe how someone’s life is changed, for the better or for the worse, because of the goods or services that an organisation provides. This article goes into my understanding of those terms – how they’re similar and different. I don’t think that either … Continue reading Customer Experience or User Experience?
If you have a website, it's probably to fulfil some purpose - to let people buy something, or look something up etc. This purpose can be articulated as a series of requirements (functional or cross-functional), which can be ticked off during testing. In this article I will use some buildings to illustrate a point about … Continue reading Does your website reassure and welcome?
I've been around computers long enough to have encountered one problem many times. It's a problem that seems to be almost built-in to computers: poor documentation. In this article I'll focus on documentation of code that you use via its source code, e.g. an API, toolkit etc. There are mental tools you possibly already use … Continue reading Just detail can lead to poor documentation