reusable component development | the same steps as the development of complete applications: domain and requirements analysis, design, documentation, testing and inspection | - Risk from an uncertain investment: Developing reusable technology takes time away from developing applications and is therefore a calculated risk
- The so-called 'not invented here syndrome': A framework developed by one set of developers might not be used because others fear it might not be supported
- Competition: Reusable technology might not end up being used if somebody else develops competing technology that gains wide acceptance
- Divergence: Several development teams using the same framework may want to change it in different ways
| development | - Looking at a problem at a more general level tends to make it easier to understand: Details relevant to only certain specific cases are discarded, which leads to better abstractions and simpler structure of the resulting design
- The very process of developing reusable components separately from their target system reduces the interconnections among parts of the system
| | 3.2 - Incorporating Reusability and Reuse Into Software Engineering | |