Integration at the heart of Continuous Delivery

Posted by

What is continuous delivery? What are the implications, the opportunities; or rather, what is the opportunity cost of not being able to deliver continuously? These were some of the thought provoking questions raised by Gernot Brandl during the first few moments of his Tasktop Sync / Tosca Connect integration workshop titled “Keep the pace with superfast tool integration” at Tricentis Accelerate.

toolintegration

“The continuous delivery “figure of 8” hasn’t really changed. It’s the speed round the figure of 8 that’s changed.” – Gernot Brandl

Let me tell you a story that Gernot shared with us during the workshop. An insurance company product owner has a great idea: wouldn’t it be great if customers could create their own insurance quotes? This would result in tremendous time and cost savings for the insurance company while providing a better customer experience, and ultimately more happy customers. Let’s imagine the product owner writes the idea on a piece of paper. In order for the idea to become real and bring real value, the idea needs to be implemented. In other words, a developer will need to write code, which needs to be tested, then published to production for the use of the insurance company’s customers.

But what happens if the tests fail? Or, what if someone else refines the idea, and the requirements change mid-development? And before any of that can happen, how does the tester know about the developed code in the first place?

Gernot showed in real-time how the above story might go using modern technologies: the insurance company’s product owner creates a user story in JIRA and uploads an attachment showing what the UI should look like. The story is created automatically as a requirement artifact in Tosca using Tosca Connect. In this example, the developer is also using the JIRA system where the product owner created the story. The developer implements the story and updates its status in JIRA. The status change is automatically reflected in Tosca where the tester knows to begin automated testing against the corresponding requirement. When those tests are run, a failure is detected and the tester creates a defect record in Tosca based on the failed test result. Tosca Connect automatically creates a corresponding defect issue in JIRA where the developer works. The developer is notified of the defect and associated details from Tosca while working in their JIRA environment and implements the bug fix. When the defect record status is marked “fixed” the status is automatically transferred to Tosca, providing visibility to the tester. At this stage the tester can re-run tests if needed or simply observe automated test results to verify that the issue has been resolved.

In this story, technology is a true enabler of DevOps.

During the 80-minute workshop we set up the bi-directional integration from scratch(!). As someone new to Tasktop, it was fascinating to see the magic in action. We also addressed common challenges of 2-way integrations such updating relationships on both systems, and dealing with fields that are relevant in one system but not in the other.

Integration is at the heart of continuous delivery as automation is essential for enabling DevOps disciplines to go fast. It was a pleasure to listen to Gernot’s presentation and his experience with customers’ challenges with continuous delivery, and how they’ve been able to address those challenges with real-time integration and continuous testing.