Now that we know the core principles and concepts of modern marketing and how they apply to software marketing, it’s the right time to look into what software product is and explore the anatomy of the software product life cycle. From the previous article we’ve learned that good marketing is not something performed by a single person or a department. It also doesn't happen by accident. It’s always a result of the coordinated work of various departments within an organization. The marketing department itself, product managers and product marketing managers are important contributors, but as we’ve learned - everybody in an organization should practice the marketing approach that takes into account customer wants and needs to make the product and the company prosper.
Software marketing is marketing that focuses on software as the product (or service) the company is bringing to market. Software marketing isn’t possible without a deep understanding of how software products emerge from an idea and then eventually withdraw from the market. All marketing activities for software products and services must be aligned with both the software product life cycle and the software development life cycle which are the two quite matching processes.
“Everything that has a beginning has an ending.”
It’s crucial to understand that regardless of industry, all products have a life cycle. Understanding how to manage that product life cycle through each stage determines the success or failure of a product.
Descriptions of the product life cycle can be found in many marketing books and here is its traditional graphical representation:
After the introduction of a product, sales usually first slowly pick up, before entering the growth phase of the product life cycle. Popularity increases, market share increases, and also so does competition. The growth of sales eventually diminishes, and sales flatten during the maturity phase. With the introduction of competitive products and more competitors or substitute products or new technologies, the decline in sales is inevitable; and finally, the product becomes obsolete and is withdrawn from the market.
The higher the amplitude and the broader the curve, the more successful the product is. Getting the right customers and providing them with superior value results in high sales and keeping the customers, making them loyal customers, postpones the decline phase. Product marketing is all about optimizing sales results. In other words, it's all about optimizing the product life cycle.
Optimizing and controlling the product life cycle is easier said than done and starts way before the introduction of a product. It requires a strategy, careful planning, execution, and control. Above all, it requires a process and methodology for all phases of the process. Software products are no exception, on the contrary, given the high pace of competitors emergence and technology changes, software products appear and fall off the market much quicker than other more traditional products.
The Software Product Life Cycle Anatomy
Here’s the simplified representation of the software product life cycle process:
The stages of the product life cycle process are:
- Idea: This is the trigger of the process. The idea for creating a software product is often based only on general gut feeling and set of experiences. Ideation is a very creative process.
- Design: a careful and methodical design and product definition or re-design after review, which includes not only technical design.
- Development: The implementation, testing and, where needed, improvements to the design.
- Deployment: Introduction of the product to the market or a release of the product’s next version. Careful monitoring and measurements are needed at this step.
- Improvement: To extend the product life or increase the profitability, regular improvements to the design of the product are required. After reviewing the results from the previous release and prioritizing of new features, and addressing existing problems, the process goes back to the design phase.
- Phase out or end of life (EOL): At some point, it is no longer possible or wise to extend the product life.
This product life cycle is valid for any product, including software products. Moreover, as we’ll see later, this process matches the modern agile software development process. This fact is once again a confirmation of a general idea that marketing that operates on the product life cycle can’t be decoupled from software development and other company’s functions.
The product life cycle is universal and compound
Although the product life cycle as drawn on the first picture in this article looks quite simple, it is actually the result of multiple “product life cycles.” The product life cycle and its process apply to the technology, a program (set of projects), a project or product family, a particular product version and so on. No matter how much you zoom in on it or out of it, it always behaves like a product life cycle again:
Let me demonstrate how a software product life cycle process works by an example. On Wikipedia, you can find an extensive list of software that is no longer maintained such as software that has been officially discontinued by the original developer and is not maintained by any other third party, or a company that used to maintain it went bankrupt or ceased to exist for a variety of reasons. You can also notice that video games are not included in the list, because they naturally have relatively short life cycles and would bloat the list.
One of the most classic and prominent examples of the complete software product life cycle is Netscape Navigator. It was once the dominant web browser in terms of usage share, but as a result of the first browser war, it lost virtually all of its share to Internet Explorer. Let’s look into its history broken down by product life cycle stages:
Introduction: Netscape Navigator started back in 1994. It was the most advanced browser at that time, and therefore it got an instant success becoming the market leader while still in beta.
Growth: Netscape's feature-count and market share continued to grow rapidly after version 1.0 was released. Version 2.0 added a full mail reader called Netscape Mail, thus transforming Netscape from a mere web browser to an Internet suite. During this period, both the browser and the suite were known as Netscape Navigator.
Maturity: Version 3.0 of Netscape was the first to face any serious competition in the form of Microsoft Internet Explorer 3.0. Netscape easily held off Microsoft's challenge and remained the number one browser for the time being. Netscape 4 addressed the problem of Netscape Navigator being used as both the name of the suite and the browser contained within it by renaming the suite to Netscape Communicator. After releasing five preview releases from 1996–1997, Netscape Corp. released the final version of Netscape Communicator in June 1997. This new version, more or less based on Netscape Navigator 3 Code, updated and added new features. The new suite was successful, despite increasing competition from Internet Explorer 4.0 and problems with the outdated browser core. The Communicator suite was made up of Netscape Navigator, Netscape Mail and Newsgroups, Netscape Address Book and Netscape Composer.
In October 1998 version 4.5 of Netscape Communicator was released. This new version featured various functionality improvements, especially in the Mail/News component, but did not update the browser core (which, in its functionality, was basically identical with version 4.08). Only one month later, AOL acquired Netscape Communications Corporation. A standalone version of Netscape Navigator was still available, but this was discontinued after release 4.08 for Windows. Standalone versions for other operating systems such as Unix/Linux were maintained up to version 4.8.
Decline: In January 1998, Netscape Communications Corporation announced that all future versions of their software would be free of charge and developed by an Open Source Community (Mozilla). Netscape Communicator 5.0 was announced, but there were significant delays to the release of Netscape's next major version and Communicator therefore aged badly over the many years it was still used. As a result of this, and more advanced support of HTML 4, CSS, DOM, and ECMAScript (web development technologies) by Internet Explorer 4.x, the more up-to-date Internet Explorer 5.0 became the market leader. In November 1998 work on Netscape 5.0 was canceled in favor of developing an entirely new program from scratch. In 1998, an informal group called the Mozilla Organization was formed and primarily funded by Netscape to coordinate the development of Netscape 5, which would have been based on the Communicator source code. The aging Communicator code proved difficult to work with and the decision was made in late October to drop the current code branch and start from scratch. This decision meant that Netscape's next major version was severely delayed. In the meantime, Netscape was taken over by AOL who, acting under pressure from the Web Standards Project, forced its new division to release Netscape 6.0 in 2000. However, it was clear that Netscape 6 was not yet ready for release and it flopped badly. It was based on Mozilla 0.6, which was not ready to be used by the general public due to many serious bugs that would cause it to crash often or render web pages slowly.
Netscape 7.0 (based on Mozilla 1.0.1) was a direct continuation of Netscape 6 with very similar components. It picked up a few users, but was still very much a minority browser, one of the problems being that Mozilla itself was a worthy adversary. In 2003, AOL closed down its Netscape division and laid-off or reassigned all of Netscape's employees. Mozilla.org continued as the independent Mozilla Foundation, taking on many of Netscape's ex-employees. AOL continued to develop Netscape in-house, but, due to there being no staff committed to it, improvements were minimal. One year later, in August 2004, the last version based on Mozilla was released: Netscape 7.2.
Between 2005 and 2007, Netscape's releases became known as Netscape Browser. AOL chose to base Netscape Browser on the relatively successful Mozilla Firefox, a re-written version of Mozilla produced by the Mozilla Foundation. This release was not a full Internet suite as it was before but was solely a web browser. Other controversial decisions include these versions being made only for Microsoft Windows. AOL's acquisition of Netscape years ago made it less of a surprise when the company laid off the Netscape team and outsourced development to Mercurial Communications. Netscape Browser 8.1.3 was released on April 2, 2007.
Withdraw: Netscape confirmed on 23 January 2007 that Netscape Browser versions 8.0-8.1.2 was to be succeeded by a new stand-alone browser release, Netscape Navigator 9. This release included many new features and the browser also returned to multi-platform support across Windows, Linux and Mac OS X. Like Netscape version 8.x, the new release was based upon the popular Mozilla Firefox (version 2.0) and had full support of all Firefox add-ons and plugins, some of which Netscape provided. Also for the first time since 2004, the browser was produced in-house with its own programming staff. A beta of the program was first released on 5 June 2007. The final version was released on October 15, 2007. On December 28, 2007, Netscape developers announced that AOL would discontinue their web browser on February 1, 2008, due to low market share. On January 28, 2008, Netscape revised this date to March 1, 2008, and offered support for migration to Flock and Mozilla Firefox, proclaiming EOL (End of Life).
This story of Netscape Navigator is neither sad, nor it was a story of a disastrous failure. It’s just the way things work in the software world. Some things could have been done better or worse, but that’s the destiny of any product to be withdrawn at some point. On the bright side, Mozilla Firefox which is a successor of Netscape Navigator is one of the top used browsers at the moment. It’s important to point out that every version and minor versions (X.Y) of Netscape Navigator had their own life cycles. At the same time the suite, which Netscape Navigator was part of had its own life cycle. In other words, a life cycle of a particular product can be a part of a bigger product life cycle.
Agile Software Development Methodology
This topic deserves a separate article or even a series, but for the sake of giving the high-level overview of the software product life cycle and how software development processes fit into the product-related processes, I decided to include this overview here.
“Agile Development” is an umbrella term for several iterative and incremental software development methodologies. The most popular agile methodologies include Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD).
While each of the agile methodologies is unique in its specific approach, they all share a common vision and core values. Agile software development describes an approach to software development under which software requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change. Iterative and incremental development methods can be traced back as early as 1957, with evolutionary project management and adaptive software development emerging in the early 1970s. Nevertheless, the popularity of the agile development methods soared, and the term “agile development” became a buzzword just recently. Nowadays it’s the most popular development approach most of the development teams are practicing.
Below you can see how the agile development process can be graphically represented:
As you can see, the agile development process consists of sprints which are basically iterations of the product life cycle. As I’ve mentioned before the software product, the life cycle model described above matches the modern development practices. What’s the difference? Actually, there’s no difference despite that agile software development model usually doesn’t take into account or focus on other product-related activities (such as marketing, sales, etc.). It’s also important to note that agile methodology doesn’t replace the software product life cycle process, it just manifests that the process should go faster with quicker iterations, where each iteration has a fixed and relatively short lifespan, so the product team can get feedback from the market and respond to the changes faster. It’s not that hard to realize that marketing can and actually must function within the same methodology. The problems arise when development works in an agile style, but the marketing department is not in sync and tries to apply traditional principles of the past with marketing plans covering the entire year.
I hope this article helped you get an idea of how software development and marketing should be aligned, what is the main goal of software marketing and how software projects live and extinct.
Feel free to subscribe to our newsletter to get the latest articles and news once they are out, go to our Software Marketing Learning Center to explore other related materials, and follow us on Twitter.