Ask the Authors
Q: How could we effectively use Agile to move a technology platform from legacy to new infrastructure, ensure we maintain existing features and capabilities, and unify a set of customer-facing applications dependent on the platform, while improving their customer insights?
Author Steve Berez responds: An essential part of using an Agile approach for any project is to break the work into small pieces that can be delivered and tested incrementally. In moving a platform to a new database, one way to break the work down would be to move the database connections in small groups such that each group could be moved to the new database in a single one- to two-week sprint. To complete each sprint, a full regression test should be run on the programs that have moved, to ensure that all the existing features and capabilities continue to function as expected. To be practical, this testing is typically automated. Once all connections have been moved to the new database successfully in the test environment, all these changes can go live.
Since part of the project involves achieving better customer insight, not just maintaining existing functionality, Agile’s powerful ability to support learning and improvement can come into play. Functionality of the customer-facing applications should be unified incrementally, obtaining stakeholder feedback after each increment to optimize the functionality. As noted above, automated testing can ensure the applications work as intended in all respects after each increment.