Making Sprint Planning awesome with Alexa

Sprint planning meetings can sometimes take too long. Engineers often complain about sprint planning meeting being boring and taking forever to end. Scrum masters and agile consultants have offered various techniques and ideas to make sprint planning meetings more engaging.

I have been experimenting writing an Alexa Skill to make sprint planning meetings short and fun. Imagine having you scrum master ask Alexa to make a story on your team’s board by telling Alexa the story details.

I have used Atlassian’s JIRA as the project management tool for sprint planning for my skill. I coded my skill using Java 8 and the JIRA API.

Understanding the JIRA REST API

In order to create a JIRA ticket using the REST API, you need to authenticate first. The three forms of authentications that are supported are: basic authentication, cookie-based authentication and OAuth based authentication. A sample create call is shown below:

POST https://localhost/rest/api/2/issue/

with the following body:

{
"fields":{
"project":{
"key":"SSP"
},
"summary":"Story using the REST API",
"description":"Creating of an issue using project keys and issue type names using the REST API",
"issuetype":{
"name":"Story"
},
"customfield_10105" : 3
}
}

The response that JIRA returns for this API is

{
"id": "10116",
"key": "SSP-44",
"self": "https://localhost/rest/api/2/issue/10116"
}

In order to test this locally, you will have to replace ‘localhost’ with your team’s JIRA url. The ‘key’ field represents the key of you team’s board. The ‘issuetype’ can be story, bug, task etc. The only tricky part is the ‘customfield’.

JIRA API supports various custom fields. Some examples of these custom fields are story-points, priority, assignee, due-date etc. In order to specify the custom field in your API call, you will need to get its corresponding id from your JIRA board.

In order to get the custom field’s id, click the issues tab under ‘JIRA Administration’’ as shown below:

After navigating to the issues page, click the custom fields located on the left hand side panel

You will see various custom fields. For example, if you would like to get the id of the custom field ‘Story Points’, click on the gear icon next to story points and click configure.

When you click configure, you will be able to see the id corresponding to the story point field as shown below:

As you can see above, the id corresponding to the custom field ‘story point’ is 10105. The ids for other custom fields can be obtained similarly.

To include this custom field in your REST API call to create the JIRA ticket, use the field ‘customfield’ followed by an ‘_’ and the id of that field.

E.g. “customfield_10105” will correspond to the custom field story point.

Demo

Now, on to the demo. Watch Alexa create your stories for you:

What next?

As this is just a proof-of-concept that I built, there can be a lot of improvements and additional functionality that can be added to this skill. We can include the ability to let the user assign a story to another. We can also update other metrics such as priority, description etc. We can also add the ability of Alexa telling us how many story points were completed in the current sprint and how much work remains.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.