The goal of any software project is to deliver a quality product that meets the client’s needs on-time and on-budget. Yet, producing quality software is difficult and only becomes harder as the application and the team working on it begin to grow. Codemonkey.ai helps software organizations tackle this problem by leveraging AI and machine learning to identify issues before production and focus testing efforts on the highest risk areas of the codebase.
Two of the biggest issues that software leaders face is cost of change and resource scarcity. Cost of change is the cost associated with fixing an issue over time. The graphs below illustrate how the cost of change grows for both Waterfall and Agile-based processes.
As you can see, the cost of fixing issues grows significantly as the work item moves from planning into dev/test and then into production. Therefore, anything that can be done to find issues earlier in the software development process will provide significant dividends later on. The second major issue facing software leaders is limited resources. Time, budget, and/or people are most always a limiting factor and unfortunately quality assurance is one of the areas that suffers the most when a release is approaching. What is needed is a way to better understand the areas of the codebase with the most quality issues and predict the areas with the highest quality risk. With this knowledge, teams and managers can direct their limited resources optimally.
Codemonkey.ai set out to solve problems such as these by applying AI and machine learning techniques to the domain of complex software systems. Codemonkey.ai analyzes and correlates every source code commit with a corresponding work item (Feature, Bug, Task, etc.) from an issue tracking system. It takes this data as a training set and builds a predictive model for evaluating the risk of new commits going forward. Specifically, it captures over 50 metrics associated with each commit such as:
- Developer experience
- Developer proficiency
- Age of modified code
- Number of prior defects in modified code
- Bursts of activity/churn
Using this model Codemonkey.ai is able to:
- Predict the risk that a check-in will contain a bug with 80%+ confidence
- Identify components and files within the codebase with the most quality issues and risk
- Identify tasks, stories, and features with the most quality issues
- Rank teams and developers based on the quality of the code they produce
- Eventually, quantify the cost and impact of a bug in production (Need to pull in data from operational systems)
Based on this data, software leaders can:
- Prioritize Test Efforts – Focus testing efforts on areas of the codebase with the highest risk of defects.
- Perform Code Reviews – Perform code reviews based on the predicted risk of the commit.
- Improve Team Communication – Communicate with data and facts to drive changes.
- Identify Team Performance – Identify developers that might be stuck or need additional training/guidance.
Codemonkey.ai was built to help software organizations build better software by applying AI and Machine Learning techniques to the Software Development Lifecycle. If you are interested in giving Codemonkey.ai a FREE 14-day trial please click below.