From Idea to Estimate: Navigating the Complexity of Project Quotes using ChatGTP

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:

  1. User Registration:

    • The user visits the registration page.
    • The user fills in the required personal information: name, email, and birthdate.
    • The system validates the entered information.
  2. Email Validation:

    • Upon successful registration, the system sends an email to the user's submitted email address.
    • The email contains a validation link or code.
  3. User Receives Email:

    • The user checks their email inbox for the validation message.
  4. User Validates Email:

    • The user clicks on the validation link or follows the provided instructions in the email.
  5. 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.

  6. Payment Process:

    • The system displays a summary of the chosen membership and directs the user to the payment process.
    • The user enters payment details, and the system securely processes the payment.
  7. Welcome Message:

    • Upon successful registration, the user receives a welcome message confirming the membership, providing essential information, and including a link to further complete their profile.
  8. 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:

  • Provide an efficient and user-friendly registration to lower the barrier for new members.
  • Offer flexibility in membership options to cater to various needs.
  • Ensure a secure and reliable payment process to build trust.
  • Personalized profile management functionality for a more tailored fitness experience.

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:

  • The user can successfully submit required personal information.
  • The system validates the entered information accurately.
  • An email is sent to the user's submitted email address upon successful registration.
  • The email contains a valid validation link or code.
  • The user can check their email inbox and find the validation message.
  • The user can click on the validation link or follow the provided instructions in the email.
  • The system processes the validation, and the user's account is successfully activated.
  • Upon visiting the website, the user sees a message confirming the successful activation.

Conclusion

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!