X

This site uses cookies and by using the site you are consenting to this. We utilize cookies to optimize our brand’s web presence and website experience. To learn more about cookies, click here to read our privacy statement.

User Story Ideation and Generative AI for Igniting Creativity

Author: Adnan Khan Posted In: Custom Development

Lately, there has been much interest in using AI tools to reduce the total cost of the entire software development lifecycle. There are several AI-powered tools that assist software development teams in all stages of the development and deployment process. But one area that does not get enough attention is, in fact, one of the first steps in software development. This area is the creation of effective user stories. No, we are not talking about a lack of tools that can help plan, manage, and track work, such as JIRA; but rather, a lack of mature tools that can assist in the ideation and creation of user stories using generative AI.

Creating user stories is one of the first steps in an Agile and scrum development processes. Without proper user stories that outline the user’s needs and goals, the software development team will end up creating a product that will not accurately meet users' requirements. What we are interested in is how generative AI can be used to assist in the creation of user stories. Let’s take a brief pause to understand what exactly we mean by generative AI.

What is Generative AI?

Generative AI is a sub-branch of AI that is capable of generating something on its own. The output generated should resemble human-created content. This new data, or content, can take different forms such as images, text, music, etc. Some prime examples of generative AI are ChatGPT and Google Bard. I used Bing AI Chat, which is based on ChatGPT. Here is a generative AI describing itself:

Generative AI - Definition

 

 

 

 

 

 

 

 

Intrigued by this potential of generative AI, I decided to take it for a spin and see how it responds to questions, aka prompts. My goal was to create some user stories and acceptance criteria for those stories based on a specific scenario provided to the AI.

A quick refresher on User Stories

In Scrum, user stories are a commonly used format for capturing requirements. They provide a simple description of a feature or functionality from the perspective of the end user. User stories follow a specific format that includes three elements: persona, action, and goal.

For example: As a customer, I want to receive notifications via text on my mobile phone so that I can stay up-to-date on my delivery status.

User stories are generally gathered at the very start of the project in a form of a workshop. The goal of the workshop is to brainstorm and gather as many user stories as possible from those who need the software product. Depending on the size of the project, this is usually a fairly time-consuming exercise where all the stakeholders are involved.

With these definitions out of the way,  I am hoping to find any AI tools to help improve collaboration and communication between the development team and stakeholders by providing a common language and understanding of user requirements.

GPT 4 Evaluation

The first stop was ChatGPT 4.0. Let’s see what Generative AI such as ChatGPT 4 can do assisting with the user stories. I hope it can at least assist in brainstorming ideas.

I added a prompt in GPT4 to request user stories for a mobile app that can provide reminders to perform stretching exercises and allow users to customize their stretching routine.

Here is the response provided by GPT4:

ChatGPT - User Stories - 1ChatGPT - User Stories - 2

So far so good! Not only did it create several starter stories, but these stories are also relevant to the product idea that I entered. It even led to potentially further break down these stories into more specific tasks, and prioritize them based on my project goals and constraints. That’s exactly what I did, as can be seen in the next prompt:

I requested to break the Routine Management story into smaller stories and GPT4 created eight such stories. Again these stories were contextually accurate.

Chat-GPT - Sub StoriesChat-GPT - Sub Stories 2

I then asked GPT4 to provide some sample personas:

Next, I wanted to see if GPT4 could create acceptance criteria for stories created earlier. I only mentioned the story number and GPT4 correctly identified the story and created acceptance criteria:

US 2.1 - Acceptance Criteria

Then I asked GPT4 to create some Epics and I was not disappointed. Lastly, I added a prompt to create a low-fidelity mock of one of the user stories. I was expecting GPT4 to say flat-out "no" to such an outrageous request, but it was able to create a textual representation of one of the user stories.

Summary

In conclusion, I was impressed with the discovery of GPT4 for a number of reasons. It was easy to use and able to accomplish anything I asked. It also followed best practices of Agile and user story creation, such as being independent, small, and testable. In addition, when I further compared the results with other generative AI tools such as Google Bard, GPT4 produced far superior results.

However, it must be said that while generative AI is an excellent way to initiate some stories, epics, persona, etc., existing procedures such as workshops must still be adhered to in order to obtain a comprehensive understanding. Generative AI serves as a valuable addition to the discussions that should take place with the prospective user community and within the team.