IntentMotivationComponentBasedDevelopment allows independent software vendors and component developers to build specialized software components and frameworks that interface in a common way with other software components and frameworks. They create their own innovative, unique, and value-added components that plug into other vendors' components. Component assemblers assume components adhere to the underlying framework interface standards.
But sometimes buying off-the-shelf software components and frameworks is not enough. They may not meet requirements, may be to expensive, or the organization developing the solution may not know about their existence.