Moving software development schedules to a 90-day cycle offers substantial benefits for both software consumers and software developers. For software consumers, it means gaining faster access to new features and functionality and better software quality. For developers, it means reduced risk, improved project management and market agility.
For the past 20 years, commercial software has been packaged and sold using the same sales model as other household products such as breakfast cereal and laundry detergent; in an attractive box on the shelf of a retail store. The software industry has grown up trying to fit within this well-established system of selling consumer products.
Traditional Retail Sales Distribution Model
Software has traditionally been distributed via a consumer market sales model.
The retail sales model is well suited for consumer products like breakfast cereal and laundry detergent because these products rarely change, they do not require a vendor-customer relationship and they have a nearly infinite shelf life.
In contrast, many consumer software products do not possess these characteristics.
Take the example of tax preparation software. Each year the software must be updated; last year's version is unusable for this year's tax return. The potential customer may have product questions that must be answered by the vendor before making a purchase. And the product becomes obsolete six months after its release.
Each new release requires the design and production of a new retail package, which must be assembled and shipped to a software distributor, who then ships products from many vendors to various retailers and resellers (i.e., stores and catalogs).
Once the software has been sent to the distributor it is difficult to update the software and the packaging. This makes it challenging for the software vendor to respond to changes in the marketplace (or the tax code, in this example) in ways that would benefit the consumer.
Other software categories, including developer tools, are subject to the same challenges inherent in the retail model. Simply put, the retail model does not meet the need of any commercial software vendor that wants to quickly respond to changing customer requirements. Likewise, the retail sales model does not fully meet the needs of consumers, who suffer from a limited selection on the store shelf and limited access to updated product information.
Nonetheless, because retail stores were the best outlet for selling software when the software industry was young, the software business embraced the retail sales model and did its best to fit in. One result of this embrace was the traditional 18-month cycle between product releases. Getting software packages into stores is expensive and pulling old product off the shelf also costly (and wasteful) so software companies aligned their product development with the reality of their distribution model and adopted long product development cycles that resulted in massive, monolithic releases every 18 months.
Long software development cycles also benefit traditional marketing campaigns that focus on print advertising.
The long product development cycle also suited the software marketing process, that was largely driven at the time by print advertising, which (also due to the retail distribution model) must be purchased and designed many months before publications land on newsstands.
In a nutshell, the amount of time a company can take to develop and release a software product has traditionally been driven by the needs of the retail distribution model rather than the needs of the software developer and its customers.
The advent of Internet commerce in the mid-1990s created an efficient new sales model for software companies. However, while small, new companies embraced the Internet as the most effective way to sell and distribute software, larger software companies either ignored Internet distribution altogether or treated it as a mere adjunct to traditional retailing. As such, most software companies maintained the 18-month release cycles dictated by retail distribution. The one acknowledgement of Internet distribution by large software companies in recent years has been the additional of "live update" capabilities in their retail products. Live updates are an excellent way to replace the old software on the store shelf with a slightly updated version, but it is generally used only for distributing bug fixes and minor updates. New features and major updates still require new packaging and are released every 18 months.
Software updates via the Internet are good for consumers, but when they require parallel development efforts they make software development more expensive.
One challenge now faced by software companies is the cost of maintaining currently shipping product while also working on the next upgrade. Because maintenance releases to commercial software are typically available at no cost to the customer, maintaining software can be an expensive proposition. But maintaining customer satisfaction is important to long-term success so software companies are compelled update previously released products while also investing in the development of new versions. This double development cost did not exist before the Internet because there was no cost effective way to distribute updates to consumers.
The Rapid Release Model
The Internet enables software companies to adopt a new software development model, the Rapid Release Model. In this model, once a product is released, a new version is released on the Internet every 90 days. Each 90-day update includes both bug fixes and new features. The pace of development is no different than in the 18-month development cycle, but new features are released to customers as soon as they are ready. During an 18-month period the customer receives six updates that collectively equal or exceed what he traditionally would have received from a single, monolithic update.
Benefits to Customers
Customers benefit from the rapid release model in three ways:
(1) Higher quality
During a 90-day development cycle, new features are implemented during the first 60 days and are tested and debugged during the last 30 days. Any bugs found during testing are easier to fix because the code is still fresh in the developer's mind. During an 18-month cycle, the code in question could be more than a year old. Also, in the Rapid Release Model, the pressure to release features before they are ready is greatly reduced because the next release is already scheduled in 90 days.
The Rapid Release Model does not increase the pace of software development, but it does increase the pace of releases.
(2) Better service
Releasing an update every 90 days enables the software developer to be more responsive to the needs of its customers. For example, when an update to the operating system ships, customers know that an updated version of their software that supports the new OS will be shipping within 90 days. In addition, software companies can plan releases around major OS updates to further prevent customers from having to wait.
(3) Lower price
The Rapid Release Model is more cost effective for the software developer because it no longer maintains the old version of their product while working on a new version. In the Rapid Release Model, old versions are not maintained; they are replaced by an update that contains both bug fixes and new features. The lower cost of development is a benefit that some software companies will choose to pass on to their customers.
Benefits to Developers
Software developers also benefit from the Rapid Release Model in three ways:
(1) Enhanced competitiveness
Software companies that employ the Rapid Release Model can respond very quickly to changing market conditions, demonstrating greater market agility, the ability to be responsive to customer requirements. This makes companies on longer development cycles struggle to keep up.
(2) Reduced risk
Large, monolithic releases can be very risky because 18 months is an enormous period of time in the technology business. Market conditions today are nothing like they were two years ago. Release dates for large updates are often delayed because customer requirements change during the development cycle as new features must be added to an already complex development project. Releasing every 90 days minimizes risk by reducing the amount of time between planning a product and releasing it.
(3) More marketing opportunities
Before the Internet, marketing software required long-range planning around print advertising and magazine editorial calendars. Today, however, most software marketing takes place online, where software updates are covered on websites and in blogs where content is updated on a daily basis. In the Internet marketing game, each new release provides a fresh opportunity to grab a fleeting moment of coverage and online advertising can be focused on the benefits of each new release.
The Rapid Release Model provides more opportunities for a software product to be mentioned by the media as interesting new product releases are made available more frequently.
The Rapid Release Business Model
One challenge with the Rapid Release Model is finding the right way to sell frequent releases to customers. Clearly it would be problematic to ask a customer to purchase an update every three months. Customers would consider this onerous and corporate purchasing departments would be resistant to authorizing frequent update orders. In addition, determining the correct pricing for each small upgrade would be challenging. For these reasons, the most effective way to package and sell rapid updates is through a software maintenance model, where the customer purchases all of the updates released during a 12-month period. This enables the customer to conduct just one transaction per year while receiving an update every 90 days.
Customers do not want to purchase a software upgrade every 90 days.
The customer's concern with this model is whether the developer will stay on schedule and release an update every 90 days. The solution to this problem is to include six months of updates with every new purchase to demonstrate a commitment to the Rapid Release Model before asking the customer to purchase 12 months of updates.
By the time the six months of updates have ended the customer has received two "free" updates and is convinced of the software developer's ability to rapidly update its product.
The traditional 18-month development cycle is a vestige of pre-Internet sales models. Although some commercial software, such as games, require long development cycles with no updates, most software companies and their customers would benefit from a move towards shorter, faster development cycles.
Consumer benefits of this model include higher quality, better service and lower prices. Developer benefits include greater competitiveness, reduced risk and more marketing opportunities.
Developers who do remain on traditional 18-month schedules will appear slow and unresponsive when compared to their more agile competitors who adopt the Rapid Release Model.