Predictive Analytics for Risk Management

Run-through

Grant me the serenity to accept the things I cannot change,
courage to change the things I can, and wisdom to know the difference.
The Serenity Prayer

Business Intelligence Managers are intensely involved in identifying and managing risks for their companies and projects. If you’re a BI professional, you know that there are plenty of risks to go around. Investors, CEOs, founders, Project and Engineering Managers have a stake in risk management, too. Actually, everyone does – especially in Agile cross-functional teams. Here, we’re going to look at how Predictive Analytics and AI provide you endless opportunities to flip these risks into rewards.

What is Predictive Risk Analytics?

Predictive Risk Analytics is a system able to sort through data to identify patterns and behaviors likely to lead to negative outcomes if not addressed – and which actions should be taken to manage them. Risk Analytics systems are typically industry-specific and common in healthcare, finance, construction, etc.

Here, we’ll focus on risk management for software development teams and companies. What’s inherent to a company with its own in-house developers is also applicable to a wide range of remote and hybrid models with freelancers, augmented teams, and outsourcing with third-party developers.

What is Risk in Software Development?

Anything that can delay, increase the cost, or reduce the quality of software can count as a risk to successful project delivery. That covers a lot of ground, arguably spanning the entire lifecycle of software development companies, not just the software development lifecycle.

The list of possible software development risks is extensive:

  • Ambiguous project specifications
  • Poor communication
  • A low ratio of senior to junior developers
  • Excessive multitasking
  • Developer turnover and burnout
  • Excessive team size
  • Cliques and knowledge silos
  • Slow/Poor feedback loops
  • Poor allocation of developer skills
  • High code complexity
  • Low test coverage
  • Slow PR code reviews
  • Excessive code churn
  • Poor repository management

All of these present varying degrees of risk that can be identified via performance and behavioral analytics to suggest remedies.

Why is Risk Management Important in Software Development?

For starters, software and IT projects generally are known for having a low success rate for meeting the trio of cost, quality, and schedule expectations.

A 2020 Boston Consulting Group report indicates 70% of digital transformation projects fall short of expectations. The Standish Group’s CHAOS Report has reflected similar rates over the years.

But, any way you cut it, software development depends on software developers. Developer wages are typically the greatest cost associated with software development impacting the budget, the scope of work, deadlines, and arguably the quality of work. It’s also debatable, perhaps, whether to call inefficiency a risk or an inherent fact of life in software development.

As we covered in Behavioral Analytics, the fully-loaded cost of a typical US-based, 7-member Agile team runs about $1 million per year. Globally, that can range from perhaps $300k to $1.5 million. Stripe’s Developer Coefficient asserts that development teams are, on average, only 68.4% efficient.

The cost of inefficiency can easily reach 6-digits in even the smallest of software development teams and agencies. For the largest tech companies, reducing inefficiency can mean billions!

Risk Management PLUS Continuous Improvement

However, we might say that risk management is only half of the equation. While we can only ever improve efficiency to 100%, there is (as yet) no cap as to how much we can improve developer productivity via the combination of Agile methodology, DevOps, DataOps, Automation, and AI systems.

Though dated, even Puppet’s 2016 State of DevOps Report noted that teams practicing Continuous Deployment had lead times 2,555 faster than teams deploying manually. They were able to deploy 200x more frequently, with change failure rates that were 3x lower, among other performance improvements.

Proactive risk management can reduce inefficiency, the chances of negative events happening, and their severity when they do happen – and inherently lead to greater productivity. Less time waiting for pull reviews or fixing bugs can apply to more time adding new functionality. It’s all interconnected.

Forms of Risk Management

There are five main strategies for managing risk. Each provides for a variety of methods for responding to specific risks. Some methods are multi-purpose:

Option Goal Examples of Activities:

Risk Acceptance

No action.

Cost to manage exceeds the potential cost of the risk itself.

Risk Avoidance

