Plugin AI & NLP with your Agile Metrics to get a wealth of information

Rohit Sinha
5 min readMay 11, 2021

The Agile Metrics are important to track the health of your projects. These include product burn-down, burn-up, sprint velocity, etc. They help in tracking the project progress. There are other advanced metrics equally important, like Customer Satisfaction, Employee Satisfaction, and Innovation? Tracking these statistics many times is not easy and straight forward.

Did you ever think of applying AI (Artificial Intelligence) to measure these and come up with an actionable evidence? The AI powered with NLP (Natural language Processing) and statistical models not just help in getting a good project insight, it can also help in course corrections, and increase rate of project success. It can help companies to understand their core strengths, weaknesses and how to position themselves in the market.

In this post, I will focus on Sentiment analysis. It is also known as opinion mining that automatically determines the emotional tone behind customer conversations. It can be a great asset in determining client sentiments. In order to track the satisfaction, we can apply sentiment analysis to our conversations, instant messages, emails, etc. This can be implemented in multiple ways. I am a big believer in cloud and cloud services. I have used AWS Comprehend service. It is a service that uses machine learning to uncover information in unstructured data. We can create Lambda function (in Python) to call this service for detecting sentiments.

I have a background in services industry. Let’s consider following feedback we receive from one of the clients.

“The development process setup and driven by your team was very effective. It fully documents any issues. The team is always on-point on the issues. The time difference worked really well. The development builds are done by the end of your day and before our next morning. Same with the QA team, they start testing at the end of our day and report results before our next day morning. Both QA and development teams take ownership and are self-driven.”

I uploaded the text to AWS S3 bucket, and set it up to trigger the lambda function. Here is a snapshot of execution result in json format:

‘Sentiment’: ‘POSITIVE’,

‘SentimentScore’: {‘Positive’: 0.9353844523429871, ‘Negative’: 0.0020246051717549562, ‘Neutral’: 0.05978658050298691, ‘Mixed’: 0.0028043927159160376}

The result shows sentiment as positive. It also shows the confidence score of Positive, Negative and Neutral sentiments. One can ask if we just look at the text of client’s feedback, it is quite evident that it is a positive feedback. We probably do not need Sentiment analysis. However, consider we are getting a significant revenue from this client. We want to track every feedback and act immediately especially if it goes negative. At a management level, it is hard to track each interaction. We can use NLP at a scale to make sure all your client interactions go through it. Any time score is Neutral or Negative, system should have an ability to notify. We will also be able to see a trend of how the sentiments are changing over a period of time. Here is an example of how we can see a trend of sentiments at a high level.

Client Sentiments

If required we can apply relevant checks related to data security and privacy on the data we process. Our only intent is improve our services and make our clients happy.

Another important operation of Amazon Comprehend is Detect Key Phrases. It gives a list of important phrases in the document. I think it can give a good insight about what phrases clients use to describe our services. It may also help in understanding our strengths and weaknesses from client perspective. When you process the same feedback to detect sentiments, it will extract the important words with the confidence level. Here is how the result looks:

“KeyPhrases”: [
{
“BeginOffset”: 3,
“EndOffset”: 35,
“Score”: 0.7850555777549744,
“Text”: “The development process setup”
},
{
“BeginOffset”: 50,
“EndOffset”: 59,
“Score”: 0.9999996423721313,
“Text”: “your team”
},
{
“BeginOffset”: 111,
“EndOffset”: 119,
“Score”: 0.999971330165863,
“Text”: “The team”
},
{
“BeginOffset”: 154,
“EndOffset”: 173,
“Score”: 0.9999679327011108,
“Text”: “The time difference”
}

The important data for us are Score and Text. Score is the confidence level. Higher the confidence level, the more important Text is. It can help in determining what keywords/Text client uses to describe the service. Here is how we can put it on a chart and understand it more.

Potential Strengths

These key phrases can help to understand where are our strengths. If we do it at a scale, we can see what words resonates with various clients. This can be a great asset for marketing.

Now consider an example of a negative feedback. You can again process client’s negative feedback through Sentiment Analysis and detect the keywords. It can help in identifying potential weaknesses and taking corrective actions. A typical example of key phrases with score (when things are not going well) could be following:

These days there are many companies using services like chat-bot and apply AI/ML to learn more about their customers. If we use these services and track metrics like client satisfaction, employee satisfaction, innovation etc., it can be a great asset to a project and to the company. This cannot just help you improving your project success but with client high satisfaction, you can build highly successful client engagements.

For those who are interested in this topic, I will be speaking more about it in my next couple of conferences. I will post the details on Linked-in, stay tuned!

--

--

Rohit Sinha

A tech-savvy professional, talks about #AI, #insurtech, #health-tech, #innovation and #product-engineering