Understanding PRODUCT LIFE CYCLE

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.

Product_Life_Cycle

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.

Advertisements

Its been a while! – tringapps update …

Well, its been a while since I wrote. My apologies tringers .. things have been hectic, we have been pivoting to an awesome “mobile and cloud first” product and services strategy and all the hard work put in 2013 will start to show results in 2014. Thanks to all the core tringers who have worked hard on  AgilePlus, QuikStream and QuikPublish. Each one of them will become a path breaking product in its own vertical. I am especially excited about our MDM, MCM and MAM strategy that incorporates a comprehensive mobile governance solution with some amazing Value Added Services. It will be great to see the product come live in the first quarter of 2014.

A few developments that we all should be really proud of:

1. Our Design team has started to compete with global design firms and we are increasingly picking up design engagements

2. Google has listed us as a premier cloud technology partner and we have 7 large deployments on Google Cloud

3. Our R&D is showing dividends in the form of some great products (AgilePlus, Quik, iLiquid).

Gentlemen / Ladies, lets keep our focus on wrapping up 2013 with a bang and keep our fingers crossed for product launches.

Making sense of HTML5

Image

A bit of historical perspective:

Tim Berners-Lee developed Hypertext Markup Language a.k.a HTML. By 1990s it was clear that HTML is going to be a big thing given its simplicity and ability to connect pages and pages via hyperlinks.

Fortunately for us Tim Berners-Lee decided not to cash in on the success of web and instead formed a coalition to standardize popular web technologies. This group, called World Wide Web Consortium (www.w3c.org) is an open standards body made up of representatives from many companies like Apple, Microsoft, Google, Adobe, Oracle, IBM and many more. The goal of W3C is to prevent any one company from forcing a technology onto users.

The W3C has produced many popular technologies used by software companies every day including HTML, XML, SOAP, PNG graphics format and many other standards. These standards are proposed, defined, ratified and published with group approval.

HTML has come a long way since its inception. The original vision was a lot different from the versions that we use today. The last major release of HTML standard was in 1997 with HTML4. With HTML4, Cascading Style Sheets (a method of controlling design of pages), use of portable network graphics and a standard document object model had arrived, along with XML.

Since then XHTML, DHTML, CSS2 … a few things changed but nothing major. Ah, Netscape’s birth and death (at the hands of Microsoft) happened in the 1990s, by 2002 Netscape was done but before the lights went out, they had given JavaScript to web developers.

Apple Safari debuted as a public beta on January 7, 2003 and Google joined the party on September 2, 2008. Thats when the swords really came out. Google and Apple took it upon themselves to speed up innovation in web browsers. Google had a vested interest and we cannot blame them for that. They make their money with search and they really needed some improvements in the browsers to improve the experience and at the same time make the web more Google friendly. Apple has been a true innovator (webkit happened at Apple).

So what is HTML5?

The new HTML5 specifications are taking a much broader look at what is needed to support web sites (apps) development for next decade and beyond. HTML5 set of specifications can be broken down into five major segments. When you research HTML5, keep this MECE (Mutually exclusive, collectively exhaustive) list handy. These five points listed cover the areas in broad strokes.

1. Core Page Structure
2. Visual Presentation
3. Graphical Tools
4. Rich Media Support
5. Enhancements to JavaScript 

Look for changes to core page structure (elements, attributes, forms, deprecations etc). Look for elements / attributes / APIs that enhance the visual representations of the page / web app. Canvases and media elements add graphics and media supports and enhancements to JavaScript make the web apps more performant, accelerated and powerful.

Core page structure: There are enhancements to Core Tag Language, New elements have been introduced, Blocking (building blocks) of Content has been simplified, some Content Sections have been modified, Doc Type easier to work with, Organizing code is more simple and Text level semantics have been improved (to clearly identify fundamental qualities such as time, numbers, progress, and emphasis).

HTML5 Forms: With HTML5 comes a much needed and well defined update to web forms and data management. W3C had begun modernizing FORM element with Forms 2.0, however, it has now been rolled into HTML5. The new implementation includes support for features that previously had to be accomplished using clever JavaScript of AJAX tricks.

Controlling Data: Forms are used to add, modify, and delete data. HTML5 is the first version that directly addresses the need of managing data both on the server side and locally in your computer (browser sandbox). There are enhancements in display of data as well.

New HTML5 Attributes: An attribute is a setting that allows you to apply additional functionality to your element. New attributes have been added to HTML5. For example, the new draggable attribute has a value of true or false. This attribute is tied to the new drag-and-drop API included with HTML5 that allows you to drag any element on the page. Imagine the implications for touch browsers.

Awesome new APIs: Geolocation, Communication APIs, WebSockets, Forms APIs, Web Workers, Web Storage, application Cache API, Device access API etc.

WebFonts: A simple feature but a huge boon for markup junkies. With HTML5 you can dynamically stream WebFonts for usage in your web applications.

Browser level changes: Browsers are getting new and faster scripting engines. Hardware accelerated rendering.

Future of HTML5

Adoption of HTML5 features is accelerating with each new browser update. Several of the features have already been shipped in browsers. Cross browser compatibility is still an issue but then you have a choice like these egg guys …

