svpg
FREE newsletter

Subscribe via RSS

Subscribe

Tag Cloud

product management product discovery management company culture product owner product portfolio planning product development process product strategy product marketing product manager marketing great products user experience design innovation agile scrum project management minimum viable product user testing prototype testing

Browse by Date

  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • October 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • November 2006
  • October 2006
  • September 2006
  • August 2006
  • July 2006
  • June 2006
  • May 2006
  • April 2006
  • March 2006
  • February 2006
  • January 2006
  • December 2005
  • November 2005
  • October 2005
  • September 2005
  • August 2005
  • July 2005
  • June 2005
  • May 2005
  • April 2005
  • March 2005
  • February 2005
  • January 2005
  • HOME
  • Services
    • Product Management
    • Product Marketing
    • Technology
    • User Experience
    • Public Workshops
  • Articles
    • Index
    • Blog
  • Clients
  • Resources
  • Company
    • Team
    • Manifesto
    • Contact Us

Platform Product Management

Posted by Marty Cagan on May 15, 2005

Tags: great products, platform products, platform product management

One of the most difficult - but highest leverage - types of product management is to define successful platforms. By platforms, I am referring to foundation software that is used by application developers to create end-user solutions. Examples include operating systems (e.g. Windows, MacOS, Palm OS), operating environments (e.g. Java, Flash), Web services (e.g. Amazon’s or eBay’s integration API’s), and game developer platforms (e.g. XNA).

Before I go further, it’s important to point out what is not a platform. There are too many so-called “platforms” out there that are really just unfinished products. The team didn’t do the work required to provide a complete solution, so they market it as a platform and push the work off on the customer or a developer to finish. If you don’t have multiple commercial software products or services built upon your software then you’re not a platform in the sense I’m describing.

But assuming you are, then you know how difficult platform product management can be. To begin with, there are three very different constituencies:

- The application providers are the businesses that choose to use your platform to build their solution.

- The developers work for the application providers and they write their software using your platform services.

- The end-users are the ones that run the application provider’s products and ultimately use your services.

Each of these three constituencies brings very different needs and requirements. You simply can’t be a successful platform without meeting the key needs across all three.

The application provider is going to be concerned with business viability – their viability if they use your services, and your viability in case you go out of business or discontinue support for the platform. The application provider cares about your pricing, licensing, quality, support, and global availability, among other factors.

The developers are looking for services that make it easy for them to quickly create maintainable, reliable code in the languages they want to use, working with their favorite tools and infrastructure, on the devices they need to deliver on.

The end-users care mainly about the end result. If the features and services they want aren’t there or don’t work in the way they need, they don’t buy the application, which means the application provider fails, which means you lose a customer and eventually you fail too.

One of the biggest mistakes that platform product managers make is in the prioritization of the three constituencies. The developers are the most vocal group and the easiest for the company to relate to, so they usually get considered first. The application provider is the one writing the check so they come close behind. But the end-user is often so far removed from the platform provider that they rarely interact directly. Unfortunately, this is precisely the reverse of what’s needed. It is a big (but common) mistake to optimize for developers over the end-user. It is ok for the developers to work a little harder if the application is something the end-users like and use, versus making the developers happy but nobody wants the end result.

Countless platform-wannabees made this mistake. The reasoning is very simple: I’m a developer; I know what other developers want; so I’ll create something to help both my colleagues and myself. I would have to include Client-side Java in this camp. Great development environment; terrible user experience; terrific opportunity for Macromedia.

Many extremely successful platforms have been downright awful for the developers. But they succeeded because of compelling value to the end-users and therefore to the application providers. You don’t have to look further than early Windows for an example of this.

I’m not advocating platforms that make life miserable for developers, but product management is all about choices and priorities, and it’s essential to understand that the delivered application is what matters the most.

There are other important dimensions to platform product management that make this area challenging. For example, there are many different delivery models (e.g. embedded, private-label, co-branded, hosted) and many forms of customization that may be required (e.g. end-user, customer’s IT, solution provider/SI, vendor, source-code). Each of these is an article in itself.

Support is also very difficult for platform providers. The bar is high as you’re a critical dependency for all of your customers. That said, the great thing about working on platforms is that they’re very high leverage and if you do it well you can create a thriving ecosystem where you and your application provider partners succeed together.


  • Product Management
  • Product Marketing
  • Technology
  • User Experience

© 2009 Silicon Valley Product Group. All rights reserved.