You may have seen the terms flitting around the internet: variants, variant management, product line engineering (PLE). You may have read that they represent an onrushing trend in product development. You may be wondering “just what is all this and how is it going to affect our business”. In this 3-part series based on a new whitepaper from Polarion Software, we’re going to try to answer these questions and others, and talk about solutions. Let’s get started with the first installment "Variety, the Spice of Life".
Variety, the Spice of Life
Right here, right now, we live in this fantastic world of connection and customization. In many respects these two concepts define us in modern terms. We celebrate our personal connections using social media. We are constantly connected to friends and family by instantaneous and ubiquitous means of communications. We daily rely upon a world of connected devices for both convenience and safety. To the extent society allows, we exercise our ability to customize our world to our liking as individuals. We crave choices, and we expect them, often expecting virtually unlimited choices. We are frustrated when choices are limited.
Commercial success has forever hinged on an ability to provide variety… to provide choices. This is nothing new, and the idea has been embraced as part of the manufacture of products in various industries, in particular quite vividly in the manufacture of automobiles. Although Henry Ford, credited as being the innovator of factory assembly-line manufacturing techniques to mass produce automobiles, is also famously recalled as saying “Any customer can have a car painted any color that he wants so long as it is black,” automobile makers soon realized the tremendous market power of providing differences, varieties, and options. Customization quickly became a cornerstone of their continuing commercial success.
Fast forward one hundred or so years, and the level of customization, i.e., the volume of choices and options made available by automobile manufacturers, seemingly defies every concept of mass production. The number of possible options that vehicle manufacturers now provide is so great that Mercedes Benz postulates that it is statistically possible that every car made of a particular model in a given year can in fact be different.
Mobile telecommunications provide another shining example of an industry steeped in variations. Smartphones offer considerable consumer choice, and are produced in such a way that a single device model must accommodate a variety of communication carriers and infrastructures, that may in turn vary widely according to the global geographies in which the devices are being used. Consumer expectations are also high, and it’s a market assumption that every user’s favorite downloaded apps will work equivalently and seamlessly irrespective of the types of smartphone devices that they may elect to purchase and carry with them.
Once thought of as purely conceptual, mass customization has become reality. Enabled by ubiquitous customer communication, we can now customize everything from the cars we drive, to the shoes we wear. This explosion of choice and variation is accelerating, and permeating every product and service.
How is this new reality being accomplished? Increasingly it is being enabled and facilitated by software. Not just in capturing and communicating customer wants, or driving a manufacturing process, but progressively software makes variety possible. Where there may be physical and practical limits to mechanical variation, software variation is considered theoretically to have no limits other than imagination. In the extreme software can be customized to an individual level –made for a market of one (seemingly a return to an earlier era when all software was custom-made, but now only in terms of a configured-to-order delivered result, not in terms of individually engineered-to-order custom-coding). Physical and virtual realms are often combined –a range of options in a general purpose physical component are made possible entirely through its embedded software.
What does this new reality mean to software developers, and how does it affect managing the lifecycle of software applications? This series of articles explores some answers to such questions, and suggests that the art and science of software development, the lifecycle processes employed to deliver high quality software, require adaptations, adjustment, and supplementation in order to accelerate continued effectiveness in response to a proliferation of software variants.
Go To Part 2: "Tactical Approaches"