Guidelines, which require the creation of sister test components before functional components can be checked-in, would formalize the unit test strategy. Tools to automate the creation and execution of sister test components would enable software engineers to follow this strategy. Maintenance of component-based software systems can be revolutionized. In conventional software systems, coupling enslaves engineers to the implementation. Their frustration is further exacerbated when simple changes in one area of the code causes dramatics effect in other areas of the code.
Maintenance becomes a curse and engineers are tethered to the implementation.
Creativity is stifled. Much of our engineering talent is sacrificed to maintenance. In component-based software systems, engineers can break their chains. They can make changes to the component with confidence and, if necessary, change the implementation altogether, as long as they are faithful to the interfaces.