Agile Embedded ReusabilitySaqib Javed John, PMP, PMI-ACP, ITIL
Reusability is a clear principle of Agile which is in simple words can be described as Object-Oriented Design, which means build an object once and reuse it as many times as needed. The embedded approach and behavior of reusability within the agile architecture, methodologies and processes improves the product quality and team productivity. Agile also make a significant increase in the success rate of systemic reuse of requirements, artifacts, performance review process.
Reusable elements not only accelerate the current project deliveries but also the future projects. Reusability can be implemented through configurable frameworks, a model-driven approach and traceability. These technologies make the reuse of fine-grained components a viable proposition, by reducing the effort of building them from scratch.
In this prospect, besides lightweight or heavyweight scope of work, Agile projects may benefit the most as the Agile framework provides the more enhanced, recommended, practical, proactive and well-tested opportunity for reuse. Agile recommends and promotes harvesting (i.e. reuse) a little alongside the traditional approach of building them from scratch. Reusability genuinely speeds up project execution and sometimes gives a giant leap towards completion through small-grained components, which ultimately reduces the time, cost and efforts of the project. As for 1st-time organizations pay to build a feature, 2nd time bear the cost of reusability and 3rd time it’s free.
The agile environment encourages emergent reusability i.e. ‘design for reuse’ means design with an approach of reusability right from the start which is facilitated by a common build system throughout the project life cycle. In the genuine rhythm of Agile, reusability and agility present effective coupling hand in hand.