People say: “yeah, we got a product roadmap.”


What most people have is a route, a single route.

A roadmap shows me all the adjacent roads. It shows me the alternative routes as well.

It doesn’t say here’s the alternative route. It says here’s the landscape, here’s the road network, just so you know. In case there’s a traffic accident there, you can figure out where else to go.


A roadmap should be just that: there’s an unfolding future, there’s a massive amount of uncertainty.

The venerable master Qc Na was walking with his student, Anton. Hoping to prompt the master into a discussion, Anton said “Master, I have heard that objects are a very good thing - is this true?” Qc Na looked pityingly at his student and replied, “Foolish pupil - objects are merely a poor man’s closures.

Chastised, Anton took his leave from his master and returned to his cell, intent on studying closures. He carefully read the entire “Lambda: The Ultimate…” series of papers and its cousins, and implemented a small Scheme interpreter with a closure-based object system. He learned much, and looked forward to informing his master of his progress.

On his next walk with Qc Na, Anton attempted to impress his master by saying “Master, I have diligently studied the matter, and now understand that objects are truly a poor man’s closures.” Qc Na responded by hitting Anton with his stick, saying “When will you learn? Closures are a poor man’s object." At that moment, Anton became enlightened.


Anton van Straaten, response to What’s so cool about Scheme?

(…) no matter how much effort you put into thinking you’ll very probably discover things your forethoughts missed. While coding ahead, once you start to code, you’ll have better thoughts.

(…) thinking without coding involves inadequate negative feedback. There are no reliable tests you can run that can tell you if your thinking is staying close to reality. Without that negative feedback, it’s hard to know if you’re thoughts are practical (…)

So, should you think ahead? Of course; but don’t give those forethoughts special status or special trust.

Robert Martin in When Should You Think?