{"id":42444,"date":"2023-04-05T07:05:39","date_gmt":"2023-04-05T11:05:39","guid":{"rendered":"https:\/\/centricconsulting.com\/?p=42444"},"modified":"2023-06-08T15:18:03","modified_gmt":"2023-06-08T19:18:03","slug":"generate-agile-acceptance-criteria-with-chatgpt-to-supercharge-story-creation","status":"publish","type":"post","link":"https:\/\/centricconsulting.com\/blog\/generate-agile-acceptance-criteria-with-chatgpt-to-supercharge-story-creation\/","title":{"rendered":"Generate Agile Acceptance Criteria with ChatGPT to Supercharge Story Creation"},"content":{"rendered":"
Software developers, scrum masters and product owners often look for ways to streamline the agile story creation process. One particular area of frustration is the time-consuming and challenging task of creating acceptance criteria for these stories. Large language model (LLM) artificial intelligence (AI) solutions, like ChatGPT<\/a>, can help. But why are LLMs well-suited to assist with generating agile acceptance criteria?<\/p>\n To answer that question, we first need to understand what agile acceptance criteria is and how it plays into development methodologies.<\/p>\n Agile development methodologies<\/a> have become a mainstay of development in recent years, as they offer a flexible and collaborative approach to software development. One key component of agile development is the creation of user stories: short, simple descriptions of a feature or functionality a user wants. User stories guide the development process and ensure the end product meets the user’s needs. However, with user stories, you also must provide acceptance criteria.<\/strong><\/p>\n Acceptance criteria are a set of specific conditions or requirements that must be met for a user story to be considered complete. They are essential to the agile development process, ensuring the final product meets the user\u2019s needs and expectations.<\/p>\n Agile teams usually create acceptance criteria during the planning stage of an agile development<\/a> project based on the user\u2019s needs and goals. The acceptance criteria define the boundaries of the user story and ensure the team understands expectations.<\/p>\n Typically, teams write acceptance criteria in a clear, concise format designed to validate the completeness of a story. Criteria often include specific requirements for functionality, performance, security, usability and other aspects of the product.<\/strong><\/p>\n For example, if the user story is \u201cAs a user, I want to be able to search for products on the website,\u201d acceptance criteria might include the following:<\/p>\n Note that acceptance criteria are not the same as acceptance tests. Acceptance tests derive from acceptance criteria.<\/strong><\/p>\n Creating acceptance criteria for user stories can be a difficult and time-consuming task for software development teams because they often require a deep understanding of the user\u2019s needs and goals. This is where an LLM, like ChatGPT, can help speed the process and improve overall story quality.<\/p>\n ChatGPT is an artificial intelligence language model developed by OpenAI that uses advanced natural language processing (NLP) techniques to generate human-like responses to text prompts. Data scientists trained it on a massive dataset of text, allowing ChatGPT to learn the nuances and patterns of human language and generate natural-sounding responses.<\/p>\n Among its many applications, ChatGPT can generate acceptance criteria based on the user story and any relevant context or constraints the user provides.<\/strong> Here are some ways that ChatGPT can supercharge your agile story creation:<\/p>\n While ChatGPT as an acceptance criteria generation tool is a powerful instrument for agile story creation<\/a>, it’s important to remember that it is only one tool in your toolkit. You\u2019ll still need to work closely with your team members, stakeholders and end-users to ensure your acceptance criteria align with your overall goals and objectives.<\/p>\n Now that we know how to use an LLM like ChatGPT for agile story creation, let\u2019s see how it can work in practice. We have taken a minimum viable product (MVP) approach at Centric. We created an API and integrated it into Jira stories via an Azure Static Web page. Our API includes Azure\u2019s text-to-speech AI as well. Many prefer hearing text to reading it, so we offer both options.<\/p>\n Our MVP approach does not currently \u201ccopy\u201d the result directly into the story. We\u2019re still working on fine tuning some output before we copy over, so it\u2019s a manual process designed to keep the human in the loop. We don\u2019t mean for our approach to replace team discussions but rather to accelerate the development of baseline acceptance criteria for agile stories and give teams a starting point for discussions. Here\u2019s a high-level example of an agile story:<\/strong><\/p>\n \u201cAs a banking customer, I want to access my savings account to view and make transactions.\u201d We pasted our user story into an integrated ChatGPT window and asked it to generate acceptance criteria, as seen in the image below:<\/p>\nWhy Do You Need Acceptance Criteria in Agile?<\/h2>\n
\n
Using ChatGPT to Create Agile Acceptance Criteria<\/h2>\n
\n
Using ChatGPT as an Agile Acceptance Criteria Tool<\/h2>\n