Software Engineering Institute Carnegie Mellon

ASP Main Page
About ASP
Areas of Work
News
CMMI Acquisition Module
CMMI-ACQ Model
Acquisition Patterns of Failure
Publications and Presentations by Topic
Presentations
Publications by Type and Date
Related Materials
Adventures of Ricky and Stick
Success Stories
Pilot Studies
Useful Sources & Links
Training
Conference on Acquisition of Software-Intensive Systems
Contact Us

Ricky & Stick - Preserve Interoperation as Separate Systems Evolve

Ricky & Stick main page

When a system is upgraded with new parts, it generally needs to be done with an overall understanding of the goal of the upgrade. But when upgrades to different pieces are done independently (as often happens with systems of systems, each of which may follow a separate evolutionary path), the upgrades can sometimes be at odds with each other.

For instance, separate upgrades can follow very different evolutionary goals. The upgrade to System A may aim toward greater internal efficiency while that of System B may aim at a better user interface. (Or, as in the case of our hapless heroes, Stick wanted to see better, Ricky wanted to make the racer faster.) Each upgrade might separately represent an improvement. But considered from the perspective of the whole, the aggregate system may not be improved at all; it might not even be operable. (Truth to tell, Ricky's racer, even with mismatched wheels, could still roll. But it would probably be slower, not faster, and the driver wouldn't see where he was going. While that wouldn't bother Ricky all that much, it's more serious when it describes how some actual systems evolve.)

And conflicting evolutionary goals are not confined to huge systems; they can pop up in small, isolated systems just as easily, and they can occur whether you're dealing with COTS products or custom-written code.

Bottom line: The evolution of any separate part has to be done with an awareness of how that evolution affects the integration of the whole. So if you (or your contractor) are contemplating an upgrade to a system, you might aim to explicitly answer such questions as: What is the goal of this upgrade? How does it match with upgrades to other systems with which our system interoperates? Because if multiple evolutionary goals are at odds, the integrated working of the whole might well be destroyed.


For More Information

Send comments or questions to asp-requests@sei.cmu.edu


return to top
Ricky & Stick main page
Acquisition Support main page