Application redesign and reprogramming are typically large and risky efforts.  In the meantime, existing systems must be maintained and modified as the business changes to meet evolving needs. These changes must be replicated in the new systems and developers often…