Browsing Tag

Open Source

You Don’t Really Own Your Roadmap

Here's your sign!Sales people hate looking stupid. Unfortunately, we often put them in positions where they look very stupid by changing plans and roadmaps, which is our own fault. How do you keep the trust of your team when your business, roadmap, and customers are shifting in the sands around you?

There are lots of reasons that plans change, some good and some bad: the Market shifts, the competition makes a play, or the company dosen’t hit its goals and has to layoff developers, which pinch your resources. All of these create a refactor in your roadmap.

There are several tactics you can use to lessen the impact of changes to The Plan. I’ve written in the past about the importance of separating your Roadmap from your Release Plan. This simple change, and the cultural impact at the Executive level down to the developer level of thinking that “a product/feature on the Release Plan is locked in and cannot be changed” is huge. Remember that Release Plan’s mean that the product or feature’s release is imminent and committed – your Release Plan should never cover >6 months.

Also, realize that you don’t really own your roadmap. The best you can do with the roadmap is plot a general direction for a product or service, but when it comes down to it, the Market and the Business own the roadmap. The Roadmap is not yours; you are the steward of the Roadmap. I see products and companies fail all the time because they set their roadmap and expected the Market to bend to them; it doesn’t work that way.

One-off deals can also derail the roadmap. In a smaller company where there is immediate revenue pressure, the allure of a special deal that “just needs this one feature” is huge. Are you ready to turn down a million dollars in revenue? Most Executive teams are not. Be able to illustrate how any proposed feature or product changes to your roadmap delay or eliminate your entrance into new markets or buying personas. That changes the special deal conversation from emotion-based to data-based.

New Development VP’s also have a tendency to take roadmaps off course. The reason: they love changing technology architectures. I carry a cross on this one since I’ve been burned before, from a CTO who changed the team from Java to .NET…which meant retraining some developers, dumping other developers, and hiring new developers. We lost 12-18 months just spinning – it was stupid!

When you see the VP of Development pushing for a change in development platform or underlying technology, drill closely into the details of why. Most Dev VP’s aren’t dumb enough to say “it’s because it’s a fad” or “because I want to get quoted in CTO magazine!,” and they will come up with legitimate sounding reasons why the old platform sucks and we really, really need this new one. You need to provide the voice of reason – with today’s technology, you can build an adapter to and from almost any technology without having to rip up your entire platform. If it’s that strategic to change your platform, the company should be able to justify the expense of building a parallel platform next to the existing one without disrupting current development.

One type of project that can be completely immune to external forces taking them off roadmap is the open source project. Since developers in this model often develop for themselves and not for the Market, oftentimes they don’t care what their users are asking for. Other open source projects are more flexible to the wants of their Market and do adjust their plans.

What other reasons pop up for taking you off roadmap, and how do you combat them?

The Failures and Successes of Open Source Product Management

AntI kicked over a small ant hill last week with my post about the (lack of) Product Management being a fatal flaw to open source software. Both CNet and Linux Today chimed in, and that story incited some really good comments. Some of the commentators were gracious enough to continue their dialogs with me in more depth over email. It’s only fair that I follow on that post with some of the great points they made.

First, there was some confusion between Product Management and Project Management. Product Management is still poorly understood and inconsistently implemented in technology companies, so it’s understandable that lots of open source programmers may never have worked with a good Product Manager. Here’s an email exchange I had with a commentator (who asked to remain anonymous):

Paul: …maybe we’re talking past each other on the definition of project management vs. product management…

Anonymous: …I use them nearly interchangeably since all products result from projects. The problem I have in your posting is your blanket implication that development style makes FOSS management inferior….

…I disagree strongly that project and product mgmt are interchangeable terms. Product management is the discipline of discovering, documenting, and prioritizing user problems, it looks at the market strategically and seeks to understand where the greatest user pain is and (in commercial companies) which problems can be solved with the most profit. Project management is tactical scheduling, resource allocation, etc…

This leads to Point #1: The “Product Management Probem” is not unique or limited to open source projects. This is completely valid. You can easily point at Microsoft or other commercial software companies for examples of products that had poor product management and don’t necessarily solve a pressing need. The Pidgin example happens to offer a teaching opportunity in the FOSS world, showing that no person or model is perfect.

Point #2: Many commenter’s stated (paraphrased): “We don’t need Product Management, that’s for commercial companies; free software already has a method to determine wants and needs across groups of users – it’s called forking!”

Forking is when a developer decides to branch off of a project to create something different, usually withing the same vein and built on top of the work that has occurred to-date. In fact, there is already a fork of Pidgin called Funpidgin that exists just to give users back the features that the Pidgin team “took away.” I would say that forking is a very inefficient way to solve this problem, but a commenter smartly called me out on that point saying that unlike in commercial companies, open source projects are not resource-bound – they can afford to be inefficient.

The main point of the post, beyond even the Product Management topics, is that a FOSS project can have one of two primary goals: either the developers are creating for themselves, or they are creating for others. To create for yourself means that you recognize user input but don’t feel any obligation to take it since you’re building an application for yourself. If the user happens to enjoy it, great. If not – fork and make something you like.

If you’re creating for others, you should be interested in the wants and needs of your target user base. This might mean forgoing a “cool” or technically challenging feature like auto-resizing text boxes. Now that open source software looks, feels, and acts like many commercial packages, users assume that the application was developed with their needs in mind. If the application does not meet their needs, they feel justified in offering feedback. This is where the disconnect comes from: users who assume that an application was developed for them and programmers who believe they are building primarily for themselves. If the programmers are interested in working for a larger user base, a strong product manager could help them fill that gap.

What if when you went to to SourceForge, you saw a badge affixed to the link that told you if this was a for-developers or for-users download?

Who are we creating for?

At least if you understood this bit of information at download time, as a user you wouldn’t bother going to offer feedback to a team that isn’t interested.

Point #3: “FOSS projects air their dirty laundry for the World to see, whereas commercial products get to keep it inside their four walls.”

Yes and no. Yes, open source is out there for everyone to see. Don’t think for a second that just because a product is commercial that the tradeoff decisions those teams make don’t spill onto the Internet. Just look at Microsoft Vista for an example. Or Facebook’s advertising platform.

Point #4: “There is Product Management in open source today! See JBoss, Mozilla, and others!”

This is an important point that I’d like to recognize. There are companies and projects that are contributing PM to FOSS projects.

I’d like to thank everyone who participated in the discussion!