Software Product Lines
Framework Home
Introduction
Product Line Essential Activities
Product Line Practice Areas
Software Engineering
Practice Areas
Technical Management
Practice Areas
Organizational Management
Practice Areas
Building a Business Case
Customer Interface Management
Developing an Acquisition Strategy
Funding
Launching and Institutionalizing
Market Analysis
Operations
Organizational Planning
Organizational Risk Management
Structuring the Organization
Technology Forecasting
Training
Frequently Asked Questions
Glossary
Bibliography

A Framework for Software Product Line Practice, Version 5.0

Next Section Table of Contents Previous Section

Technology Forecasting

Ironically, one of the most insidious dangers facing an organization is long-term success, for success breeds complacency. While routinely cranking out products and congratulating itself on its stellar productivity figures, an organization is vulnerable to being blindsided by a competitor who is sporting new features, new ideas, and new technologies. To head off such calamities, an organization must institutionalize vigilance, and one way to do that is by practicing technology forecasting. Technology forecasting helps provide strategic market planning–that is, identifying trends and predicting what the relevant markets will bear [Ryans 2000a]. It spots emerging standards, allowing an organization to position itself early to lead, or at least react, with agility. It reduces risk with respect to innovations, provides the basis for planning and directing investments in research and development areas, and helps set the direction of product migration.

Technology forecasting helps take the pulse of the core technologies on which the products rely, as well as the tools, techniques, methods, and processes used to develop the products and bring them to market. Development techniques and tools are particularly important when time to market matters.

Technology is forecast in two areas:

  1. technologies that support internal software development, which includes tools, processes, and methods for producing the software that will end up in products. These technologies may include
    • development paradigms and notations, such as the Unified Modeling Language (UML)
    • Web-based and wireless capabilities and languages such as the Extensible Markup Language (XML)
    • code development suites and environments
    • analysis tools
    • planning, configuration management, and requirements management techniques and tools
    • process improvement and process management approaches
  2. customer solutions, meaning technologies that will affect (or end up as) features or capabilities embedded in products. These technologies may include
    • more efficient hardware platforms
    • better software platforms (such as databases or network and communications middleware)
    • improved user interfaces
    • faster database-searching strategies
    • new user-oriented paradigms (such as visual environments and Web-based interfaces)
    • improved architectural solutions
    • better problem-reporting systems
    • emerging standards
    • new features that enhance the capabilities of users

The rapid pace of technology change makes assessing new technology very challenging [Brown 1996a] and limits the technology time horizon to no more than three to five years. Consequently, plan to update your technology forecasts periodically. Christensen describes disruptive innovations–technologies that are not anticipated and have pervasive impact on entire markets [Christensen 1997a]. While disruptive innovations will likely elude technology-forecasting activities, most other technology changes can be anticipated by proactive looks across the domain and the software technology horizon.

Aspects Peculiar to Product Lines

For non-product-line development, technology forecasting may be performed infrequently. More typically, technology "now-casting" is done, meaning that the best currently available technologies are identified and assessed for their immediate applicability to the situation at hand and likely near-term changes. In product lines, however, technologies are identified and assessed continuously. They are assessed both for their immediate benefit and their potential future applicability. A technology that shows promise today may find its way into the product line in three years, or it may flicker out before then. On the other hand, a technology deemed much too risky and on the edge today might be the foundation for the next revolution. In product line technology forecasting, time is an ally, and we can afford to be more patient than we could be in single-system development. And since we can amortize the cost over more products, we should also be able to be more thorough.

Technology forecasting for product lines covers both technologies that enable specific product features and technologies that support the engineering tasks in the development of those features. The former category will depend on the application domain and is too general for specific advice. The latter category includes

The product line's technology forecasts are an important input into the development of the production strategy and the production method. These forecasts guide the development of forward looking strategies that define a migration path for integrating emerging new product construction technologies into the production method of the product line. The production strategy should be continually updated as technologies mature or fade and the long-term approaches to core asset and product development change. Revisions of the technology forecasts should signal the need to revisit the production strategy.

Application to Core Asset Development

Earlier in this practice area, we distinguished between technologies that benefit internal development and those that are customer focused. While both are relevant for core assets, the technologies that impact development require special emphasis as core assets. Tools and techniques, such as more efficient configuration management or improved tool integration, can be leveraged over a variety of products to improve efficiency and quality; these tools and techniques offer a strong strategic advantage. The architect and developers are primary stakeholders for these types of innovations.

Technology forecasts also directly aid the core asset designer in selecting variation points and variability mechanisms. The forecasts describe how radically technology is likely to change as well as which technologies will be most subject to change. The designer can determine how much flexibility is required at each variation point and select the variability mechanism accordingly. For example, minor changes that occur infrequently can be handled by a static mechanism such as class inheritance. Changes that occur more frequently may require a dynamic mechanism that can be automated or applied by the product user.

Application to Product Development

Technology forecasting increases the likelihood that products will be useful to customers by predicting those features that will become more (or less) desirable. The forecasts also help identify those features most likely to be affected by changes to their underlying implementation technologies. Both types of forecasts help identify variants that can be anticipated at variation points and ultimately when adjusting the product line scope.

Example Practices

Technology forecasting as continuous improvement: A continuous process improvement paradigm underlies many of the practices of technology forecasting. This paradigm suggests the need to constantly monitor the current technologies, tools, and processes that make up business practices in order to uncover opportunities for improved practices. The challenge is to focus the technology forecast on the areas offering the highest potential return to both the product line organization and the customer. Opportunities for improvement may result from the continuous analysis of defects and trouble reports yielding insights into the areas where the product line could leverage technology improvements. Additional opportunities for improvement may surface as a result of an analysis of changes in the marketplace that have implications on new technology.

Technical steering group: A technical steering group is a proven mechanism for keeping current with technology trends. This type of group comprises senior technical managers who analyze new trends, customer needs, and technologies. One organization we know also appointed a group of senior engineers as "technology stewards" and tasked them with accumulating and maintaining sufficient expertise in various technical areas so that they could become reliable forecasters.

Technology sources: Once the product line organization has a rationale and focus for conducting the technology forecast, the next task is to identify the sources of technology that are relevant to their needs. Sources include

Validating the forecast: Once focused on the forecast objectives, specific steps include the following:

Practice Risks

Inadequately forecasting technology results, predictably, in new and promising technologies passing you by. That, in turn, results in a product line that is obsolete before its time and opens the door for a more attentive competitor to steal your market. An inadequate technology forecast can result from

An inadequate forecast can result in

Further Reading

[Brown 1996a]
Brown and Wallnau describe how to position candidate technology in the context of your organization's needs and capabilities.

[Christensen 1997a]
Christensen examines changes wrought by new technologies, most specifically those that are disruptive innovations, which dramatically change entire markets.

[Ryans 2000a]
Ryans and colleagues describe a strategic marketing planning approach for technology organizations. The emphasis on adapting to new market conditions and changes in the competitive climate are relevant to this practice area. Examples from Intel, Compaq, Hewlett-Packard, Glaxo-Welcome, and General Electric provide insights from industry leaders.

Next Section Table of Contents Previous Section