1. The Company
parcIT GmbH is a subsidiary of the Atruvia AG group, one of Germany’s largest IT service providers. It develops software solutions for bank management, risk management, cooperative and private banks, and insurance companies. parcIT’s software solutions have long been established on the market and are used by over 1,100 institutions and companies at home and abroad.
2. The Background
parcIT developed its entire software portfolio of financial applications in VisualAge Smalltalk. In the early 2000s, the industry started to shift, adopting Java and other object-oriented languages as the new standard for software development. This trend started to put pressure on parcIT externally and internally: externally, as the customer’s perception that the software they were purchasing from parcIT was based on an increasingly aging technology was becoming an issue; internally, as the available Smalltalk talent started shrinking in the market and turning Smalltalk into more of a niche programming language. A decision had to be made.
After undergoing internal technology evaluations in 2005, parcIT chose Java as the new programming language standard for their software development. All new product development would be based in Java, and all new engineering hires would have Java as a core skill set. Its existing portfolio of applications built in Smalltalk would be rewritten in Java over time.
By 2019, six Smalltalk applications remained, consisting of nearly three million lines of code. Meanwhile, during this period, the companies supporting commercial Smalltalk languages dwindled, and as a result, so did its commercial appeal. Support became a critical issue for parcIT, which added more pressure for the remaining Smalltalk applications to be rewritten in Java. Given their experience manually rewriting their Smalltalk applications in Java for over a decade, their estimate to complete the rewrite would be sometime in 2029 – an entire decade later. Ten years was simply too long.
3. The Challenge
The challenge was two-fold: technical and operational. The technical challenge concerned the very nature of Smalltalk – a pure object-oriented programming language with a dynamic type system, extensive reflection capabilities, simple and elegant grammar, and rich and powered class libraries. This easy power enabled developers worldwide to build complex software systems in diverse industries, parcIT being no exception. The operational challenge was not just one, but six production applications used by hundreds of customers needed to be modernized simultaneously while being continuously updated to support the existing business and address customer demands.
parcIT knew there might be vendors with application modernization expertise and migration tools that could accelerate their Smalltalk to Java modernization journey. They decided to explore the market for potential vendors to partner with, having serious doubts that existing solutions would address the unique challenges posed by Smalltalk that they experienced firsthand. parcIT issued a detailed RFP in search of a vendor that could address the above challenges.
4. The Solution
The Synchrony solution comprises of a Smalltalk migration technology (“SMT”) and a platform for managing the entire modernization lifecycle (“MLP”). Powered by a static type inferencing engine, diagnostics and analytics tools, and complete operational replaying capability, SMT automatically transforms millions of lines of Smalltalk code to Java with high quality and fidelity. MLP is a software-assisted modernization environment where engineers and stakeholders have complete visibility and access to the modernization process, leveraging Synchrony’s technology and team for automated migration tools, migration support, and expertise in Smalltalk and Java.
During the vendor selection process, Synchrony demonstrated to parcIT the full capabilities of its solution and shared the initial results of the automated Java code transformation. Ultimately, what convinced parcIT to select Synchrony as the partner in their strategic modernization initiative was Synchrony’s end-to-end modernization solution, deep Smalltalk expertise, and extensive Smalltalk migration experience.
5. The Results
The modernization included over a dozen Smalltalk software releases during the three-year ongoing migration period. The entire modernization lifecycle was reapplied to each new code release, which included new user-assigned types, newly derived types and generics, type inferencing propagation and type enforcement rules, Java semantic alignment such as base-class extensions refactoring and other rule-based transformations, and finally, mapping and Java code generation. The final migrated codebase was functionally equivalent with the latest releases of Smalltalk applications.
After three years of close collaboration with Synchrony, parcIT achieved a two-decade-long mission to migrate its entire Smalltalk software application portfolio consisting of 2M+ lines of code to Java. It took two and a half years to achieve user acceptance readiness and an additional half a year to achieve production readiness. Ultimately, it took one-third of the time it would have taken to complete a manual rewrite based on parcIT’s own experience and projections. All software development is now entirely in Java, and the legacy Smalltalk applications are on a retirement schedule.