Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I read a while ago an article about "Managing Expectations" and I ask myself, is it a good or bad idea to share your roadmap with your customers?

In your experience, what are the pros and cons of doing this?

share|improve this question

migrated from Apr 12 '11 at 11:52

This question came from our site for professional and enthusiast programmers.

4 Answers 4

I practiced both. I don't think it's a good idea with most customers, unless you're very clear about the meaning of the information you provide and unless your customer has a good knowledge in IT.

There are several advantages in being open about what was done and what must be done to finish the project:

  • If you provide precise information about the process, it's easier for a customer to trust you,
  • The customer don't have to ask what is already done,
  • The customer can change requirements before you start writing related code.

But there are lots of strong disadvantages. The most important one is that for most customers, this sort of information is very difficult to understand. Let's say the customer can see the "final" product in progress (for example if it's a website, you let the customer access the website hosted on developer server). On a project, at least half of the time is spent on management (collecting requirements, etc.), testing and QA. In other words, on a two months project, you will start really writing code one month after the beginning of the project. In such case, most customers will have an impression that you're wasting their money doing nothing useful the first month.

Roadmaps are also non-linear. You can do the first 50% of the roadmap in two weeks, and the second 50% in two months. But the customer doesn't know it, and will expect the second 50% being done in two weeks too.

Finally, roadmaps are not rigid. They can change strongly because of a change in the requirements, or because you have a more important project to do meanwhile, etc. But again, the customer doesn't know it, and must not know it; instead, if your roadmap changes, the customer will blame you for weak management, when in fact, everything is ok.

share|improve this answer

Like so many questions, the answer is "it depends"...

In general I would say yes, it is a good idea. It keeps the customer engaged, it allows them to plan on the basis of your deliverables and it should help your sales. BUT You must be sure you are going to be able to stick to the road map and meet your commitments, otherwise it will backfire.

There are situations where you may not want to release details, or keep things vague. These mainly centre around protecting your IP (intellectual property). You don't want to give you competitors any advantage after all.

There are 2 very well known examples of companies taking 2 very different approaches here that might be worth considering: Microsoft has a lot of business customers and relies a lot on OEMs to package Windows, so it is important for them to release road maps to allow these partners to plan properly. Apple on the other hand release more innovative consumer products and rely on "wow factor" at launch time, and so they do not release detailed road maps. The business models are different, so the approaches are different.

share|improve this answer

You should certainly discuss your road map with your customers. This will allow you to ensure that you are developing items in the right order - i.e. those things that customers actually want first. It will also allow them to ensure that they have the resources available to migrate to the new version when it's released.

I don't think it's always helpful to actually show the full road map as this might lead to some unrealistic expectations being raised, or you being locked in to delivering something that turns out not to be best for you. You have to have the flexibility to change direction if necessary. If you do show it make sure that you remove all dates (beyond say the next release).

In a previous job we shared this information with our major client but we only had firm agreement for those items that would be in the next release. This worked well as we were always developing what was most useful. It also meant that some things were always being pushed back as new features were thought of and brought into the plan.

share|improve this answer

You have to determine what made you do this in the first place. If customers keep asking about Feature A and you're working on it, why not put it on your site?

You can take a risk by thinking "wouldn't this be cool?" and put it out there. My guess is no one will even notice it and you'll have to deal with a few trolls who throw it back in your face and complain about the new feature being over-due.

Do you want to be open about things or not?

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.