Empowering project estimation with Artificial Intelligence

Published on November 22, 2019
Last modified on March 19, 2024

Estimated reading time: 5 minutes

Artificial Intelligence, or AI, is no longer a science fiction trope of self-aware robots taking over the world. Today, AI (specifically, machine learning) has become integrated into our day to day lives, and we benefit from it in small and big ways—from smart spam filters that help clean up our email inboxes and chatbots that act as customer support on websites, to navigation apps that suggest the best routes when traveling, and healthcare technologies that assist doctors in diagnosis and treatment.

In businesses, AI is used in transforming processes into automated and smarter workflows. In this blog, you can read how we’re utilizing AI and machine learning in our internal process to create better project estimates.

But first, what is Artificial Intelligence?

AI refers to the intelligence of machines that simulates the natural intelligence of humans, including processes like learning, reasoning, and problem solving.

There are three types of AI:

  1. Artificial Narrow Intelligence (ANI) – Also known as weak AI, ANI is the one that exists in our society today. This type of AI focuses on clearly defined and specific tasks like speech recognition, image classification, or determining advertisement popularity.
  2. Artificial General Intelligence (AGI) – This type of AI can be as capable as a human being, not just in the sense that it can do human tasks, but that it can learn, understand, and do anything that humans can—on its own, without specific programming. However, this will likely take a decade or two of research and development to achieve.
  3. Artificial Super Intelligence (ASI) – This type of AI far exceeds the capabilities and intelligence of humans. Fortunately, we are not there yet.

How we use AI in project estimation

Creating project estimates can be tricky, especially since there are many factors that contribute to the total time that it takes to develop and finish a software project. So to help our project managers create more accurate estimates, we’re training an AI/machine learning model—using this model, we learn and are better able to predict the actual hours of work needed in specific tasks.

To do this, we draw historical data from 20 years’ worth of information on time spent on the projects we developed and their respective initial estimates. Then, we use a type of ANI called predictive analytics, which analyzes the data and predicts results based on its pattern.

The tool we use is called TensorFlow, a machine learning library created by Google Brain Team that bundles together different machine learning or deep learning models and algorithms that can be used for recognition, classification, or prediction, among other things. Machine learning is a branch of AI that has the capability to learn and improve on its own—in this case, through recognizing patterns in our historical as well as new data on projects. AI itself is a very broad term that covers the science or study of making computers simulate human intelligence.

Here’s how our project estimation model works:

  1. We first determine what types of data we can use to help with prediction. For example, we have data on the time spent for each task within a project, along with their estimated hours. These alone can already be used to generate a prediction.
  2. Since we have thousands of records of this type, we can then feed the data to a TensorFlow estimator model.
  3. We then specify the column that we want to predict—in this case, the “Worked Hours” column.
  4. The model will split the data that we have into training data and testing data, usually in a 4:1 ratio. Then, we choose the proper learning algorithm to train the model. The training data will be the one analyzed and used by TensorFlow to create the mathematical functions to update the model, while the testing data will be the one used to check if the updated model hits the right numbers in its predictions.
  5. After training is done, the model is ready to make predictions. We do this by providing the model the input for the columns we fed it in the training phase, excluding the column we chose for prediction. In this case, we’ll provide the Estimated Hours.

Prediction in action

We integrated our estimation model with our online project management system, which we use in creating project estimates. When we input figures in the Est Hrs field, you can see the prediction in action where the model returns a suggestion in real time that’s closer to the actual hours spent on similar tasks from our historical data.

This, of course, is just a basic example of how the model works. In reality, we use more than two columns of data to make the prediction more precise and accurate. The suggestion then varies according to the type of project we’re doing, the specific tasks that need to be done, the type of client, project size, and many other variables.

 

Using AI in our project estimation has helped us improve our estimates, but it’s not limited to this task. As long as the data needed for prediction exists or can be practically obtained, AI can be applied in other business processes.

AUTHOR

Peter Skouhus

Peter Skouhus

A Danish entrepreneur who owns 1902 Software Development, an IT company in the Philippines where he has lived since 1998. Peter has extensive experience in the business side of IT development, strategic IT management, and sales.