How CICD and VSM planning Separately Work Together
One of the great benefits of my job is continuous learning. Anytime a new concept, product, or feature comes up I need to take a closer look. I try to understand how it works, and how it relates to our core mission. Most importantly I figure out how to communicate those details to our customers and followers. In this case, it is the topic of VSM and CICD that has my attention.
You see a few weeks ago we announced that Experitest had joined the family at Digital.ai. Their and now our VSM platform is taking the world of DevOps by storm. The first evidence of that is our inclusion as a leader in the Forrester Wave™ Value Stream Management Solutions, Q3 2020. In examining VSM I had the thought that it sounded a lot like the methodologies of CICD. It turns out that the link between VSM and CICD is more interesting than I initially thought.
Our SeeTest Continuous Testing Platform is an integral piece of VSM and CICD as we will see shortly. We will also see how it can run independently of a VSM process. Important as well is how combining the two adds tremendous value.
First, we need to take a closer look at Value Stream Management. This is a process by which we examine bottlenecks in the DevOps process. The goal is to improve software delivery efficiency.
Reduce Waste and Improve Efficiency with Value Stream Management
The end goal of VSM is to deliver products to customers with high speed and high-quality. The obvious question is yeah of course that is the goal but how? The simple answer is by managing the required flow of materials and information when delivering products to customers. This method is often used in manufacturing. Its growth in the software sector had been rapid so we will use that as our example.
It starts with mapping steps in the SDLC process. Once mapped, we look at each step from the customer's perspective and label each step as either value-adding or non-value-adding. From a VSM perspective the first types of steps eliminated are those that are either repeatable or have multiple hand-offs. These are the steps that usually waste the most time.
If that all sounds less like software delivery and more like an assembly line process you would not be wrong, as mentioned above VSM has strong roots in manufacturing. Lean VSM is an emerging part of the SDLC as a software delivery method based on lean methodologies combined with VSM processes as well.
Briefly, lean software development is the idea that we can apply a set of principles to software development that will reduce effort, budgets, and defect rates. It benefits organizations using these methods because they eliminate pre-planned specifications in Agile development. The way that development needs are communicated within teams is with user stories which are much simpler to understand. If that is starting to sound like our definition of VSM from above, then you are getting the picture.
Lean VSM is becoming more popular
So Lean VSM is gaining traction. In some cases, it is the go-to solution for optimizing workflows in software development and delivery.
Imagine a workflow where developers commit their code on the left, and the end product is consumed by the customers on the right. Many engineering organizations exist in highly siloed environments like Dev, QA, tools, infrastructure, platform, release, infosec, and operations. VSM eliminates these silos and their inherent bottlenecks with a heavy analysis of each step in the workflow. This facilitates faster and higher quality software delivery.
Communication and collaboration are the main results of a successful Lean VSM process. The main area where waste occurs during software development and delivery is in the time spent waiting for handoffs between teams and individual members. In 2020 enterprises simply cannot deliver inferior quality software and apps at a low speed.
How a VSM impacts the SDLC
When we talk about value streams in relation to software development, we mean to include every activity in the process from the first idea to production. The actual value of the software being developed will be determined by customers.
It seems so simple. If your web or mobile app delivers value to your customers that will come back to the enterprise in the guise of business value. Creating value for customers is part of the movement towards more customer-centric aspects of web and mobile app development. The issue is that in large organizations the process of development and delivery are so complex that it is hard to map a value stream.
Using the Lean VSM methods we discussed above enterprises can identify the steps in the process that add value and those that are wasteful. Then the process of optimization begins.
The first step in accomplishing this is by creating a current state value stream map. With this map, we will be able to list each step of the SDLC in detail. The first step is to bring all stakeholders together in order to take account of every step in the process of web and mobile app delivery.
Build on your current Workplans
After sitting with stakeholders from across your organization you can begin the work of optimizing your delivery workflow. This will require optimizing the value stream map that you just made. Improvements start to be made when you have measured where your company's goals reside while simultaneously identifying opportunities to work toward.
Managing Value Streams as part of your web and mobile app development.
With a value stream map in place you have every aspect of your delivery process at hand. This means that each role in the company has the tools they need to continuously problem solve and improve development.
In order to carry that out, you need a VSM platform that integrates and combines toolchains, while also compiling data in a way that is visible and traceable across the stream. The Digital.ai VSM platform, for example, makes it possible to accelerate your business results by aligning business goals to software development activities and delivering innovation securely.
CICD is also essential
Specifically, in the web and mobile app development world having VSM and CICD will illustrate where inefficiency is plaguing a company from idea to production. This even includes feedback loops and rework. Everyone wants to reduce the steps and need for that.
In the continuous delivery world in which Experitest is a major player, we see that it is possible to implement a CICD pipeline without a VSM in place. But wait, I can already hear you asking aren't you a vital piece of the new Digital.ai value stream management platform? Yes of course we are, as I shall explain.
While it is true that your continuous delivery pipeline does not need VSM, by including VSM when applying your CICD your results will be even greater.
How VSM and CICD work together
- We are walking this new path arm-in-arm with Digital.ai. As we are seeing from the get-go the relationship between CICD and VSM is constantly evolving. Take DevOps, essentially it combines development which is a value stream and Operations which is considered a non-value stream. These steps in the process both compliment each other and add value in the way that they are implemented overall.
- When mapping a value stream, you need to look at both material and information flows. This is true of DevOps as well. So, the CICD pipeline visualization especially when powered by Experitest gives you both the ability to analyze your material (artifacts) but also to communicate your findings and share the information across an organization.
- The most important ways that a VSM measures value is by figuring out which step of the process adds value and which does not. A CICD pipeline aims to do the same. The strategy is to automate as much of your web and mobile app testing as possible. We know the results of this well. Increases in speed and quality of your apps. The extra benefit, of course, is improving productivity and velocity which in turn will reduce waste.
Experitest the independent and still necessary VSM and CICD step
Our continuous testing platform gives enterprises the ability to delight their customers with error-free experiences across both browsers and mobile devices. Meaning that the end goal of having customers create value with their satisfaction is the main benefit of the platform. The ability to integrate with any tool across the pipeline means that visibility will be clear through the delivery process. Now that we have combined our service with the VSM platform of Digital.ai both their platform and ours are enhanced from ideation to deployment.