DEV Community

Cover image for Effortless User Story Creation
Bala Madhusoodhanan
Bala Madhusoodhanan

Posted on

Effortless User Story Creation

The ability to create effective user stories is crucial for success in modern software development process. User stories capture the needs, desires, and expectations of users, serving as the foundation for agile development processes. With ChatGPT (an advanced AI language model) now available the idea is to explore how leverage this to craft user stories.

User Story structure that we would leverage with this experiment is as below

As a [Persona], I want to [feature/activity] so that [value/benefit].

Lets now explore how ChatGPT can empower software development teams to effortlessly generate user stories as templates which the product team can enrich to ensure it is not misinterpreted by the software development team

Conceptual Architecture View:
The idea here is to leverage the AI powered ChatGPT to structure draft user stories based on the persona and the feature that needs to be leveraged and some recommendation of acceptance criteria.

Image description

Conceptual Architecture View:
The flow would look something as below.

  1. Initialized 3 variables. Couple of them as String Variable to map the inputs from the excel data and one array variable to map the output.

Image description

2.Have leverage "List rows present in a table" to read the entries in the excel (created as table)

3.Have looped through for every entry in the excel spreadsheet and mapped the User Persona and Feature input to the 2 string variables

4.The below instruction was leveraged to generate user story based on the variable parsed in the above steps.

Try to create a user story with the format:
 "As a [type of user], I want [an action or feature], so that [a benefit or goal]."

Recommend few acceptance criteria 

Do not add any further information 

[Start of topic]
 @{variables('Persona')}and the task or the feature  is @{variables('Feature')}
[End of topic]
Enter fullscreen mode Exit fullscreen mode

5.The output from the step 4 was passed to append the array variable initialised in the first step

Image description

6.Map the output of the AI power ChatGPT text response as Item to create CSV

Image description

The complete flow would look like below

Image description

Data Setup:

Persona Feature
Buyer create a new purchase order
Buyer add items to a purchase order
Buyer Review and submit a purchase order
Customs Broker review import/export documents
Customs Broker track the status of shipments
Customs Broker generate and submit customs declarations electronically

Sample Output:

UserStory - Output
As a buyer, I want to create a new purchase order, so that I can purchase the necessary items for my business.

Acceptance Criteria:
- The purchase order should include the necessary details of the items to be purchased
- The purchase order should be able to be sent to the supplier
- The purchase order should be able to be tracked and monitored for delivery status
As a buyer, I want to add items to a purchase order, so that I can complete my purchase.

Acceptance Criteria:
- The buyer should be able to select items from a list of available items
- The buyer should be able to specify the quantity of each item to be added
- The buyer should be able to view the total cost of the purchase order before submitting it
As a buyer, I want to review and submit a purchase order, so that I can complete my purchase.

Acceptance Criteria:
- The buyer should be able to review the purchase order details.
- The buyer should be able to submit the purchase order.
- The purchase order should be successfully submitted.
As a Customs Broker, I want to review import/export documents, so that I can ensure compliance with customs regulations.

Acceptance Criteria:
1. The documents must be reviewed within a specified timeframe.
2. The documents must be reviewed for accuracy and completeness.
3. The documents must be reviewed for any discrepancies.
4. The documents must be reviewed for any potential risks.
As a Customs Broker, I want to track the status of shipments, so that I can provide accurate updates to my clients.

Acceptance Criteria:
- The tracking system should be able to provide real-time updates on the status of shipments.
- The tracking system should be able to provide detailed information on the location of the shipment.
- The tracking system should be able to provide information on the estimated time of arrival of the shipment.
As a Customs Broker, I want to generate and submit customs declarations electronically, so that I can save time and reduce paperwork.

Acceptance Criteria:
1. The system should be able to generate customs declarations electronically.
2. The system should be able to submit customs declarations electronically.
3. The system should be able to save time and reduce paperwork.

The above automation could help with the basic content but this could be enriched during story refinement sessions. It is conducted to review, clarify, and refine user stories or backlog items before they are brought into a sprint for development. The product owner, development team, and other stakeholders come together to discuss and analyze user stories in detail

By leveraging ChatGPT's insights and recommendations, agile teams can streamline their development process, saving time and effort while maintaining a high level of quality and precision.

Top comments (0)