Five years ago, a large sized bank in the United Kingdom mulled over the idea of developing a new enterprise application for its foreign exchange and fixed income management services. The purpose of the exercise was to get more efficient and reduce cost to run the application. The application was large in magnitude and had testing overheads. The key challenge was that most of the services offered by the bank could not be broken down and mapped onto the micro services architecture proposed in the new system to enable quick, automated pipelines to production. Secondly, like usual system teams, the development and operations teams were working in silos. Generally in such cases development teams work towards introducing new features and improvements to the product, while operations teams want a stable system running without too many changes. The bank needed a single team that can manage both code development and implementation. Moreover, new age technologies like cloud computing weren