Application need to be hosted as a web service and can have its own database to operate upon.
Application will expose the API to be called.
There are three aspects -
When we look for duplicate issues - that happens within the sprint
When we look for repetitive issues that happens within the team but the search will in all past retrospectives that has happened for the team.
Is the suggestion - which is based on similar issues within different teams across the organizations
The data is collected through Retrospective that happens after every sprint. Every team member will join the meeting and enter one or more “What went well” and “things to improve”.
Once the team has entered the data team reviews each item. For every things to improve team come upon a remediation which may or may not have an action item.
The application is divided into three phases:
Sentiment analysis: Algorithm should be able to predict the sentiment associated with the text. It should give an output predicting the sentiment score.
Semantic Search : The application should be able to take an input and search against the database or given sample texts to determine the similarity search between them.
This search will happen only within the same team not across different teams. The search will look into all the previous retrospective for the team and look for a match. It can find more than one match in that case it need to send all the possible texts that match this scenario.
since team will have 4-8 members during retrospective they may enter the same “things to improve “ - we need to club them together as one group because they are duplicates.
the second scenario is where team may be relegating a “things to improve” and falling in a pattern . For example on sprint 1 - one of the team members entered in “things to improve” that team meetings are throughout the day and they don’t get enough time to work on their stuff
Now team decided that alright we will schedule all meetings between 9-12 in the morning
After 2 months, Another team member within the same team reports that “meetings are through the day”. Now this is a pattern and team is repeating the same mistakes or something they agreed to improve upon. We flag those issues. This determination only happens within one team.
Deep Learning - This module should learn the patterns and trends. Based on an input text it should output the closest suggestion based on the context. This can span across multiple teams within an organization.
For example -
Within Salesforce there are 100’s of team. If Team A has put this on “Things to Improve” - F test are failing locally”
Things to Improve - F- test are failing regularly.
Remediation - Find all flappy test and prepare the document.
Action Item : Mark will prepare the document for flappy test
Due date: 2 weeks from now
And later Team B provides Functional test are failing regularly in their retrospective then the model should find them similar issue and suggest the action item associated with the issue.
In the above example - f test, f-test and functional test all mean the same thing. Teams within the organization can use jargons which could be specific to them. In those cases, the model should maintain a dictionary for each organization and check for similarity.
Scenario is organizational wide- we see which other team has seen a similar issue and what solution they used to improve. This is called suggestions And can come from different teams within the same organization. The algorithm should also be able to learn.
The searches may happen at real time so performance is critical.