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 - Interoperation Fails When Assumptions Are Ignored

Ricky & Stick main page

Looking at a single system gives a very different perspective from looking at several interconnected systems. What's optimal for the single system may not be so for the group, and vice-versa. The success of any collection of interoperating systems depends on just how these different perspectives are negotiated and resolved.

Ricky and Stick, for instance, saw no reason why they shouldn't make their dorky little balloons bigger. They looked better, and probably felt better. (And who doesn't like the feel of a good water balloon?) But neither of them considered that their balloons weren't independent, but were going to be in a collaborative relationship with a lot of other balloons.

It's not that different for software managers. Software is so easy to tweak and change, and the owner of one system sometimes sees no reason why he shouldn't make just one little fix here or there, to make his own system a bit better. But when this happens, the change, however small, might disturb something about the agreements with other systems, and can potentially have a serious impact on the whole system of systems, perhaps even destroying it.

When systems are in relationships with other systems, the success of the whole depends on assumptions and agreements that each system adheres to; this is especially true for software systems. The agreements are sometimes specified, but not always. In fact, many of today's interoperating systems don't really have a clear agency that is responsible for the whole; instead they depend entirely on unwritten assumptions that everyone adheres to voluntarily. In Mrs. Perillo's case, there was certainly at least one unwritten assumption: she never expected that anyone would add balloons that were much too heavy, and thus saw no need to say, "Don't use water balloons!"

The lesson is that if you're the manager of a system that's an element in a system of systems, you need to be proactive in preserving agreements, written and implicit. Before making any change, even a seemingly trivial one, you might consider asking everyone (and that means everyone, those nearby and those light-years away) whether the change will affect their systems' operation. Otherwise, you might unintentionally change something that breaks the whole shebang. Then the system stops running, molecules fall down and everybody gets soaked.


For More Information

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


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