Back to the future - how we integrated a 40 year old software system
Byte Size (INTERMEDIATE level)
Room D
Over the past years we have rebuilt the sales platform of Deutsche Bahn with over 100 microservices, 400 people in over 30 teams and thereby (re-)created one of the biggest e-commerce platforms in Germany.
During this process we felt increasingly like Marty McFly because in order to get early user feedback we began by integrating the "Elektronische Platzbuchungsanlage" (EPA), a software system for seat reservations that went into production in 1983(!). With system integration being a core activity in enterprise software engineering and architecture, and legacy systems in particular being a common occurrence in the everyday work of many software engineers we would like to share some in-the-trenches experiences of the problems we faced. Let's embark on a journey through the past beginning with poorly accessible documentation and experts threatened by extinction, over generational leaps in technology for example regarding interfaces, unclear non-functional requirements up to mismatching concepts with respect to staging and testing and the pitfalls of distributed systems and transactions. We will reflect on the difficult and painful solutions and discoveries we made and smarter ways of doing a legacy integration like this.
Ultimately, we are all building legacy systems of tomorrow, so let us share our thoughts about "future-proof" software, documentation and organizations. After all: "The only real mistake is the one from which we learn nothing."
During this process we felt increasingly like Marty McFly because in order to get early user feedback we began by integrating the "Elektronische Platzbuchungsanlage" (EPA), a software system for seat reservations that went into production in 1983(!). With system integration being a core activity in enterprise software engineering and architecture, and legacy systems in particular being a common occurrence in the everyday work of many software engineers we would like to share some in-the-trenches experiences of the problems we faced. Let's embark on a journey through the past beginning with poorly accessible documentation and experts threatened by extinction, over generational leaps in technology for example regarding interfaces, unclear non-functional requirements up to mismatching concepts with respect to staging and testing and the pitfalls of distributed systems and transactions. We will reflect on the difficult and painful solutions and discoveries we made and smarter ways of doing a legacy integration like this.
Ultimately, we are all building legacy systems of tomorrow, so let us share our thoughts about "future-proof" software, documentation and organizations. After all: "The only real mistake is the one from which we learn nothing."