Not engaging in activities where the risk could happen.

Unambiguous Project Specifications, Standup Meetings, Team Optimization, keeping up with the National Vulnerability Database

Risk Prevention

Minimize the chances of it happening.

SOPs, Checklists, Test Coverage, Pull Request Reviews, Principle of Least Privilege, Quality Assurance

Risk Mitigation

Reduce its cost and impact if it does happen.

Version Control, Release Stages, Active Alerts, Refactoring, “Insurance”

Risk Transference
Hand it off to a third party.
Outsource with a development agency, Anything as a Service (XaaS) - software, infrastructure, etc.

Identifying risk by manually digging through dozens of metrics is time-consuming and may not always lead to actionable insights. ML and AI systems can sort through tons of data exponentially faster to find patterns, likely root causes, and remedies.

AI-Powered Digital Assistants in Risk Management

AI-Powered Digital Assistants provide two massive advantages when it comes to risk management:

  1. 360° and 24-7-365 awareness of behavioral and performance-related software development risks for every member in each of your teams.
  2. Immediate, data-driven insights into the likely root cause and “Next Best Actions” to manage each risk – and potentially flip the risk into a reward.

Real-Time Alerts

One reason why so many software projects are challenged is that there are just so many things to watch for. The larger your team or company, the more there is to watch, and the greater the impact each risk can have. BI Managers are fortunate to have the additional responsibility of keeping a handle on the cost and performance of their vendors. No stress there, aye?

Software development analytics tracks all coding activity in git repositories by company, project, team, and individual developer, in real-time. You’re able to define when you are alerted across a wide range of metrics and performance drivers (Speed, Quality, Efficiency, and Teamwork). You can base this in relation to company-wide, project, team, or industry-wide benchmarks.

With JIRA integration, you’re also able to track performance relative to cost giving you immediate eyes-on when a project is at risk of going over budget. Obviously, the earlier you can address this the faster you can turn it around. But, you could also examine cost and performance by team to achieve improvements to your budgeting and your ROI.

It’s not just about knowing when something is about to go sideways, it’s also knowing what you can do about it now.

Next Best Actions in Risk Management

We recently covered Next Best Actions in detail, but here’s another example of how we envision it being implemented.

As we’re implementing it in Gitential, Next Best Actions are an inherent part of Real-Time Alerts. This informs you that a problem is emerging, the likely reason/s why, and immediate actions you can take to turn it around.

Additionally though, even if there are no major threats to your project, you’ll be able to ask about where you can make improvements and get the same level of detail. Risk management transitions to continuous improvement.

Risk Management and Cross-Functionality

Everyone has a role to play in risk management. The core goal of a Digital Assistant is being able to provide anyone, even non-technical users with “Insights On-Demand” about how they can best help their teams and team members. It serves as an advisor because there are things that you may know that no AI can or even should know… without getting kinda creepy. AI provides us with an additional layer of feedback – helping us to notice things we could easily miss.

Traditionally, an engineering manager may not realize one of their developers is about to leave until they give notice. Fortunately, over 95% of developers do give notice even though they are not legally required to do so. That 1 in 20 who don’t can cause big headaches. The same could be said for watching for developer burnout, or not realizing how much of an impact multi-tasking is having on a developer’s performance.

The ultimate value of AI in software development is reducing the cycle time for insights on how we can improve our performance at every level throughout our organization. Investors can find ways to help their founders. Founders and CEOs can find ways to help their managers. Managers can help their team leads. Team leads can help developers. This harkens to the entire reason of making the effort for Objectives and Key Results to unify all stakeholders toward common goals – to help 10x everyone’s efforts to 10x their performance.

Article updated: July 27, 2002

Did you like our content?

Spread the word

Subscribe to Our Newsletter

Don't miss our latest updates.
All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.

Did you like our content?

Spread the word

Subscribe to Our Newsletter

Don't miss our latest updates. All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.