This blog is by Hrishikesh Karekar (@hrishikarekar) and Vinaya Muralidharan (@vinaya1980) on their talk – Continuous Integration at Scale – at XP Conference India 2016. This post first appeared in Vinaya’s blog site
The word Enterprise conjures up images of big multi-million projects, thousands of people working together, distributed locations, complex products, multiple modules, projects impacting millions of users and mission-critical systems.
All of these are true for our environment.
This is the environment where we have successfully started our Continuous Integration journey and are enjoying great results.
When we embarked upon a journey to modernize and streamline the way we developed software, it was a daunting task. And the change was huge in all aspects – People, Technology, Processes.
But the results are very heartening. From being able to clone environments within minutes, to reducing build times from days to hours to the ability to deliver to customers frequently – we are experiencing the benefits every day today!
The road was not easy. Being a Service Delivery organization, and not Product Development, in itself posed a huge challenge. On top of that we were working with multiple products, multiple technologies and multiple specializations, with integration as our top issue to solve for years. Legacy source control and build systems limited our ability to learn from the industry.
We frequently worked on mega transformation projects for big Telcos. These were always multi-vendor environments demanding heavy upfront planning.
With the multi-product and super-specialization environment, our teams were component teams and not feature teams.
Against this backdrop, we undertook our Continuous Integration journey over 3 years ago.
Technology was our first stop – modernization was kicked off on several fronts – version control, builds, artefact management and test-automation framework. Our new technology stack (including Perforce, Maven, Nexus, Sonar, Jenkins) relied a lot on open source – we learnt from the collective knowledge of the industry!
Process – We supported the technology upgrade with lighter and more agile processes. We cut down on bureaucracy and focused instead on getting to working integrated software quickly and transparently.
People – People took center-stage in this transformation. Developers started being viewed as more than mere resources – we started acknowledging our craftsmen! The sphere of influence and impact of our developers increased and they were ably supported by new tools, processes and technology.
The change was huge and it wasn’t easy. We made a few missteps along the way but we are continuously learning and course-correcting.
Our developers had to learn new ways to code, our approach to metrics had to undergo a re-haul, collaboration between teams took on new significance and middle-management was recruited as an ally!
Many large enterprises may face similar challenges and we would love to share our experience with more people, to assist in our small way, in their transformation.
We have come a long way – however we have much longer to go.
We are already doing several proofs of concept in areas including security, deployment and automation.
The future holds many promises!
Come hear us share our experience at XP Conf India 2016