Solving the problem of SW development process visibility
Great - as a manager responsible for software development, you have done the right thing and invested in a modern software development toolchain. There is a tool for project management, integrated with a document management system and version control tool. Automated continuous integration and delivery pipelines are made available for builds, deployments and testing. All binaries are stored in centralized artifact storage.
Job well done - right? Not quite. This is actually where the actual work begins. Having the tools in place is merely the start of a process, which aims at having a more streamlined software delivery capability.
The problem of disparate metrics
The first hurdle after introducing a software development toolchain is to make sure the tools are actually being used, and used correctly. All this becomes very hard, if not impossible, without visibility to key processes throughout the toolchain. The information is, unfortunately, spread around the toolchain – it may be very hard to get an overview of a project or product version development progress. Issue tracking tools like Jira offer a partial, and somewhat superficial solution. What’s more, some of the information may not be immediately available without some preparatory work.
Key information related to automated CI/CD processes, builds, deployments and quality assurance may fall out of radar and require tracking with a separate set of tools, not linked with overall progress tracking.
Reporting becomes laborious as you, the project or product manager have to collect relevant project data from various sources - partly from the tools, which you have to browse through one by one, and partly by asking the developers and the quality assurance and operations personnel. Once you get the data collected, it may already be outdated - a snapshot of the status somewhere in the past.
Centralized project dashboard: the silver bullet
Centralized project dashboards provide an easy and intuitive way to track project progress. The information gets collected from all the relevant tools taking part in the production process - project and issue tracking, version control, CI/CD automation tools, code analysis and testing tools. The key information is presented as collections of metrics data from various sources - there is no need to jump from a tool to another.
As the information is collected automatically from the tools on a daily basis, it is always up to date. However, getting reliable information from the toolchain requires discipline on the project side
The progress must be updated regularly while the feature moves from phase to another
The team must start using the tools following a set of best practices - for example, commits to version control and automated test cases should be labeled with the related Jira tickets IDs
The use of automation must be on a level that enables quality tracking by using the automated processes
Teams must use also other CI/CD integrated tools, such as static code analysis and open source component vulnerability scanning
As a result of the above mentioned requirements, the dashboards provide means for monitoring the overall automation and DevOps methodology adoption rate and process maturity. If the metric data is not available, it is likely the teams are not using the tools the way they should be using them. Or even worse, they are not using the recommended methods at all.
Moving into the driver’s seat
Once the data is available, all critical work is made visible, and you are able to track project progress, there is a chance to start measuring the project performance. It is, however, hard to improve the production processes if you do not know where you are. It is clear you need to start making the improvements from where you are, not where you were a month ago or where you wish to be in the future.
Is the quality improving as it should? If we increase the throughput, does it lead to decreased output quality? Where’s the balance between throughput and optimal output quality? The metrics dashboards should be able to provide answers to these important questions.
We’ve been developing Eficode ROOT Track and Drive. Its new name is ROOT Insights
For those of you who’ve been following Eficode ROOT for a while, you’ll know that the working title of Eficode ROOT’s tracking solution fit with dashboards has been Track and Drive (TnD). Now that this industry-leading functionality is ready to meet a worldwide audience, we’re giving it a new name: ROOT Insights.
Many existing Eficode clients are now reaching a state in their DevOps transformation, where the focus of the transformation is gradually shifting from DevOps toolchain adoption and basic automation implementation to improving the already running processes. Based on the experience gained by working with our clients, we have designed and implemented a tracking solution that helps any software developing company in reaching the next level.
Eficode ROOT Insights dashboards provide a set of built-in dashboards for tracking the software development activities. The information is collected to centralized views, each of which provides a unique viewpoint to the software development sprint or release - such as project management, development, and quality assurance. Snapshot views present the status right now, whereas the trend views provide a timeline view with historical perspective. Extendable data collection framework gathers data from the most commonly used tools and the view are expandable with custom metrics.
One of the ROOT dashboards is for management and provides end-to-end visibility to project status information.