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

During their evolution to multiple products, Engenio utilized a proven, well-integrated configuration and problem tracking system. While this system did an excellent job in the role for which it was intended, significant issues arose in the management of product variability. For example, variability to satisfy differing platform requirements was managed by branched versions of the same source files. Similar branching was introduced to support the concurrent development of diverse features. Eventually, approximately 30% of the 3300 files in the Engenio source code base had 2 to 16 active branches under development. Managing the resultant branching, merging, duplication and divergence became the dominant effort for the firmware development team.

One of Engenio’s software architects observed development quality degeneration due to excessive file branching. Development managers also noted that defect resolutions were becoming increasingly expensive, since a large percentage of development capacity was being spent on analysis, correction, and validation on multiple file branches. Ultimately, the Engenio team came to the realization that a change in their development practice was imperative.

The Engenio Transition

In evaluating new development strategies, Engenio concluded that software product line approaches posed many potential benefits. However, based on prevalent software product line literature, the Engenio team anticipated a lengthy adoption cycle for transitioning their development efforts, estimating that the transition would require 900 to 1,350 developer-months for re-analyzing and re-architecting controllers, re-engineering and componentizing assets, redesigning production infrastructure and processes, and re-organizing management and development teams.

Rather than attempting to surmount this formidable upfront adoption barrier, Engenio selected BigLever Software’s software product line development tool – Gears – to enable them to make an incremental transition into a product line practice. Engenio made a series of incremental investments, each of which yielded an immediate, order-of-magnitude returns. For example, in their first incremental stage, Engenio discovered that with a relatively small upfront investment of four developer-months, the cumulative returns quickly began to outpace the cumulative investments in terms of time, effort and money. As a result, the “profits” in time, effort and money from their first incremental investment could be used to fuel the remaining steps in their transition.

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

Discussion Board
Development Tools
and Methods for
Software Product Lines

Special Seminar

from Telelogic and
BigLever Software.
MDD for Software Product Lines