Menu

Chapter six of ALIGN

The roadmap that lied

From ALIGN, a business novel by Maarten Rooseboom. Daan Verhoef is four months into an assignment at Arvo, a logistics software company with eleven teams. The CEO has asked him for a roadmap. He does not want to give her one.


Six weeks, and for about nine days I was the most popular man at Arvo.

That is not a boast. It is a warning, and I should have read it as one, because in my experience the period immediately before a thing falls over is indistinguishable from the period in which it is working.

What had happened was that the Wednesday session had started to leak. Ilona mentioned it to somebody on the data team. Bram, who by that point was challenging roughly one item each sprint and losing about half, had described the mechanism to a customer as though he had invented it, which I chose to take as a compliment. And Joris came to find me in the canteen and asked, with the particular carefulness of a man who has been told no by three previous consultants, whether the thing the four teams were doing could be done with a support queue.

Carla heard about it from two directions inside a week and then asked for the obvious thing.

"I need it on a page," she said. "For the board, on the twelfth. Not the mechanism. What is coming and when."

Which is a roadmap, and I said so, and I said it in the tone of a man asking whether we could not do something more dignified instead.


I do not like roadmaps and I have not liked them for fifteen years, and every objection I have to them is one I have heard from somebody else's mouth first.

Ronald gave me the full catalogue in about ninety seconds when I told him what I was doing, and he was right about all of it, and he had the specific bitterness of a man who has been handed one of these and then held to it. The further out you look the more fictional it gets. Everything on it is a promise somebody will remember and nobody will re-read. It requires you to pretend that nothing will change between now and December, and things change in the first week. It leaves no room to learn anything, because learning something means the picture was wrong and being wrong is not a category the format supports. And, he said, and this is the one that lands: everything that appears on it has to get built, whether or not it still makes any sense by the time you reach it, because it has been seen.

There is a fashionable answer to all of this, which is to stop putting time on roadmaps. Now, next, later. Three columns and no dates. I have implemented that twice and I will tell you exactly what it produces, which is a roadmap with all the same problems and less information, because now, next and later is a timeline drawn by somebody who does not want to be quoted. Everyone reading it converts it back into dates in their head within about four seconds. They simply do it privately and without your help, and now you cannot correct them, because you never said anything.

So I was against it. And I did it anyway, and I did it because for the first time in my career I had something underneath it that was not a wish.

That is the thing I keep trying to explain to people who ask why I changed my mind about roadmaps. I had not changed my mind about roadmaps. A roadmap is a view. The question is always what it is a view of. Every one I had built before had been a view of what somebody wanted to be true, arranged into bars. This one was a view of fifty-one items in an agreed order, with effort numbers that had survived being challenged in public, laid against the actual capacity of four teams. Same shape on the page. Completely different object underneath.

I published it on the Thursday. It was good. I am not going to pretend otherwise for the sake of the story that follows.

It went out to about forty people and the reaction was the reaction you get when you give somebody something they had privately decided they were never going to have. Anouk wrote back within the hour to say that this was the first time she had been able to see her retention work in relation to anything else and that she now understood why it kept slipping, which she had previously assumed was personal. Joris printed it and put it on a wall. Two of Bram's account managers stopped asking Fenna for dates, because they had dates.

Wouter said, and I liked this most, that it was the first document he had ever seen from management that had a number on it he recognised. Six iterations at half a team. He had said that. It had gone in at the top of the building and come out the other end still saying six iterations at half a team, and he had not known that was possible.

For nine days I thought the hard part was over.


The approval workflow was supposed to start on the Monday of the tenth day.

This was Bram's item. The one he had won in public in the seventh week, that had come out at position five on real numbers, four iterations at two thirds of a team, and which had by then acquired a certain symbolic weight in that building as the thing the new mechanism had got right.

Thijs's team picked it up on the Monday morning and by Monday afternoon they had put it back down.

The workflow needed to know who was allowed to approve what. Which meant it needed roles. Which meant it needed the permissions rework, the same permissions rework that had held the Delta customer view back in March and had been sitting in our list at position twelve, below it, because when we ordered the list we had ordered it by what mattered, and by that measure a piece of internal identity plumbing that no customer will ever see matters less than a feature two signed accounts are asking for.

Both of those judgements were correct. Position five was correct. Position twelve was correct. And together they described a plan that could not be executed by anybody, in any order, ever, because we had put a thing above the thing it required.

I sat with that for most of an afternoon.

Fifty-one items. We had spent two afternoons ordering them and three weeks defending the order and I had put it on a page and sent it to forty people, and at no point in any of that had anybody asked the question a project manager of the sort I have spent my career being rude about would have asked in the first ten minutes, which is: what has to happen before this can start.

The list knew what mattered. The list had no idea what was possible.

The fix was obvious and I made it in about four minutes, which is the last thing that took four minutes for the rest of that week.

