Tuesday, September 11, 2012

This is a very common question from engineers and managers. Though there are many ways to answer this, the main role product managers do for any product is to ensure products are developed in a consistent manner that meets customer's needs, and ensures a reasonable profit. But this is like an over arching view of product from 30000 feet above ground, but it aptly captures the role of all product managers.

In software industry, there are several contradictory demands. These are contradictory because two demands run at cross purposes against each other. Most common ones are:

Deliver the software on time & within budget.

Ensure that the last-minute requests are included in this release.

Don't provide short-term fixes for long term problems.

Add this one feature as part of a patch release.

Shipping six releases per quarter/year is not acceptable.

We all have to work on limited budgets and rescues.

We cannot compromise on quality

Product development exercise is filled with conflicting needs. Every stake holder has a set of needs that often runs against other set of stated needs. The product manager will have to deal with conflicts successfully to have successful products.

In a hyper-competitive world, One has to release products on time and with features that customers expect. Delay in product releases or missing out on a feature is not acceptable.

To ensure success, product managers have to start with customers to understand what customer wants:

1. What are the features & functions of the product?
2. When do they need the product?
3. What price the customer is willing to pay for the product?

Product managers will then have to translate the customer needs into:

1. Product Plan - what features & functionality will be delivered
2. Product release Plan - When the release should happen
3. Product Pricing Plan - How the product must be priced and sold.

Product managers must create the above plans to ensure that the product delivers that the customers want, Is delivered on time, and the product makes a reasonable profit.

Since product mangers are not superheros to do all that, they have to work with project management, engineering management, product marketing & finance to develop a workable plan.

A good product plan is the one that meets both the customer needs and makes a good profit. Success in the software product development business is not a one-shot deal. It has to be a repeatable process that can be repeated across multiple customer segments. Product managers will have to create processes and systems that has the ability to produce successful software products consistently.

Software product development process is usually a delicate balance of various business factors - which often leads to the saying "There is no 'one way' to develop software products."

The software development process is constantly changing and evolving to:

1. Accommodate organizational changes.
2. Software development is an developer-customer partnership where both parties actively participate and agree on the end product.
3. Software development is an ongoing exercise in risk reduction
4. People are the most important factor in software development. This implies constant people & skills development exercise along with product development.
5. Document and measure progress of product development.

Software Product development is never a constant process. It is an ever changing dynamic process - which needs to be controlled and guided to ensure product success and that in essence is the main role of product managers.