Van idee naar schatting: door de complexiteit van projectoffertes navigeren met ChatGPT

Artikel

Een van de complexe vraagstukken is het inschatten van functionaliteit. Wat kost het?

Dat is extra lastig, omdat een eerste verzoek voor een feature niet alle details bevat die uiteindelijk ontwikkeld moeten worden. Voordat je een offerte uitbrengt, is het belangrijk om zo veel mogelijk details te verzamelen waarop je een schatting kunt baseren.

Het eerste is de use case helder definiëren en die vervolgens afstemmen met de klant of product owner.

Laten we als voorbeeld een klant nemen die een SaaS-platform voor fitnessabonnementen wil ontwikkelen. Dit is ground zero. Wat is de allereerste use case?

Laten we het ChatGTP vragen:

What is the first use case for 
a Saas Platform to provide fitness memberships?

Output:


Use case: registratie van leden en profielbeheer

Beschrijving: Een nieuwe gebruiker wil zich aanmelden voor een fitnessabonnement op het SaaS-platform. Het doel is een soepele en geoptimaliseerde registratie-ervaring te bieden, plus de mogelijkheid voor gebruikers om hun profiel te beheren.

Stappen:

  1. Registratie van de gebruiker:

    • De gebruiker bezoekt de registratiepagina.
    • De gebruiker vult de vereiste persoonlijke gegevens in: naam, e-mail en geboortedatum.
    • Het systeem valideert de ingevoerde gegevens.
  2. E-mailvalidatie:

    • Na een geslaagde registratie stuurt het systeem een e-mail naar het door de gebruiker opgegeven e-mailadres.
    • De e-mail bevat een validatielink of -code.
  3. Gebruiker ontvangt e-mail:

    • De gebruiker checkt zijn inbox op het validatiebericht.
  4. Gebruiker valideert e-mail:

    • De gebruiker klikt op de validatielink of volgt de instructies in de e-mail.
  5. Activatie van het account:

    • Het systeem verwerkt de validatie en activeert het account van de gebruiker.

    • Op de website ziet de gebruiker een bericht dat de activatie is geslaagd.

    • De gebruiker krijgt informatie over hoe hij verder kan met zijn geactiveerde account.2. Keuze van abonnement:

    • De gebruiker kiest het gewenste type abonnement (bijvoorbeeld maandelijks of jaarlijks) en selecteert eventuele extra opties, zoals toegang tot specifieke faciliteiten of groepslessen.

  6. Betaalproces:

    • Het systeem toont een samenvatting van het gekozen abonnement en leidt de gebruiker naar het betaalproces.
    • De gebruiker vult de betaalgegevens in en het systeem verwerkt de betaling veilig.
  7. Welkomstbericht:

    • Na een geslaagde registratie ontvangt de gebruiker een welkomstbericht met een bevestiging van het abonnement, de belangrijkste informatie en een link om zijn profiel verder aan te vullen.
  8. Profielbeheer:

9 - De gebruiker heeft toegang tot zijn profiel, waar extra gegevens zoals fitnessdoelen, trainingsvoorkeuren en gezondheidsgeschiedenis kunnen worden toegevoegd. - In het profiel kan de gebruiker ook persoonlijke instellingen, notificatievoorkeuren en wachtwoord aanpassen.

Doelen:

  • Een efficiënte en gebruiksvriendelijke registratie bieden om de drempel voor nieuwe leden te verlagen.
  • Flexibiliteit in abonnementsopties bieden, zodat verschillende behoeften worden gedekt.
  • Een veilig en betrouwbaar betaalproces garanderen om vertrouwen op te bouwen.
  • Gepersonaliseerd profielbeheer voor een meer op maat gemaakte fitnesservaring.

Deze use case legt de basis voor het abonnementsproces op het SaaS-platform: de eerste interactie met de gebruiker verloopt soepel en de noodzakelijke informatie wordt vastgelegd om de fitnesservaring te personaliseren. Het is een stevig startpunt voor verdere functionaliteiten en interacties op het platform.


Dat gaat dus vrij snel! Maar we zijn er nog lang niet. Laten we het eerste punt pakken:

“registratie De gebruiker bezoekt de registratiepagina en vult de vereiste persoonlijke gegevens in, zoals naam en e-mail"

Om nog meer details te krijgen, kunnen we Gherkin-syntax gebruiken om de functionaliteiten nog nauwkeuriger te beschrijven.

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 : Gebruiker verstuurt de vereiste persoonlijke gegevens

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: Systeem valideert de ingevoerde gegevens

  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 Systeem stuurt een e-mail naar het opgegeven e-mailadres van de gebruiker

  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: E-mail bevat een validatielink of -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: Gebruiker checkt zijn inbox op het validatiebericht

  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: Gebruiker klikt op de validatielink of volgt de gegeven instructies

  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: Systeem activeert het account van de gebruiker

  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: Gebruiker ziet een bericht dat de activatie is geslaagd

  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:

  • De gebruiker kan de vereiste persoonlijke gegevens succesvol versturen.
  • Het systeem valideert de ingevoerde gegevens correct.
  • Na een geslaagde registratie wordt er een e-mail gestuurd naar het opgegeven e-mailadres.
  • De e-mail bevat een geldige validatielink of -code.
  • De gebruiker kan zijn inbox checken en vindt daar het validatiebericht.
  • De gebruiker kan op de validatielink klikken of de instructies in de e-mail volgen.
  • Het systeem verwerkt de validatie en het account van de gebruiker wordt succesvol geactiveerd.
  • Bij een bezoek aan de website ziet de gebruiker een bericht dat de activatie is geslaagd.

Conclusie

Om functionaliteiten beter en nauwkeuriger te beschrijven, zijn user stories en Gherkin-syntax bijzonder nuttige hulpmiddelen. Zo krijg je een veel scherper beeld van wat er allemaal bij komt kijken als je met een idee begint en dat uiteindelijk terug wilt zien in je online platform.

Dit met ChatGTP doen scheelt echt heel veel tijd. De kwaliteit die ChatGTP voor je genereert, is wel volledig afhankelijk van de ervaring van degene die de prompts schrijft en de output van ChatGTP beoordeelt en/of corrigeert.

Toch geeft dit je productiviteit een enorme boost!

Meer artikelen