Find my articles here:
Placeholder post title
Placeholder post title
Placeholder post title
Placeholder post title
January 7, 2024
One of the complex issues is estimating functionality. How much does it cost?
This is especially difficult because an initial request for a feature does not reflect all the details that will eventually need to be developed. Before you give a quote, it is important to provide as many details as possible on which you can make an estimate.
The first is to clearly define the use case and then agree on this with the customer or product owner.
Let's take as an example a customer who wants to develop a Saas Platform for fitness memberships. This is ground zero. What is the very first use case?
Let's ask ChatGTP:
What is the first use case for
a Saas Platform to provide fitness memberships?
Output:
Use Case: Member Registration and Profile Management
Description: A new user intends to register for a fitness membership on the SaaS platform. The goal is to provide a smooth and optimized registration experience, as well as the ability for users to manage their profiles.
Steps:
User Registration:
Email Validation:
User Receives Email:
User Validates Email:
Account Activation:
The system processes the validation and activates the user's account.
A message is shown to the user on the website, confirming successful activation.
The user is provided with information on how to proceed with using their activated account.2. Membership Selection:
The user chooses the desired type of membership (e.g., monthly, yearly) and selects any additional options like access to specific facilities or group classes.
Payment Process:
Welcome Message:
Profile Management:
9 - The user has access to their profile, where additional details such as fitness goals, training preferences, and health history can be added. - The profile also allows updating personal settings, notification preferences, and password.
Objectives:
This use case establishes the foundation for the membership process on the SaaS platform, making the initial user interaction smooth and capturing necessary information to personalize the fitness experience. It serves as a solid starting point for further functionalities and interactions on the platform.
So this goes quite quickly! But we are far from there yet. let's take the first point at
“registration The user visits the registration page and fills in the required personal information such as name, email"
To get even more details we can use Gherkin syntax to describe the functionalities in even more detail.
Prompt:
Write a detailed Product Requirements Document which uses Gherkin syntax to feature an user registration and include a definition of done . registering means that an anonymous visitor can fill in there credentials like name and email. Make sure the requirement cover the following cases:
1. The user submits the required personal information: name, email
2. The system validates the entered information
3. Upon successful registration, the system sends an email to the user’s submitted email address.
4. The email contains a validation link or code.
5. The user checks their email inbox for the validation message.
6. The user clicks on the validation link or follows the provided instructions in the email.
7. The system processes the validation and activates the user’s account.
8. A message is shown to the user on the website, confirming successful activation.
Output:
Story 1 : User submits required personal information
Feature: User Registration
Scenario: User submits required personal information
Given the user visits the registration page
When the user fills in the required personal information
| Field | Value |
| Name | John Doe |
| Email | john.doe@example.com |
And the user submits the registration form
Then the system should acknowledge the registration`
Story 2: System validates entered information
Scenario: System validates entered information
Given the user has submitted their personal information
When the system validates the entered information
Then the system should ensure the information is valid
Story 3 System sends email to the user's submitted email address
Scenario: System sends email to user's submitted email address
Given the user has successfully submitted
When the system sends an email to the user's submitted email address
Then the user should receive an email notification
Story 4: Email contains a validation link or code
Scenario: Email contains a validation link or code
Given the user receives the email notification
When the user opens the email
Then the email should contain a validation link or code
Story 5: User checks their email inbox for the validation message
Scenario: User checks their email inbox for the validation message
Given the user has received the email notification
When the user checks their email inbox
Then the user should see the validation message
Story 6: User clicks on the validation link or follows provided instructions
Scenario: User clicks on the validation link or follows provided instructions
Given the user has received the validation message
When the user clicks on the validation link or follows the instructions
Then the system should process the validation
Story 7: System activates the user's account
Scenario: System activates the user's account
Given the user's validation is successful
When the system processes the validation
Then the user's account should be activated
Story 8: Message shown to the user confirming successful activation
Scenario: Message shown to the user confirming successful activation
Given the user's account is activated
When the user visits the website
Then the user should see a message confirming successful activation
Definition of Done:
To achieve a better and more accurate description of functionalities, user stories and Gherkin syntax are very useful tools. This way you get a better idea of what is involved when you start with an idea and you ultimately want to see this reflected in your online platform.
It really saves a lot of time to do this with ChatGTP. However, the quality that ChatGTP generates for you is completely dependent on the experience of the person who writes the prompts and assesses and/or corrects the output of ChatGTP.
Nevertheless, this gives productivity a huge boost!