Home Introduction Getting Started Benefits Successes Perspectives Resources
What's New?

Sans Application Engineering

In the traditional proactive product line approach, there are typically two distinct engineering teams, one for domain engineering (to develop the core assets) and one for application engineering (to create product instances from the core assets). This is consistent with the traditional enterprise software model where a development team creates the core software technology and a professional services team extends, configures, modifies, and integrates the software to meet the specialized needs of individual customers or market segments. At Salion, we chose not to follow these models – we eliminated the traditional application engineering and professional service roles.

We utilize the BigLever product line technology to automate the production of all products from our evolving collection of core assets. The software product outputs from the automatic production are never directly modified, thus it is the development teams' responsibility to make sure that all product instances can always be regenerated from the core assets. Avoiding the overhead and coordination required for two separate domain and application engineering teams keeps our engineering organization lean and the product line agile.

Reactive Evolution of the Scope

When scoping new features for our product line, Salion uses the reactive guideline, “think ahead, but not too far ahead”. Being excessively proactive proved in several cases to be wasteful due to inaccurate guesses about customer demands. In contrast, by being more reactive, less time is spent implementing specific features and variants when they are clearly needed.

One of the challenges of product line evolution, particularly in the reactive model, is entropy – an ever-growing amount of variation in the core assets. To fight entropy at Salion, we use a combination of technology and vigilance to aggressively search out and refactor emerging abstractions in our software product line. As a result, we are constantly optimizing the product line assets with greater commonality and more concise variations. This provides faster time-to-market for new products, lower development costs, and higher software quality. An unexpected result is that the total source code line count of the core asset base continues to shrink even as new products, features, and variants are added to the product line.

< Previous page . . 1 2 3 . . Next page >

Discussion Board
Development Tools
and Methods for
Software Product Lines

Special Seminar

from Telelogic and
BigLever Software.
MDD for Software Product Lines