Small organizations with a few agile development teams can usually manage code quality and developer productivity on their own. However, in larger companies, which typically have dozens of agile teams, it is already problematic for managers to know how effectively the team is working and what real business value it brings, according to Michal Bulánek, Commercial Director at Ness Czech. That’s why Ness Czech has developed Matrix, a solution that can quickly and easily evaluate the quality and effectiveness of agile development using concrete data and numbers. It will also show you where executives should focus their efforts.
Besides the clear advantages, does agile development have any weaknesses?
Previously, software development was governed by so-called predictive delivery models, where there was a clear timeline, expected costs and benefits for each project. In the agile world, it works differently. Organizations typically manage their own programmers, analysts, and testers in small decentralized teams that deliver software in small chunks in short, typically two-week, iterations. This gives the company a number of advantages. As a result, it is quicker to respond to market needs, the customer can continuously see the emerging delivery and more easily test new features, products or customer offerings. Many organisations in the Czech Republic are undergoing transformation in this direction, even outside the IT industry, such as banks, insurance companies or telco operators.
At the same time, however, agile development is less transparent to senior management, including its business benefits and meeting timelines. The principle of agile implies that there is essentially no timetable. The team tells itself what it wants to do in the coming weeks and handles tasks according to the current priorities set by the product owner. Thus, it is no longer obvious to management, for example, what the total contribution of the team is for the whole year, or what is the ratio of planned features to those actually delivered. A measurable view of business benefits, efficiency and software delivery is lost.
What does the Matrix solution enable in practice?
Matrix, as a tool for measuring and managing productivity and quality of agile software delivery, does not in itself improve application development, but it shows how the development team works. The shift for the better depends on what the margins are in terms of agile maturity and how executives want to handle the mirror set up.
The introduction of Matrix can serve to revise process setup and team management. There are companies that have agile teams without a unified operation. This results in growing islands in the organization, between which it is difficult to move people around because they are used to different work styles and metrics. So a big added value of implementing Matrix can be the standardization of agile teams, processes and tools across the organization, which is what enables comparability of metrics.
Is it possible to focus on the quality or efficiency of agile development?
By showing hard data, Matrix helps uncover issues and better assess teams and people. Of course, this can’t be done 100%, each person has a different working style and may have different roles within the team. But each metric offers some insight that is good to consider, in the context of other metrics of course. For example, some developers produce a lot of code, but that code is also buggy.
Ness Matrix incorporates machine learning and artificial intelligence to detect anomalies in both performance and quality of work. It is then up to the manager to evaluate everything correctly and, if necessary, take the necessary measures. This is a major shift that helps to manage teams more effectively and detect potential problems before they manifest themselves.
For example, it turns out that the team spends only 60% of its effective time on business value in the form of clearing user stories that describe the functionality that creates value for a prospective user or buyer. Ness experts can tell how the team is performing compared to other teams or companies and what might be causing this. Other metrics may, for example, point to a large error rate in code commits or problems meeting business requirements. The team probably spends a lot of time fixing bugs that have made it into production. The manager can then tell himself to automate or improve testing, reducing the number of bugs and taking the pressure off the team.
Are users worried about their source code and know-how?
Ness Matrix protects its users’ data as much as possible and no one else can get to it. It doesn’t download any source code or Jira ticket names or labels, it only gets individual team IDs, ticket IDs, bug counts and edit counts from the systems. Even this data is not stored long term, except for the resulting metrics. The entire solution is certified for security and GDPR.
Do you have examples of how Matrix is actually helping your customers?
One user saw a 14% increase in the percentage of completed tasks after running Matrix for three months and consulting Ness. Another user had a problem with code quality. Measurement increased the proportion of automated testing from 30% to 80% and, among other things, accelerated delivery to the production environment. Another customer had 20% higher schedules than the teams were realistically able to deliver before deploying Matrix. The solution helped to better predict actual performance.
The article was published on the ITbiz portal.