Image

egg in your face, you big disgrace, kicking your can all over the place!

The New iPad – apple calls it resolutionary!

So tringers, iPad 3 is here. There is nothing in the new features that we have not anticipated. So here is the laundry list:

Retina Display: The new resolution is 2048×1536 pixels.

A new Camera: 5 Megapixels is the new Apple standard. Nokia PureView overkill, per Apple.

A5X Chip: Apple is claiming that it is twice as fast as Tegra 3 and graphics are 4x faster. Quite an achievement, I must say, if it is true, given the 4+1 cores of Tegra 3 with 8 cores in GPU. No details of benchmark profiles though. As of now, just a claim.

4G LTE: For Verizon and AT&T. Rest of the world .. you guys suck as your governments and telecom providers are not updating their infrastructure to match the HD that iPad can bring. 3G options are available too.

The form factor remains the same. The applications remain the same .. for the most part. Umm iPhoto makes a debut on iPad. All in all, its a product performance enhancement micro release.

WHAT DOES IT MEAN FOR DEVELOPERS?

Your iPad 2 applications will suck on iPad 3 if your interfaces are not data driven. Get ready to update your apps and/or assets in the applications else your interfaces will be pixelated and will look ugly.

WHAT DOES IT MEAN FOR CONTENT PUBLISHERS?

Start preparing for high def images but plan carefully. You don’t want to replace every single image with a high def version to realize later that your application home screens are not loading in time because they are trying fetch high resolution images over a 3G connection on a high fidelity device. Plan for network speed detection and have two versions of content ready (unless you have advanced image servers that can cut images dynamically).

Now start pre-ordering the iPad 3 at the earliest, else you will not be cool anymore. Apple has released yet another device you know.

Making of the WiderImage iPad App

I have been wanting to talk about the WiderImage iPad app for a few months now. Finally, Reuters team posted a public product page. If not the features, at least we can talk about the process of  developing one of the most compelling experiences (in photography) and bringing it to life. Few months back, Thomson Reuters approached us to help them develop a knock out photography experience for iPad. The awesome product manager at Thomson Reuters had a clear vision … “I want a showcase for professional photography” – a never before seen way of showing photographs, telling stories through powerful reuters imagery.

So we set out to develop an awesome experience. Hero images, panoramas (360 degree renditions), photo frames and more. The iPad app was the easy part. The real challenge was to develop a full fledged image editor that is used by Reuters professionals to develop, manage and publish content. After multiple sessions with product teams, we came up with an awesome concept/experience that allowed Reuters team to simply drag and drop images and manipulate them using simple property boxes. The editor featured a complete workflow support. The imagery could be previewed  on editor’s mac before it is published.

By the way, then came the third part of the entire experience … a cloud based content management system. After a lot of discussions with Google team, we chose Google App engine as the application stack and so far so good. It has been an awesome experience to work closely with Google / Thomson Reuters team to get the CMS system up and running, test it for operational aspects and manageability … kudos to Google team for the work they have done with Google App engine … having developed a complete CMS on top of App Engine, I can certainly say that Google’s PAAS has arrived. It is at par (in some cases better) than Amazon web services as well as Microsoft Azure.

Tringers, once again a great job. Cloud and Mobile … lets rock on!

Redefining professional photography!

25 billion app downloads and counting …

Just wondering .. is it a good thing or a bad thing that the number of applications in App Store are growing at an astounding rate. Are the applications discoverable? How do you find customers if your application is buried in a pile of apps. Something to think about for all the young wannabe product managers at tringapps …

Congratulations Apple, Inc.

This is fun … Apple visit for Wider Image Apps

Hey tringers, apologies, I have been very busy last few months navigating my way through an elaborate dog and pony show comprising of peanut butter, lazy low and rally dupe. Good news is that we have set up an awesome new office in California and tringapps is growing from strength to strength. Just yesterday I met with some awesome techies at Apple for Wider Image app review, the review went well barring a few shenanigans that can be added to the app to improve performance. Overall it was an awesome discussion with Apple team appreciating tringapps development teams for the application architecture as well as the entire cloud based Content Management System. They were intrigued to learn our depth of experience with Google App Engine and Apple technologies.

Then came the bomb shell, while discussing the app, someone mentioned HBO Go apps. It turns out .. a US design company called Huge Inc. is going around claiming that they have designed as well as developed the HBO Go applications. Agreeable that they designed the first version of the application but it is Tringapps, Inc that developed the apps … again – just to set the record straight, tringapps, Inc developed HBO Go apps end to end and is currently engaged in bringing some more awesomeness for HBO Go apps as I write this blog entry.

All I can say is shame on you Huge Inc. It pays to be honest and straightforward in your approach to business. You guys are good with design, stick to it, leave development of the awesome apps to us. By the way I like the way you guys blurred the boundaries between design and development. Ah thats how you keep your lifestyles and steal customers from other design companies. Other design companies .. please feel free to quote me.

Here is the creative Huge used to showcase HBO go as their creation. Height of …

Tringapps, Inc. developed HBO Go apps. Period!