What it does

Guestimate allows the Business requester to specify minimal information (Project,Impacted Areas, Initiative Type) and then calls a Predictive Analystics Service that provides an estimate of Effort and Schedule of Delivery. Guestimate also provides Email Alerts to different Groups of managers when the effort exceeds certain thresh holds.

The ability to provide instant estimates based on predictive-regression analytics greatly simplifies our SDLC process.By automating the entire "Profiling" phase of our SDLC we can save more than 30% of the work required to deliver an initiative. The cost savings are obvious.

This will also "WOW" our customers - Today they open a CI in Jira and wait twiddling their thumbs for an analyst to pick up the CI and provide a ROM just for them to decide if they should proceed or not. It usually takes more than a month (On an average) for a Business requester to get ROM's for their CI's

How it Does - Technology

We got an extract of all projects from Jira - Cleansed the data and uploaded the dataset to Azure ML. We created machine learning experiments and exposed Azure ML web services that take the specified minimal Information(Project,Impacted Areas, Initiative Type) and returns a Predicted Effort/Release date.

We developed a Web API that orchestrates the calls to Azure ML and returns a simplified result Set.

We developed a Cignium LM app that collects the information (Forms, Rules), calls the Web api(HTTP Connector) and gets a result that is de-serialized (C# Rules). The returned information is normalized (C# rule) and then presented to the User.

The app also uses table rules that allows the flexibility to configure thresholds ,email recipients, reasons etc and uses SMTP conenctors to send out escalation emails.

The LOE is saved using a model

Background and Idea

It all started when Zubin asked me to build a "ROM Tool" three back for DIRECTV. As an on-site liaison for DIRECTV responsible for evaluating Ideas and providing Rough Order Of Magnitudes (ROM's) , I had gradually gotten better at estimation and Zubin wanted to see if we could develop a tool to estimate.

As is my nature - I wanted a complex problem to solve - and I did not want to do it in Excel. I wanted to replicate the way I "Think" and automate the way I estimate. I read up on Inference Engine and Bayesian algorithms and wanted to write a tool that would basically look at historical patterns and infer hidden relationships and be able to predict the estimate. I tried a few tools like Hadoop,Microsoft AI etc but the celestial stars did not align and the idea remained dormant.

Fast forward three years and we have more than 180 Client Initiates in our Jira Backlog that cannot be scheduled because we do not have ROM's. In order to get ROM's, analysts need to talk to requestors, Write Initial analysis and get estimates from developers, QA and RM's. The average time required to get a CI "ready for scheduling" is a little over a month. This not only causes a lot of frustration for our Business requests but also throttles the flow of work to downstream teams like RM's, DEv's and QA's. My repeated attempts to clear this backlog has not been successful and I had to look for other ways to solve this problem - and then reverted to our old dormant idea of "ROM Tool".

Zubin called out that it would be cool to estimate the " Time of Delivery" in addition to Estimated Effort - Basically these were 2 Things that the Business requestor really wanted to know - and also explained a simple way to predict estimated time of delivery - based on "requested date" and "Release date".

Challenges I ran into

I ran into some challenges using LM's HTTP connector. This was my first app using LM platform and so I spent a couple of days before the hackathon to familiarize myself with the functionality of LM and how it can support what I needed to do and this helped me not to get stuck in a major way.

Accomplishments that I'm proud of

I am really proud that I developed a completely functional app that solves a real business problem and has the potential greatly simply our SDLC process by automating 30% of our SDLC.

What I learned

  1. There is no substitute to "Planning" and "Preparation"
  2. Hackathon is a great learning tool for teams!

What's next for Guestmate

I hope to productionalize this App and develop integration with Jira so that CI's are automatically logged. I also want to work with Zubin to increase the accuracy of predictions using data scuence.

Built With

  • asp.net-web-api
  • azure
  • cignium-lm
Share this project:

Updates