menu
Streamlining software delivery through a flexible and agile DevOps model
Streamlining software delivery through a flexible and agile DevOps model
In the fast-moving world, digitization is sweeping across many industries, creating an unparalleled demand for companies to innovate, experiment, and deliver capabilities faster. As the demands of modern businesses have increased significantly, affecting the very nature and scale of software development, companies require a more flexible and efficient approach to software delivery.

software delivery through a flexible and agile DevOps model

In the fast-moving world, digitization is sweeping across many industries, creating an unparalleled demand for companies to innovate, experiment, and deliver capabilities faster. As the demands of modern businesses have increased significantly, affecting the very nature and scale of software development, companies require a more flexible and efficient approach to software delivery. So, due to these required changes in technical, organizational, and cultural aspects, DevOps adoption and implementation have become essential.

In most organizations today, multiple teams are working on a single product. So, the biggest challenge is to make them work better and faster together toward shared goals. In the case of our client, to develop a single intelligent product, they deal with multiple vendors who had their own teams and roles. And with so many teams having different responsibilities, communication and transparency take the center stage.

With such a hybrid scenario of multi-functional teams, separations on a technical and organizational level, added with the use of different tools became a serious issue for our client. Moreover, on the software development side, the client’s application deployment model had become unsustainable for several reasons.

  • First, there was no room for anyone to operate in silos since many of the processes and functionalities were interdependent.
  • Second, the deployment process was slow and error-prone.
  • And finally, there were few challenges like traceability to source control as the software build and deployment processes were dependent on other teams.

This lack of cooperation and communication between different teams involved in making a single product resulted in uncoordinated activities, which hampered product development and lead to numerous other consequences.

It is natural that if multiple teams are developing a feature, there exist dependencies within the (Product Backlog Items) PBIs that are taken up by different teams in their respective sprint backlogs. So, to overcome it, the client needed to implement a robust continuous integration and continuous delivery (CI/CD) pipeline.

Solutions

DevOps is considered important in the ability to frequently and reliably update a system in an operational state. DevOps presumes automation and seamless cross-functional collaboration between multiple teams. Hence, to manage a single smart product developed by multiple teams, our client needed a robust DevOps approach.

The teams involved in making a single, smart product were:

Team 1 – Hardware

This was the client’s core team. The main role of this team was to make devices IoT enabled so that the software can send data to the cloud.

Team 2 – Cloud Platform

This was the Softweb Solution team. The main role of this team was to ensure connectivity of the devices so that data could be sent from the cloud to the device and vice versa. Along with providing a ubiquitous cloud platform for their products, we were responsible for developing the following:

  • Communication protocols – AMQP, MQTT, WSS, HTTPS
  • Real-time rules engine that decides whether to raise an alarm, log data, or take an action
  • API to provide interaction with the web and mobile apps

Team 3 – Frontend and Commerce Platform

This team was an external company responsible for creating user-friendly interfaces to represent the data that was being transmitted from the cloud to the device. This was the commerce side of the product.

The first rule of the DevOps model is “you build it, you own it”. So, in order to ease and streamline the governance of multiple teams and increase visibility into its development environment, the client implemented a robust DevOps model. On the software front, the company was seeking a tool that would integrate seamlessly with its products.

The ultimate goal of our client was to enable potential customers in the manufacturing industry and help them to make their factories smarter with the Internet of Things (IoT). They also wanted to empower their customers with actionable insights from the generated data. And their requirement was clear – an agile approach that would enable different teams to collaborate seamlessly and deploy an IoT platform to create intelligent products that would enable them to connect their devices to the cloud.

Benefits delivered

Softweb Solutions significantly accelerated the delivery of mobile and web apps features, fixes, and updates by aligning the client’s development, testing, and staging environments with the production environment, thereby automating performance testing, load balancing, IT infrastructure monitoring and log management. With the DevOps approach, at no point were any of the teams dependent on each other for their own tasks.