Strangling the Monolith With a Data-Driven Approach: A Case Study
SpringOne Platform 2017 David Julia, Pivotal; Simon P Duffy, Pivotal "The scene: A complex procedure cost estimation system with hundreds of unknown business rules hidden in a monolithic application. A rewrite is started. If our system gives an incorrect result, the company is financially on the hook. A QA team demanding month-long feature freezes for testing. A looming deadline to cut over to the new system with severe financial penalties for missing the date. Tension is high. The business is nervous, and the team isn’t confident that it can replace the system without introducing costly bugs. Does that powder-keg of a project sound familiar? Enter Project X: At a pivotal moment in the project, the team changed their approach. They’d implement a unique, data-driven variation of the strangler pattern. They’d run their system in production alongside the legacy system, while collecting data on their system’s accuracy, falling back to the legacy system when answers differed. True to Lean Software development, they would amplify learning and use data to drive their product decisions. The end result: An outstanding success. Happy stakeholders, business buy-in to release at will, a vastly reduced QA budget, reusable microservices, and one heck of a Concourse continuous delivery pipeline. We achieved all of this, while providing a system that was provably better than the legacy subsystem we replaced. This talk will appeal to engineers, managers, and product managers. Join us for a 30 minute session where we review this case study and learn how you too can: Build statistically significant confidence in your system with data-driven testing Strangle the Monolith safely Take a Lean approach to legacy rewrites Validate your system’s accuracy when you don’t know the legacy business rules Leverage Continuous Delivery in a Legacy Environment Get Business and QA buy-in for Continuous Delivery Articulate the business value of data-driven product decisions"