Analytics Improves Agile Effectiveness at the Enterprise Level
To uncover insights into underlying patterns, organizations need to employ more sophisticated data analytics techniques and tools.
Join the DZone community and get the full member experience.Join For Free
Agile, which started off as a better and more practical method of software development proposed by a group of developers, is now transforming the way in which organizations are run. Agile is now adopted by banks, manufacturers, research & development centers, hospitals, and even airports for execution.
When the scale and reach of Agile increased, newer frameworks such as Scaled Agile Framework (SAFe), Large Scale Scrum, Nexus, and so on gained popularity. Enterprise agility and business agility is radically changing the way in which organizations are structured.
The very premise of Agile is that organizations are complex adaptive systems and not merely a group of departments that can function in a sequential manner. The COVID-19 pandemic accelerated the widespread adoption of Agile when organizations realized that it is a matter of survival and sustenance to innovate newer methods to be flexible and adaptable to the ever-changing needs of the customers. Agile does exactly that!
Uncovering Agile Insights
When Agile is implemented at scale in organizations, there could be variations in the depth and rigor of implementation. Organizations use several modes of assessment to measure the maturity of being agile an indicator of true agility. The factors in these assessments are usually related to systems, practices, tools, people, and culture. Organizations use key performance indicators (KPIs) to measure agile attributes at team, program, and business levels. Many of these measures are kept very simple in construct and design, to ensure that it does not overcomplicate the inherent simplicity of agile. For instance, burn-down charts indicate the progress of work completion.
Velocity is a team measure, which shows the amount of work that the team has done in an iteration. While these are pretty useful to visualize the product increment execution, there could be underlying patterns, trends, and insights in an agile implementation that could be understood to sustain and continually improve agile at a business level. To uncover these insights, organizations need to employ more sophisticated data analytics techniques and tools, as the volume and variety of this data will be quite diverse.
An example could be to understand the quality of user stories. Almost all agile practitioners agree that a user story must be simple and clear. Some use attributes such as Independent, Negotiable, Valuable, Estimable, Small, and Testable (abbreviated as INVEST) to ensure the quality of user stories. With a text analytics tool in natural language processing, we can uncover whether the user stories written by the team are of good quality and whether it follows the INVEST pattern. Likewise, to know whether the product team will be able to release a product increment successfully on time, we could use a predictive analytics algorithm to determine the success rate of releases.
Practical Use Cases
Here are five use cases of applying data science in Agile to visualize and uncover insights.
1. Determining Release Readiness Using Decision Trees Like Random Forest
"Are we ready to release?" is one question that may be crucial for any Agile team to answer. While the frameworks such as Scaled Agile advocate a release on demand approach, it is not always easy to know if the releases done on demand of the customer will meet their expectation. Studies have shown that, while agile projects are three times more likely to succeed than waterfall projects, nearly 47% of agile projects are challenged, and 11% fail on release to customers [Standish Group Chaos Report, 2021].
To overcome this, the readiness of release can be predicted using a combination of factors. The success of release will depend upon factors such as code quality, burn rate of stories, test coverage, defect fix efficiency, and effectively managing product owner goals. These factors can be modeled using the Random Forest algorithm (or any similar Decision Tree technique) by defining thresholds at each level to determine if the team should release or not. The probability of success associated with a release can also be determined using the same method, post which it is up to the business leaders to determine whether to go ahead with the release for a given probability.
2. Estimating Flow Predictability Using Predictive Analytics
Predictability and agility in combination are sought by many organizations to deliver products and services. While agile methods ask for empowered teams to self-organize around value, it is sometimes challenging to predict the outcome the team will deliver in future releases. This is due to the inherent nature of Agile, which places importance on embracing change and complexity rather than unnecessarily (or artificially) sticking to an irrelevant plan.
Business leaders, however, may need to know the product output with a timeline associated with it to plan for cash inflows and market launches, and even to answer shareholders. This predictability of business value can be computed by applying predictive analytic techniques in data science. The features delivered across iterations can be used to model the rate using time-series techniques to predict the next release. Yet another option is to model the factors leading to delivery outcomes. Both these approaches will provide a reasonable view to business owners to take important decisions to estimate delivery outcomes.
3. Analyzing the Quality of User Stories Using Text Analytics
User stories are perhaps one of the most important artifacts in agile implementation. If the quality of user stories is not good, it might have an impact on multiple aspects including design, code, and goodness of test cases. Also, if the user stories are not clear enough, it will confuse the developers, designers, testers, and even customers, and hinder the development team from producing high-quality products and services.
Measuring the quality of user stories is not that easy since it is not quantitative. Here is where advanced analytics techniques like text analytics can be of aid. A natural language processing algorithm can scan through the user stories in the agile tool and identify the clarity, coverage, and consistency of user stories. This will help in better estimation also as poorly written user stories can be rewritten to make them more consistent with an ideal reference.
4. Managing Technical Debt Using Database and Code Analysis
Technical debt, if not managed in a timely manner, is something that will haunt the product team for a long time. Simply put, it is the price that you are willing to pay to meet the urgent demands of the customer. In a study done by McKinsey [Reclaiming Tech Equity, 2020], CIOs reported that around 20% of the budget for new product development is utilized to resolve issues related to technical debt. This translates to millions of dollars for organizations. Accumulating this debt over a long time will certainly have an impact on the stability and maintainability of the product. Analysis of databases and code to decide when to do refactoring can maintain technical debt within acceptable limits.
Testing Employee Engagement and Motivation Using Behavioral Analytics
One of the big reasons for organizations to adopt agile methods is its emphasis on people practices. Agile promises a highly motivated and empowered workforce. This is vital to bring in the needed innovation to products and to retain happy employees in the long run. Employee satisfaction is measured using various metrics such as Indices, Employee Engagement Score, Employee NPS, and so on.
Most of these metrics are lagging indicators, which will indicate the post facto result of employee satisfaction after the measurement period. It would be beneficial for organizations and human resources function if they can know signals of satisfaction or dissatisfaction on an ongoing basis, which can be course-corrected. This is where behavioral analytics tools such as A/B testing can help to determine if employees are excited or not about changes and policies that are introduced in an agile way of working. As per the Drive theory proposed by Daniel Pink, the employee has to be in a state of flow and have intrinsic motivation to deliver the best results. This effect can be studied through analytical methods.
Data science has advanced over the last few years to deal with very sophisticated events, and it now powers many of the artificial intelligence applications that we see around us. However, the application of data science in product development — especially in an agile environment — is still minimal. If organizations can use the power of analytics to reveal hidden insights and patterns of an Agile implementation, it can bring tremendous value to teams, organizations, and ultimately customers.
This is a point-of-view article, and the views and opinions expressed are personal.
Opinions expressed by DZone contributors are their own.