Move permissions up. It has to be above the workflow, so put it at four.

Then the right-hand column recalculated, and I watched the thing I had built to make consequences visible make a consequence visible, and the consequence was not the one I was expecting.

Permissions is a large piece of work. Ten iterations, most of a team, and it belonged to Fenna's team, which was already the constraint in that group. Moving it from twelve to four pushed eight things to the right. That was fine. That was the bill, and I had been telling people all spring that seeing the bill was the point.

Except that one of the eight things that moved was the customer data export.

And the customer data export was what Anouk's retention work was built on top of. Nobody had written that down either. I found it because Anouk happened to be in the corridor when I was swearing at a laptop, and she looked over my shoulder and said, quite mildly, "That moves my thing, doesn't it."

So then I moved the export back up, above the things it had just been pushed below, which meant pushing four other items right instead, one of which was the reporting work that Ronald's operations people had been promised in a meeting I had not attended. And when I moved that, the June slot on Sander's team came free, so I pulled something forward to fill it, and the thing I pulled forward turned out to need a piece of the platform migration which was itself now sitting behind permissions, because everything was sitting behind permissions.

I did that for two days. I have the versions. There are eleven of them.

At the end of the second day I had a plan that worked, in the sense that every item in it started after the things it needed,

and it bore no useful resemblance to the plan I had published nine days earlier, and about a third of the dates in it had moved by more than a month.


Here is what I understood, sitting in a very quiet office at half past eight on a Wednesday evening with eleven versions of a spreadsheet open.

I had spent six months thinking about priority. Priority is a list. A list is a simple object: it has a top and a bottom and each thing has exactly one neighbour above it and one below. That is what we had built and it is what I had been defending in public for a month, and I had come to think of the ordering problem as solved.

But nothing I had touched in two days had stayed where I put it. Move one item and eight move. Fix those eight and four more move. Fix those and something frees up somewhere else and pulls a fifth thing forward into a gap you did not know you had created. The work was not in a line. It was in a web, and I had been holding one strand of it and calling that a plan.

And it was not only that the web existed. It was that there was no such thing as a local change inside it. There is no small adjustment. There is no moving one item. Every single change I made was, whether I liked it or not, a change to the whole thing, and the only reason it had ever felt otherwise was that I had previously been working with a picture too crude to show me what I was doing.

That is not a scheduling problem. That is what a system is, and I had been managing systems for twenty-five years without ever once having a way to see one.

Two further things arrived that week, and they are the beginning of everything that came after.

The first is that I had to republish. Forty people had a document from me with dates on it and the dates were wrong, and the reason they were wrong was not that anybody had lied or that anything had gone badly. Nothing had gone badly. We had simply discovered two dependencies that had always been there.

I sent the new one on the Friday with a short note explaining why, and the note was honest and reasonable and I was quite pleased with it, and it did not matter in the slightest. Ronald replied within twenty minutes. He did not say I told you so, which took discipline. He said: "So which of these dates should I believe?"

And there is no good answer to that. Not once. Not for the rest of the engagement. Because the true answer is that the roadmap is correct at the moment it is produced and starts decaying immediately, and that the honest version of the document would carry a timestamp and a warning, and nobody in the history of business has ever accepted a plan with a warning on it.

The second thing is smaller and it is the one that mattered.

Somewhere in the middle of the second day, on about version seven, I stopped and worked out how long that exercise had taken me. Two days. Two full days of a man who costs Arvo a great deal per day, to absorb the discovery of two dependencies. Not to decide anything. Every decision in it had already been made, in public, weeks earlier, by six people who all still agreed with themselves. I had spent two days doing arithmetic that followed inevitably from decisions that were not in question.

And there were forty-nine more dependencies in that group that nobody had written down yet. I knew that, because I went and asked, and the four teams produced them in an afternoon once somebody bothered to ask the question. Forty-nine.

I sat and looked at the number for a while and then I did something I have not done in a long time, which is to work out honestly whether the thing I was building could survive me.

Two days per discovery. Fifty discoveries waiting. And every one of them arriving not in a tidy queue but at random, in corridors, from people like Anouk looking over a shoulder, forever, because dependencies are not found once. They are found continuously, by everybody, for as long as the work exists.

There is no version of that which a person does by hand. Not me. Not a successor who is very good. Nobody.

I had six weeks left and I had just built something that already required a full-time human being to keep from lying, and the human being was me.

The thing underneath

A roadmap is a view. The question is always what it is a view of. Every one Daan had built before was a view of what somebody wanted to be true, arranged into bars.

Taskstreamer is the thing underneath one. Priority, dependencies and team capacity go in. The engine sequences the work across sprints, respects every dependency and every blocked item, and rewrites the plan in under a second when any of it changes, including when time simply passes. The roadmap stops being a document somebody maintains.

Prefer to see it before you read about it? The dependency game takes ninety seconds and needs no account. Or read how the calculation engine works.