This category contains 164 posts

Improve quality through doing the thing more often

The other week I was reading about the quality problems with major Windows 10 releases. To recap, Microsoft started rolling out to the public their second Windows 10 release of the year (called 1809), but had to halt it quickly when it was discovered it was deleting some people’s files. Before Windows 10 Microsoft would … Continue reading

A strategy for making progress

Often in a work environment I find I’m faced with difficult problems, and while I manage to find ways to move forward, I do this without knowing exactly what the end state should look like. An example of such a problem might be agreeing the best process for something within a team, or a company. … Continue reading

A bad time to estimate

The other day a friend and I were discussing a project which had notably overrun its original expected delivery date. “The problem is,” he said to me, “You estimate a project at the point you understand it the least.” This is a great phrase, and good to remember, even though it’s not strictly true. If … Continue reading

A plan for a plan

The other day a developer in my team asked, “So what’s your plan for…” and then described a particular organisational and technical challenge that several of us had been discussing on and off for a while. It was something that I was pushing forward, but I didn’t have all the answers yet. Of course, I … Continue reading

Product through customers

In the last couple of years I’ve met a few people who have been challenged by balancing building a product suitable for everyone versus building a customised product suitable for just one customer. The challenge is that while building a product suitable for everyone is clearly preferable, it takes a huge amount of time, and … Continue reading

Technical stories are (probably) not negotiable

Two of the INVEST criteria for user stories are that they should be negotiable (meaning the details can be adjusted) and independent (of each other). But if we write the stories in difficult language those two criteria become challenging. Some time ago I was discussing stories which were described in very technical language. This made … Continue reading

Deploy first, build after

There’s a lesson I learned a long time ago, and which I still find useful: deploy first, build after. Many years ago, when I was working with Mat Wall, we were building a system which, er, did something. I can’t remember exactly what it was, but I think it probably involved an FTP server, which … Continue reading

Who defines your process?

When someone introduces a process it’s usually to help them. If top-level management introduces a process for people on the ground then there’s a danger it will help the top team at the expense of the people on the ground delivering effectively. In our organisations we all want comprehensible processes. We want to be able … Continue reading

Mundane success

Once upon a time it was common for my teams and I to work longer and longer days as we approached a deadline, releasing successfully, and getting a real buzz from it. That was before I learned about how to deliver things incrementally and iteratively. Then things became a lot less exciting. I remember one … Continue reading

Product owners and technical decisions

Sometimes a development team has to make a technical decision. Actually, a development team has to make techical decisions all the time, and 99% of the time those decisions are focused entirely on the development process and therefore entirely at the discretion of the developers. But sometimes it’s not so easy. Perhaps they are thinking … Continue reading