Case Study: Agile Software Delivery
At the Youth Justice Board, a switch from Waterfall to Agile saw defects drop by 50% during the delivery of a new CMS.
Part of the work undertaken by the Youth Justice Board (YJB) was to re-engineer the Case Management Systems (CMS) deployed to the Youth Offending Teams (YOTs). There are 157 YOTs across England and Wales who use one of two applications. Over time, the disparate YOTS have been diverging on their use of these two systems to a point where the data is no longer consistent with the original system designs, the ability to share information between YOTs does not exist, and additional system upgrades have failed to provide the integration facilities they sought to add.
The project team was primarily made up of independent contractors, with a relatively small number of permanent staff. Triad started on the project at a time where there was no project manager at the YJB, and provided guidance and leadership to both the analysis and development teams, as well as advice to the YJB. When the YJB appointed their project manager, Triad supplied the Technical Delivery Manager with responsibilities for the development of the new CMS, the data warehouse build and reporting, as well as the data migration from the legacy applications.
Waterfall versus Agile
The project started out by using a waterfall approach to design and development. After a year, it was recognised that there was a substantial amount of documentation but little demonstrable software. Due to the geographically diverse user community, there was a need to ensure that they were engaged with the project, but also to react to changes in legislation and working practises. After a year, it was becoming apparent that the designed solution was starting to fall out of alignment with regulations and approaches to handling youth offenders. As a consequence, the project switched to an Agile methodology after the release of the first deliverable.
Benefits of switching to Agile
Switching to Agile saw immediate, significant improvement in the quality of the code through a dramatically reduced defect list. The iterative delivery enabled swifter visibility to end users for feedback. Effort was applied to features that had a real business value at that point in time. The sizeable development team were continuously working on producing software, rather than experience times of inactivity due to supporting System and User Acceptance testing.