Every time we induct a new batch at tringapps, we come across newbies scratching their heads on the difference between PLC (Product Life cycle) and SDLC (Software development life cycle). The confusion increases when terms like PRODUCT and PROJECT are used interchangeably (especially in the software world) to describe a software initiative.
Well, let’s try and clear some confusions and shed some light on the definitions and correct interpretations of these concepts and keywords. It is extremely important to understand the differences as a wrong understanding of these simple yet important concepts can warp your understanding of art and science of developing products (software products in our case).
So, before we get to Product life cycle, let’s understand what is a PRODUCT. As per the dictionary – “a product is an article (object) or a substance that is manufactured or refined for sale”. Let’s analyze this statement:
1. A product is an article (an entity, an object)
2. A product is manufactured (as per a specification)
3. If it is not manufactured, it is refined from some crude form
4. The end goal is to be able to sell the product (if it is not sold, it is not successful)
From the above analysis, it is clear that product is made to be sold and obviously will have some use, if it is not useful to anyone, it will not sell. It is important to establish early on that if we create things that cannot be sold or are of no value to others, its a waste of time.
Once you understand the definition of a product .. it is easy to logically deduce that a product life cycle means – “the life of a product from the time it is created to the time it retires from the market”.
The diagram below shows a good graphical representation of business cycle of a product.
Once a product is launched in the market, it goes thru a launch cycle – this means the product has been introduced, and the sales have started. After introduction, it is but obvious that sales and marketing teams will push product sales further and try to sell more product units. This means the marketing initiatives geared to push the brand recognition are working and product sales are increasing. The product is enjoying a growth spurt and is slowly inching towards maturity. A product is considered to be mature when it is well understood in the market, fulfills the customer needs well and customers continue to purchase it. This means the product has reached it’s maturity. In other words, its at the peak of it’s sales. After maturity if the product team / organization does not innovate or enhance the product, it will certainly decline.
From consumer (customer) point of view, a customer purchases a product, is promised support (free or paid) by the company thru the life cycle. For the consumer, the product loses it’s value when he/she stops using it. Sometimes, the consumers extend the life of a product by enhancing it. A good example is – purchase of a computer. You bought a laptop 3 years back, it’s getting slow now, you have two options. Throw the laptop and buy a new one or enhance the laptop by adding more RAM (memory) to extend its life cycle.
Now, let’s shift our gears towards software products and try to modify the dictionary definition for software products.
“A software product is a collection of features that work as a collective to solve business or consumer need”. So, from a product engineering company point of view .. product life cycle means .. the time it takes them to define a product, develop it, and then support it while it’s customers use it. Bottom line is that there are three major phases that a product goes thru during its life cycle.
1. Product Definition
2. Product Development
3. Product Support
In product definition phase, the product team researches the market, competition, law of the land, customer needs via surveys, interviews and all other means available to them to come up with a set of features that are most likely to be well received by their prospective customers. In case, of hardware products, it may also mean creating clay or working prototypes of the product before they start developing it. In case of software products it may vary from domain to domain and problem to problem. For example, in case of server side development (assuming you are developing a server side software), your product definition may simply have functional and operational requirements outlined in a PRD (product requirements document). In case of a web app or a mobile app, it may also mean creating a concept, a sketch, a wireframe of your idea about the features. Bottom line is that the more detail your PRD has, the better it is.
Then comes the famous (or should I say infamous) product development phase. Most confusions spring up here, as during the college days, we all hear our professors rant again and again – requirements, analysis, architecture, design, develop, test, package, release etc etc. Well, let’s pause and think carefully. Are these activities or things that we do to develop a software or are these phases? Agile, Scrum methodologies have already proven that these activities can continue across phases.
Simply put, these are activities that are undertaken to develop a software. We may or may not undertake some of them based on need, time and type of software that we are developing. In other cases, we may add new activities to these activities based on the needs. In short, we can simply state that SDLC (software development life cycle) is a subset of PLC (Product Life Cycle). All SDLC activities (or most of them) are undertaken in the “Product Development” phase of the product. The most common methods used to manage software product development are Agile or Scrum. Almost, no one uses SDLC (theoretical version) anymore.
The final phase in Product Lifecycle is product support. Once you have sold the product, you (as a company) are bound to support it free till the warranty / guarantee period lasts and paid support (for parts or bugs or problems) after that. The period for support varies from product to product and company to company but a product manager should understand that their role does not end at developing the product. Customer care, Customer relationship management and product feedback is also their responsibility.
Now that we have a good understanding of Product Life cycle, let’s review some of the ACTIVITIES that product managers perform.
NOTE: All IT professionals should understand each one of these activities. It helps them develop better software that is in tune with business goals.
1. Market Research (understand the market in which you will sell your product)
2. Competitor Analysis (understand the competition)
3. Legal Compliance (understand the law and how it affects the product)
4. Feature Discovery or Invention (should be able to define features)
5. Lead Product Ideation (wireframes, concepts, prototypes)
6. Lead Product Development (development, testing, packaging and release)
7. Product Launch (Plan the launch of a product based on a marketing budget)
8. Oversee Product Sales (work closely with sales team)
9. Define, measure and track KSIs (Key Success Indicators)
10. Product Support (have support processes in place)
11. Feature Enhancements (improve the product across product versions)
12. Focus on Subscriber acquisition and retention (come up with strategies)
13. Product Pricing (work with exec. team to come up with pricing models)
14. Last but not the least, build a great team
Now, let’s remove the final confusion: Difference between a product and a project. The term project means … a group of individuals or entities brought together to accomplish a certain goal. Cleaning your house with the help of your friend can be a project. Fixing a chair can be a project, testing a software can be a project, teaching how to fly a plane can be a project. Launching a product can be a project … in short, a project is a legacy term that has been used to describe work even before computers existed and given that we have clear definitions in software world, this term should almost never be used.
The terms that should be used are:
1. Product example: A company makes a software and sells it to the world
2. Solution example: A software company makes a software for a another company for internal use
3. Service example: A software company gives its testing expertise to another company to help them test their new software
These three terms: a product, a solution and a service are better terms to use in the software world. Avoid using the term PROJECT (xxxxx).
Once you understand the basics, you should watch this video. It’s a good primer on basics of product management.