|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
New development approach imperativeDuring 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 Engenios 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 TransitionIn 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 Softwares 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 > |
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||