When we think of building world class products, few companies come to our mind instantly. The top one for most people is Apple, Microsoft, Google, Coca Cola, Toyota, McDonalds etc. These companies are well known for their successful products - super successful products.
When we look deeper into these successful products, we also find several common traits across these products - which helped them successful in the first place.
In this article, I will talk about one common factor: Product Development Process.
Successful companies have developed a well defined process for developing new products which at a high level can be broken down into 5 distinct stages.
1. Product Strategy
2. Product Design
3. Product Development
4. Product Marketing
5. Product Maintenance
Each of these stages by itself can offer unique competitive advantages, but the key for success is to be good in all five stages. To understand this better, let me explain each of the five stages.
Stage-1: Product Strategy
At the highest level, Product Strategy addresses the question: Why are we building this product?
This is the initial phase that starts off with the basic rationale for the very existence of the product. Starting with a well defined problem statement and being thorough and accurate about the reasons for developing the product provides a stable platform upon which one can build a successful product.
Since the product will evolve over a period of time, it is important to have a roadmap to achieve the product goals over a period of time. The roadmap defined a set of steps that will take the product from start to its intended goal - which answers the question: Why are we building this product?
Having a well defined product strategy itself provides a solid competitive advantage - as it gives a solid foundation upon which one can take quick decisions.
When defining the strategy, the starting point must be: How will this product will bring in revenue?
Having a clear revenue model at the start will help immensely all through the product life cycle. The revenue models will help in product design and product development.
The second question is to address the primary purpose of the product: What customer problem is it solving? The primary purpose will define how the product is designed, how users will interact with the product and what the user experience with the product should be?
Answer to this question will determine the distinct set of features, functions and requirements to considered during product development. This will also help in organizing all the features, functions and requirements for subsequent releases and help create a product roadmap.
Third question to ask is: Who is our competition?
Having a complete competitive analysis will help understand the market better and also learn from mistakes done by competition, so that this new product can have strengths where the competition is weak. Doing a competitive analysis will help avoiding reinventing the wheel. If the competition is doing something that works, then it is best to copy it.
There are three outputs from this stage of defining the product strategy:
Output-1. High Level Goals
This consists of the best possible business model for the product. It also defines the success criteria for the product. The business goals must be simple enough for everyone to understand and must not have any contradictory goals.
Output-2: Define the customer problem which the product will solve.
Create a statement of the problem(s) or need(s) the product will solve for customers. Having the problem/need and solution properly will provide valuable guidance for product development teams.
Output-3: Competitive Landscape.
Doing due diligence on competitive landscape will help cut down the development time and avoid reinventing wheels. Knowing what works in the market will help big time when developing new products.
Product Strategy forms the solid foundation in which the success or failure of the product rests. One cannot afford to by-pass strategy definition stage and hope to succeed.
Stage-2. Product Design
Once the broad product strategy is defined , the next most important stage is to come up with the product design
At the highest level, Product Design addresses the question: How are we building this product?
Once the strategic foundation for the product is defined, the work on product design has to start. In this stage there are two very important questions that needs to be addressed:
1. What should be the user experience?
2. What technology platforms must be used?
One must take a wider view when considering the user experience of the product. It must include all aspects of user experience such as User interface, functions, product performance, product stability, reliability, etc. It must cover all aspects of user experience from the day of first usage to its eventual retirement. For example, Apple iPhone is designed with the user experience from the moment one walks into the Apple store, includes the packaging - the experience of opening the product package, the usage experience, and even product return.
The goal of product user experience is to be "Awesome". It must be this word that customers will use to describe your product.
Product Technology Platform is the next critical aspects that needs to be defined. In today's rapidly changing world of technology innovation, having the right technology platform makes a BIG difference.
What denotes the right technology platform depends on the product segment. For software it may be a set of underlying software development tools and development framework and the underlying OS and deployment methods etc. For computer hardware, it could mean a x86 processor or ARM or Qualcom etc.
The underlying technology framework must address questions such as:
1. Do we have the necessary skills in house to use this technology?
2. How does this technology offer intrinsic advantage?
3. Does this technology provide all the functional elements needed in the product?
4. Does this technology allow the product scale or perform at the levels expected by power users?
5. How does this technology help in the over all design & architecture of the product & subsequent portfolio of products?
6. How does this technology help the product fit into the customer ecosystem?
The most important aspect of design stage is to ensure that people with right design skills are working on it. Often times not having the right skills hampers the design process and severely handicaps the product - which will result in product failure. It is best to hire external consultants during the design stage and get the best of design talent.
Selection of underlying technology platform is a core engineering function that defines the product's user experience from start to finish that can eliminate problems for both the developer and users for a long period of time as defined in the product roadmap.
At this stage, Product design is not about the actual development of the product - but it is defining the tools and the framework upon which the product will be built, supported and sustained.
Note that doing competitive analysis and market analysis before embarking on product design stage can benefit immensely - as one can learn from competition and market landscape in choosing the right technology framework and also defining what the user experience should be.
Knowing what the customer expect from existing competition and their current user experience will help in a big way to create a better product.
There are few best practices that are generic enough to be applied across different products. Some recognized best practices are:
Take time to complete the design. Avoid the rush to start development as soon as possible. Instead make sure that the designs are complete. This will save time, effort and big costs later in the project.
Long time ago, when I worked on a SoC project at Silicon Valley, we spend nearly 25% of the project time in the design phase. Every aspect of design was completed, the choice of CPU cores, Memory modules, and other hardened IP was first determined, even the power envelope for the product was designed and calculated, the overall design layout of the chip was almost finalized before the actual development started. The result was a blockbuster product.
Document the Design. Spending time in documentation of the design, the requirement analysis, functional features etc. saves a lot of time during implementation. The design document serves as the product blue print.
Cut all dead wood. Typically while designing new product, there will be demands to maintain some legacy aspects for backward compatibility. While some of the legacy requirements make business sense, some do not. Review all the legacy requirements and eliminate those which does not make business sense. This might take some bold design decisions. For example, Apple's decision to eliminate floppy drive in iMac or eliminating DVD drives in MacBook Air.
Consider the overall product ecosystem for the product. The end product must fit into the user ecosystem. Ignoring the strengths of the existing ecosystem can hamper the success of the product.
Involve the development team. Make sure that the development team is involved in design process as early as possible. This will help them prepare and develop the product faster and better. Product development team can provide valuable insights from start to finish and can eliminate problems.
Involve product support & customer service teams in design stage. Getting inputs from product support & service teams will help design the product for better serviceability. For example, developing software with better debug messaging will help resolve customer issues faster when the product is deployed at customer site.
Additional best practices can be learnt from experiences of other companies & competitors. There is no shame in copying and learning from other industries either. Learning from others helps lower costs & time taken for product development.
Stage 3: Product Development
This stage answers the question: "How do we create this product?"
Once the product design is complete and design is documented, the next stage is to build the product.
During the development stage, there are three critical factors one need to consider.
a. Customer Feedback and Acceptance
b. Development Program Management
c. Product Testing & QA
a. Customer Feedback and Acceptance
It is a good practice to involve a customer in product development stage. I have written a detailed article on co-development with customer See:
Getting customer buy in on the usability of product functions, features and user interface during the development time speeds up customer acceptance of the product and lowers the cost of sales. Developing products with constant customer interaction helps, but one also needs to know where to draw the line when it comes to meeting customer demands. For example, Google runs a long Beta program during which it collects lots of customer feedback data and tunes the product accordingly.
Ideally, the Beta program need to be designed into the product development process - so that it can be managed for optimal outcomes.
b. Development Program Management
Program management is another vital aspect of product development. No product development project will be successful without a strong program management. Program management plays a critical role in providing leadership, helps coordinates various development teams and ensures timely results.
In product development, there will be several different teams (development, release management, legal, documentation, marketing, finance, etc.,) working on the product and these teams could be globally distributed. So it is the role of program management to coordinate between the teams and provide arbitration between teams to ensure timely outputs.
Program management brings various stake holders together and facilitates decision making and in cases provide leadership to product development teams.
c. Product Testing & QA
Quality is a default expectation today. Competition will ensure that any slips up in quality is punished. So there is no room for error or slips in quality. In many cases, customers can also sue the vendor over defective products, or regulatory agencies can levy heavy fines. Thus slipping on quality is non-negotiable.
Another aspect of quality is performance. Product developers must keep the user experience top of mind and ensure performance of the product is not compromised.
All this implies that one needs to invest heavily on quality assurance process and testing.
However, the pressure for rapid product development and the need to shorten the development cycle is leading to cut backs on testing - but will always boomerang in form of product failures, higher costs of product support and need for bigger sales/marketing budgets.
In my opinion, it is better to spend a dollar on QA first - rather than spend the same dollar on customer support issues or product marketing.
Stage 4 – Sales & Marketing Strategy
As the product is getting built, one needs to answer the question: "How do we sell this?"
Today, markets area already over saturated with products. Even if there is a real customer need, getting the message to the customer is turning out to be a big challenge. Product sales strategy is essentially a plan that addresses this challenge. While sales and marketing departments have to operate in close cooperation with product development - mainly because there are several sales/marketing decisions that impacts product development:
1. Product Release schedule
2. Product Distribution Channel
3. Product Bundling
4. Product After sales support
5. Product Training
6. Product Pricing
7. Product Revenue Forecast
8. Actual Product Revenue.
There are whole books being written on sales and marketing of products and this article cannot do any justice in giving a complete sales & marketing strategy.
Sales strategy has huge impact on product pricing and product release strategy, So defining the sales & marketing strategy at the time of product development is absolutely vital.
Stage 5: Product Maintenance & Customer Support – 'Making It Sticky'
In an ideal world, customer just buy the product and use it without any problems. They never have to contact the manufacturer and keep buying more and more of the product. But in real world, businesses must constantly elicit feedback and help customers use the product. This is the function of product maintenance and support.
Customer support strategy often serves as the feedback loop to the overall product strategy and product design. Issues found on-site has to be fixed and addressed in the next release of the product. Having a solid product support groups provide constant input to all business units involved, helps develop better product.
Keep your customers engaged with a seamless experience that makes your product stick. This will make your customer comeback for repeat purchases. To ensure a seamless experience, one needs to:
1. Educate customers on what the product does. How your product is different than competition? How your product does things in a new & Novel way?
2. Ensure product performance on customer site is as per the product's promise. There will be differences in your test/dev environment and the real customer environment. Customer support team will have work with customer to ensure that the performance, stability & reliability of the product is as per customer expectation ( customer expectation is set by marketing)
3. Ensure product security. This is more applicable to software products or software related product delivery. With changing security threats, one needs to constantly update the product to address all product security issues in a timely manner.
4. Collect feedback from customers and channel partners on how the product is performing in the market, also collect feedback on product inventory and sales velocity.
5. Product Support groups often form the front-line when it comes to communicating with customers. Communicating with customers helps making their experience better and more rewarding, thus adding to product value.
Building a world class product is not a one time activity. It is a continuous process with several interlinked stages and constant feedback between stages
The eventual success of the product depends on strengths of each individual functions AND the strength of the interlinks between these stages. Stronger the interlink the better the product. The strategy for developing world class products is not rocket science - but the execution of all aspects of product development is!