This post is co-written with Brian Smitches and James Scarr from Cognition. A mainframe application that has been in production for decades encodes thousands of business rules that were never documented, poorly documented, or now outdated, and the people who understood them have often retired or moved on. Manually recovering that logic, then hand-building the new services, tests and migration scripts, commonly takes years, which is why modernization projects stall or get shelved.