Nik has written 508 posts for

Distinguish value and constraints

In the past I’ve spoken about the importance of a value statement. This is how we express, in quantified terms, how we measure success. Ensuring success is measurable brings huge benefits to any stream of work. But the process of identifying our measure of success can be difficult. In doing so we may consider and … Continue reading

If you need an FAQ you’ve done it wrong

One thing I often say to people I work with is, “If you need an FAQ you’ve done it wrong.” This idea stems from a blog post I read ages ago from GDS, and also a tweet from James Hupp, who said, “FAQs are a way to show you’ve thought about what your users should … Continue reading

Avoid hostage situations when refactoring

Last week I talked about refactoring and the need—throughout that process—to still be able to deploy frequently. What I did not explain was why it was important to still be able to deploy frequently, and that was a bit of an omission, because we shouldn’t take these kinds of mantras lightly. The reason is to … Continue reading

The word puzzle analogy for technical changes

I’ve often come across a situation where a team needs to undertake a major refactoring or some other technical change, which may take in the order of days or weeks, and we need to discuss how to approach it. In years gone by, before continuous deployment was the norm and microservices were popular, it usually … Continue reading

Divisions at the top create wider divisions further down

A little while ago I was discussing with a chief executive the key characteristics of being a great CTO. One of the qualities I mentioned—which I’d observed in many effective CTOs I’ve worked with—was a unity of purpose and communication with their peers, most notably the CEO. “Ah yes,” said the chief executive, “a division … Continue reading

Carpe sprintum

I’m reading a book called “Carpe Diem Regained”, about how the phrase (meaning seize the day) has been interpreted and misinterpreted over the centuries, and what it can usefully mean to us today. One aspect that I found parallelled my project work life was that one interpretation of carpe diem is about effective prioritision. The … Continue reading

Make good work visible

The other day I was at an Underground station where there were a number of charity collectors with buckets. I put a coin in a collector’s bucket and he gave me a bright yellow sticker in return. At first I was unsure about wanting it; it’s the kind of thing I’d have loved when I … Continue reading

What does it mean to be a mature organisation?

I’ve said before that the word “maturity” raises my hackles, and in particular when people talk about their organisation needing to be “mature”. This is not the only word that has this effect on me. I’ve written before about “culture” and the phrase “best practice”. As with “best practice” (and sometimes with “culture”) there is … Continue reading

Plan for legacy systems

The other day I was looking at some old Elm code, refamiliarising myself with one of the key language concepts (Signals) and found an article to help me. One part in particular caught my eye: To truly add a level of responsive interactivity to our application, we need to understand Signals, Mailboxes, and Addresses. These … Continue reading

Take people with you

It’s slightly egocentric to look at someone doing their job and imagine yourself doing it instead, and it’s naive to look at the work of world leaders and declare that they’re doing it wrong. So in this post I’ll do both. Here in the UK the prime minister, Theresa May, is trying to implement Brexit. … Continue reading