In today's global market place, there is tremendous pressure to develop new & innovative products quickly and do that with less people. The competitive pressures are driving companies to introduce new products faster. Five years ago, what used to be a two year life cycle for a product is now reduced to less than 12 months. In software world, the average life span of a product is six months before it gets replaced by a newer version. The same is true for food and consumer products as well.
In such a competitive markets delay in developing new products can be fatal. (Just look at Motorola or Sony Erriccson) So delays are not tolerated and there is tremendous pressure to reduce the development time.
To meet this challenge, one has to look at the product development process itself, and the project planing in detail to carve out delays and look at automation to improve efficiencies. Companies are now using 3rd party developers/contractors to speed up new product development.
As a product manager, I have dealt with this pressure to release products quickly, and after 4 years, I decided to write my techniques and methods here that can be used to decrease the time for new product development and stay competitive in the industry.
Why Agile Product Development
Lot has been written about agile product development and I am not going to write all about that here. Here, the basic concept is to switch over to agile project management and release a product (or product enhancements) every 3 months or 6 months. The release frequency is depending on the market demands.
Software development is not a one time affair, it is a continuos development project and the aim of this continuos development is to ensure that the software product meets the customers changing requirements. As the customer requirements constantly change and new requirements constantly arise, and competition also keeps adding new features/functionality, Product development must keep up with the demand - by continuously developing the product.
From a competitive perspective, having a continuos development and frequent releases will send out the right signals to customers and increases pressure on competition. If new product releases are done in a timely manner and with exciting new features, then it will lead to increase in market share. Often times competition will slip on the releases and lose market share.
The product manager maintains a list of backlog items - i.e., new features or functional requirements. The product backlog is always repriortized before the start of every iteration. For all the product requirements, a detailed project plan has to be done - such that the release dates cannot be moved. In a nut shell, product features are flexible but not the release dates.
Now comes the tricky part. Keeping the release dates fixed, you need to determine theimportant features that the product must have. Identifying the feature set, and getting consensus on it is a real challenge. Once this list if finalized, then resources needed to develop the product are identified and committed to the project.
Note that the approach here is:
Step-1: Fix the release dates
Step-2: Identify the feature set the product must have
Step-3: Make a resource plan needed for the project
Step-4: Make a detailed project plan to complete the project on time with all the features
Step-5: Plan for the next release: features & resources
Step-1: Fix the release dates
Fixing the release dates is most important step in new product introductions. Every industry has a cyclical tendency - and there will be time of the year when customers are most likely to buy new products. For example, Christmas time forms the biggest sales for consumer electronics, PC, clothes, etc. While December also the best time for companies to buy capital goods - to take the benefit of depreciation, and also use up the budgets. Summer is a good time to launch new beverages etc. So knowing the best time to introduce new products is the first essential step towards accelerating new product development. It is also a good practice to have fixed release dates for years ahead - at least plan for 2-3 years in advance.
Having a fixed release dates helps in avoiding the quest for perfection. Many companies wait to launch a new product until it is "perfect." The quest for perfection will be never ending - and that pushes out the release date. I would avoid this "analysis paralysis" by going with beta testing or focus group testing. Also allow various stake holders to have multiple opportunities to provide input during the design & development phase and avoid all objections at the release time.
Cadence of releases
How often should one release a new product? The release frequency is actually a function of the industry, product complexity and the maturity of the product. For consumer products, the release frequency can be as high as one per quarter, and in enterprise products it can vary from once every 6 months to once every 18 months or once every 5 years
By fixing the release dates ahead of the time, you are actually accelerating the product development cycle - because everyone knows when the new product will be introduced and delays will not be tolerated - both by customers & stakeholders.
Step-2: Identify the feature set the product must have.
This is the heart of product management, and product manager needs to have a list of features that the product must have for each of the releases for next two years. Call this as feature list backlog, and with each release - the backlog items are burned off, and new backlog items are added. As the product becomes mature, there may not be a lot of new features to add - thus making way for totally new products to be introduced.
Step-3: Make a resource plan needed for the project
Once the release dates are fixed and the feature sets are determined, making a resource plan is the next step. When you are trying to accelerate new product development, resources must not be a constrain. But in reality - resources are always a constrain. So one needs to strike a balance between the feature set and resources - keeping the release dates fixed.
The resource plan must contain the list of resources needed, when it is needed, for what length of period, and the estimated cost of the resources.
A resource plan has several components, and one has to get it right to deliver the product on time.
1. Effort Estimation
2. Resource Identification
3. Lead time to get required resources
4. Cost for the resources required & financial planning
5. Buy-in from all stake holders.
Resource planning is critical. Many times the key stake holders for the project will not be aware of all what it takes to accelerate the product development process and the associated costs. If a detailed resource planning is not done at the beginning, then there is high probability that the project will get dropped or the product will be forced to compromise on features/functionality. So it is vital to get the resource planning done in advance, the costs analyzed and budgeted before starting off the project.
Step-4: Make a detailed project plan to complete the project on time with all the features
The key here is to have timely releases with the planned new features. In agile product development process, it is important to meet the release timelines - even if it means missing out on a minor function feature (provided that this feature will be made available in the next release)
Having a detailed project plan and then executing on that plan is vital. Identify all the critical paths early in the planning stage and also allow for flexibility. Identify key stakeholders and hold them accountable for meeting deadlines.
Product release delays can have adverse impact on revenues - particularly for products that have seasonal demands. Consumer products tend to have high demand during Christmas, Enterprise products have a high demand in the last quarter of the financial year etc. So it is an absolute must to meet the product launch dates.
Project planning is of vital importance to meet the deadlines. The project plan must take into consideration of risks and manage risks proactively - to ensure that timelines are not missed.
Step-5: Plan for the next release: features & resources
Not all the planned features/functionality can be developed in a single release. During product development cycle it is common to realize that certain feature is too complex or not viable for the current release - but these features can be deferred to the next release.
As a product development is underway, the product owners should start on planning for the next release and have the requirements, features/funcationality, costs, and timelines worked out. This advance planning will allow for a phased product development and also provides room to accommodate changes and customer feedback.
Software Product development is a continuous process. Having a slew of releases planned out ahead of time helps in developing differentiated superior products. Customers will also be happy to know that the products they bought will be supported and enhanced in future. This also allows company to respond to competitive pressures in timely manner.
Closing thoughts
In today's hyper competitive world, New Product Development is not a one time activity. It is a continuous activity marked with regular releases, increasing functionality & utility.
In today's complex, global business environment demands new product development (NPD) that involves a globally dispersed teams. And this translates to greater pressure on project management in product development cycles. Innovation and timeliness of releases is the key to success.
Avoid the search for "perfect" product - instead plan a slew of releases as path to achieve perfection.
Recommended Reading
- Product lines for digital information products by Victor Pankratius
- Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering
- Fundamentals of Product Design by Richard Morris
- Innovation on Demand - New product development from TRIZ
- Think Strategically