×
×

While DevOps has become a ubiquitous practice, optimizing and streamlining DevOps processes remains a challenge. Quest Global has been helping customers overcome inherent technical inefficiencies, siloed workflows or lack of standardization of tool sets and in effect, streamline their DevOps processes successfully.

Considered to be one of the key accelerators for driving rapid technological advancements, DevOps has emerged as a major driver for better application development, faster product releases and feature revisions based on customer feedback. DevOps has the potential to decrease time spent on resolving security issues by 50%, provide a 24x faster recovery rates from failures and 3x lower change failure rate.

One of the biggest advantages of DevOps is to eliminate development issues and bottlenecks by including quality assurance, testing and technology operations directly in the development process through constant feedback provided in real-time.

The following example shows how Quest Global helped a leading customer streamline their DevOps processes by leveraging Azure DevOps.

Challenge

For the customer, the challenge was their legacy application along with an old installer used to build the package. The application was built in two different parts, one part used Jenkins and Git for build and source code management, while the other part of the application used manual build and release. As the second part of the application was using Team Foundation Server (TFS) for source code management, it was old and not the most preferred solution for source code management.

The customer wanted a reliable tool to manage their source code. Thus, the objective was to provide the best possible solution that would address the unified build and release process for the entire application along with the traceability of each work item related to the application development.

How Azure DevOps (ADO) Helped

To help the customer streamline the DevOps processes, the Quest Global team decided to use Azure DevOps as the most suitable solution vis-à-vis the customer requirements and overall feasibility.

The team delivered the following solutions to address customer requirements:

  1. Source code management: Foremost, the customer wanted a unified source code management as they were using Git-hub for the one part of the application and TFS for the other part. The customer wanted to move the source code from TFS to Git-hub. The Quest Global team helped to migrate the existing source code from TFS to Git-hub with history successfully. After migrating the complete application source code and hosting it on Git-Hub, the team wanted to make sure that it could be integrated with ADO. The team used the service connection option available in ADO to achieve this.
  2. Application lifecycle management: The Quest Global team suggested that the customer use the Azure Boards instead of current Jira tool as it was very simple and provided a unified view of the complete application development lifecycle. Not only was it very simple to setup and use, it also provided an option to link the Git-hub commits to the related Work Items which enabled the traceability with respect to source code and the development activities (for Work Item). This tool also enabled the relational link to different work items such as Epic-Feature-Stories-Tasks. Similarly, it also allowed link related work items such as bug-story. This ensured that users could trace from anywhere to the required point.
  3. Build and Release process: Since the customer used the build from Jenkins for one part and manual build for other part, they needed to ensure co-ordination between the two for a manual release. The requirement was to have a unified build and release to streamline the process. The Quest Global team used the Azure Pipeline for the build for both parts of the application to create the unified release process.

The Azure Pipeline is user friendly and very effective for setting up the pipeline. This service provided the team with Classic and YAML based pipeline creation. When the team initially used the Classic Pipeline creation, it was very easy to setup as it could read the repo and depending on the source code it could automatically present with the set of steps. Once the steps were created, users could make changes as per requirement and create a final pipeline. Since the customer had a legacy installer, the team could leverage the rich set of extensions that ADO has. This enabled to build the legacy installer and streamline the complete build, and release process.

  1. Testing process: One of the challenges that the customer faced was the lack of a proper testing process in place. Our team suggested using the Azure Test Plan, ensuring that the DevOps process was fully complete. The Azure Test Plan provided a placeholder to create different test cases, run these test cases against the application functionality, log and share the results. In addition, it provided the analysis of test runs and testers created a bug directly using the Azure Test plan service. It can also be used to automate test runs by integrating with Azure pipeline

Outcome

Our team of extraordinary people make the impossible possible. The series of solutions mentioned above by Quest Global, transformed the DevOps process and provided a unified view of the complete process to the customer. The customer is currently in the process of implementing security features into the solution by integrating with SonarQube/Veracode.

Key benefits

  • Enabled customer to track and manage the application from one place
  • Reduced the manual errors
  • Removed the single point of failure and accelerated build and release
  • Reduction in maintenance cost
  • Reduction in the time to build and release by 50%
  • Elimination of license cost

Future prospects & Learnings

  • We can create automated test cases in any languages and can be integrated as part of current build and release pipeline.
  • We enable creating a template with respect to Build and Release pipeline steps and can be reused by different teams.
  • Allow creating default pipelines (YAML files) which can be used with respect to different languages (.Net/Java/Python etc) and different teams can pick these templates, modify the same and use it with very little changes as per the requirement which will enable to quickly adopt this technology.
  • Organisations can move to a single point for management of their Software Development Life Cycle (SDLC) and streamline their build and release process.

With companies facing the challenge of reduced product life cycles and the need to deliver the latest features and updates to the customers, having a smooth DevOps process is imperative. By leveraging technologies like Azure DevOps, organizations can achieve enriched and defect-free products, faster and in a cost-effective way.

For 25 years, Quest Global has strived to be the most trusted partner for the world’s hardest engineering problems. We bring deep industry knowledge and digital expertise to deliver E2E product engineering services. We bring together technologies and industries, alongside the contributions of diverse individuals and their areas of expertise to solve problems better, faster. This multi-dimensional approach enables us to solve the most important and large-scale challenges across the Aerospace & Defense, Automotive, Energy, Hi-Tech, Healthcare, Medical Devices, Rail and Semiconductor industries.

Written by Vinayak Korti

on 02 Mar 2022

Vinayak Korti is a technology enthusiast and currently a Technical Lead at Quest Global. He holds a Bachelor of Engineering degree. With over a decade of IT experience as a technology consultant, Vinayak has worked in different technologies such as application virtualization, application migration, AWS cloud, Azure DevOps, GIT, Jenkins, & knowledge on Kubernetes.