Step 3 to building a DevOps Platform: Visibility across the pipeline
Continuous improvement should be at the core of any organization that applies DevOps practices. Metrics is key here as it is very hard to improve the ways of working without having up-to-date, data-driven information on the project status, performance, and quality.
Earlier in this blog series we have discussed how you can move towards a centralized DevOps platform by first enhancing the overall robustness of your in-house system and by enabling high throughput in your team. Now it’s time for the third step, which is to create visibility across the software pipeline.
How well is DevOps methodology adopted in your projects?
Having visibility across the pipeline makes it easier to adopt DevOps methodologies in your ongoing projects.
With a feature, such as Track & Drive, you’ll be able to see to what extent teams are using platform tools: who is using them and how often is a certain tool used? With the help of this information, you’ll be able to get information about whether you are going in the right direction in your DevOps journey and follow the overall adoption of DevOps practices in your organization.
Up-to-date quality information
To ensure visibility, you need to demand up-to-date quality information from the teams. If quality reports are written manually, it means the report is already outdated at the moment it’s handed out, while everything around works at DevOps speed. To ensure that the report has the latest information, data needs to be gathered and delivered from the system in real time.
Make decisions based on real-time performance data
You need to start measuring project performance (in other words: throughput). An important question to ask is: how many features do you get through the pipeline in a certain time frame? By measuring performance, you’ll be able to make decisions based on real data, instead of guesswork.
With the help of gathered data, you should also start identifying bottlenecks. For example, it’s important to find out whether there are stages in your software assembly line that take more time than others. In case you have identified some bottlenecks hindering the process, you should get rid of them by using available methods, such as automation.
Learn from successful benchmarks
When you have data available from larger portfolio of projects, you can start identifying benchmarks. If you have identified teams that perform really well, you should get familiar with their way of working. Questions to consider are:
- How has the team achieved high quality and high throughput?
- How has the team managed to avoid bottlenecks or get rid of them?
When you have answers to relevant questions, you can distribute the same successful method across the whole organization. The idea is to find successful benchmarks and learn from them, instead of focusing on failed examples. This is the value-adding way to utilize gathered data correctly.
Predict the outcome with the help of data
Once you have enough data available and you have collected historical data about project performance, you can start doing predictive analysis.
For example, you can predict if the project is going to be completed on time or is it going to meet the quality target. Having enough data from the past also gives an opportunity for using machine learning and AI.
They can identify warnings in the early phase of the project, giving you enough time to fix the problems and still affect the outcome of the project.
Functionalities to enable visibility
From the tooling perspective, needed functionalities to enable visibility are:
Eficode ROOT Track and Drive collects data from the most commonly used DevOps tooling and makes the data available for a variety of analytics dashboards. The data collection framework is extendable to include new data sources and the dashboards views can be extended with additional metrics based on evolving user needs.
Every team member should have an easy access to relevant data, and that’s why we have built three predefined dashboard views in Track & Drive with each of them providing a different perspective — project management, quality and software development.
It may not be easy, but it’s worth it
To conclude this blog series, here are few points to summarize building a centralized DevOps platform:
- Right tool usage is the cornerstone of successful DevOps transformation.
- Create single sources of truth (SSOT)
- Enable end-to-end agility for high throughput
- Track & Drive: collect data from the pipeline and utilize it efficiently
If you need help to get started, we are happy to help you! We have over 10 years of experience in software production environments. Don’t hesitate to leave a message >