While Scrum can be used in any environment, using it for development of a legacy system is particularly difficult. While the development team may be open to transitioning to Scrum, the team will encounter problems at all stages of development – from requirements management through to testing.
First, the product owner is likely to have a list of product backlog items (PBIs) that cover all areas of the application. When the product owner orders the PBIs by business value it will likely involve the development team working across all modules of the application, not just one. This is not an issue in itself, however when coupled with a lack of documentation of the application and the code (something common for legacy systems), the team will waste time reverse-engineering what each feature does and how it was coded. After a module is understood, the team will make the single required change instead of maximizing their new-found knowledge by working on every PBI in the area. While this is inefficient for the developers, this inefficiency multiplies when it comes to testing of this module, as the whole module or workflow now needs to be regression tested […]