The vast majority of developers, agile or otherwise, take an ad-hoc approach to reuse. Although this is a good start, we have the opportunity to do much better. There are several reasons why your organization should consider investing in explicit reuse engineering:
- Quicker time to market. The more reusable assets that a team has at its disposal then the less the team will have to build, thereby enabling them to release quicker.
- Improved return on investment (ROI). Reuse engineering enables IT delivery teams to avoid building something that your organization already has. This leads to greater ROI for your IT investment which in turn leads to greater value being delivered to your stakeholders.
- Improved consistency. When all of your systems use the same implementation of a service, or component, or function, or framework then that functionality by definition is implemented consistently across those systems. This makes them more predictable and easier to understand.
- Easier updates to common functionality. When functionality is implemented in one place and then reused where needed it is very easy to update that functionality and then deploy the updated version.