Six Smalltalk applications with over two million lines of code were migrated, modernized, transformed, and made production-ready in parallel, expediting the project by seven years.
The decision to move to Java
Eighteen years ago, this company decided to have one programming language for their software applications: Java. All new product development would be based on Java, and all new engineering hires would have Java as a core skillset. Its existing portfolio of applications built in Smalltalk would be rewritten, over time, in Java.
By 2019, six Smalltalk applications remained, consisting of over two million lines of code.
Over these same years, firms that supported commercial Smalltalk languages dwindled, adding pressure to eliminate Smalltalk from the company’s applications. Internal estimates to complete the manual rewrites put the project end date in 2029 – a full decade later. Ten years was just too long.
The Smalltalk challenge
Smalltalk is a dynamic programming language and a pioneer in object-oriented technology. Its versatility, simplicity, and elegance allowed people to build complex systems across various industries and applications rapidly.
Smalltalk applications are difficult to replace without giving up design and functionality, and manual rewrites have historically been the path for commercial application migrations
Although the company’s software engineers were familiar with migration tools used for other legacy programming languages, they were doubtful one existed for Smalltalk, given its uniqueness and complexity. But even if an adequate tool did exist to help automate the Smalltalk migration, the engineers wanted to retain control and have complete visibility into every step of their Smalltalk code transformation and modernization of their applications to Java.
Behind the curtain: in-depth modernization experience report
After partnering with Synchrony, the modernization of the company’s remaining 2M+ of Smalltalk code was completed in under three years–one-third of the time it would take them to complete a manual rewrite. A two-decade-long mission to have all applications in Java was realized.
An in-depth report is available for limited release to companies interested in understanding the details of modernizing large, legacy applications.
The Modernization Experience Report includes details such as:
— company and project background
— modernization initiative challenges, requirements, and vendor selection
— Synchrony Smalltalk Migration Technology (SMT) and modernization platform overview
— modernization readiness phase, including work breakdown, team collaboration, and project timeline
— modernization implementation phase, including parallel track progress, halfway evaluation, functional testing, and code quality
— final deliverable, conclusion, and takeaways
— an appendix, including analysis of the codebase, pipelines, operations, deliveries, and more