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:
-
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.
-
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.
-
Gebruiker ontvangt e-mail:
- De gebruiker checkt zijn inbox op het validatiebericht.
-
Gebruiker valideert e-mail:
- De gebruiker klikt op de validatielink of volgt de instructies in de e-mail.
-
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.
-
-
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.
-
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.
-
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
- Een plugin die bijhoudt wat AI echt kost
- Breng je AI-profiel in kaart
- Wat ik nodig had om verder te komen als softwareontwikkelaar in het AI-tijdperk
- De AI Footprintmeter
- Van code naar klantwaarde: mijn CSPO-traject
- Mijn smaak debuggen: WSET Level 2 behaald
- Euphoria Academy naar een hoger niveau: een nieuwe premium look voor een topsalsaschool
- Van idee naar schatting: door de complexiteit van projectoffertes navigeren met ChatGPT
- Next.js, Suspense en Supabase ontketend
- Radix toegevoegd aan mijn techstack