Πώς να γράψετε ιστορίες χρηστών (με παραδείγματα και κριτήρια αποδοχής)
Μια ιστορία χρήστη είναι σύντομη περιγραφή μιας λειτουργίας από την οπτική του χρήστη: «Ως [τύπος χρήστη], θέλω [στόχος] ώστε [λόγος].» Κάτω από αυτήν γράφετε τα κριτήρια αποδοχής, μερικές συγκεκριμένες συνθήκες που πρέπει να ισχύουν για να θεωρηθεί η ιστορία ολοκληρωμένη. Κρατήστε κάθε ιστορία αρκετά μικρή ώστε να χτιστεί και να ελεγχθεί με μία κίνηση, και γράψτε τα κριτήρια έτσι ώστε οποιοσδήποτε να μπορεί να τα ελέγξει.
Οι ιστορίες χρηστών έγιναν δημοφιλείς σε ομάδες λογισμικού agile, αλλά είναι εξίσου χρήσιμες όταν χτίζετε μόνοι σας με εργαλείο δημιουργίας εφαρμογών με AI. Μια καλή ιστορία είναι ένα καλό prompt.
Η μορφή
Μια ιστορία χρήστη έχει τρία μέρη:
Ως [ποιος], θέλω [τι] ώστε [γιατί].
- Ποιος είναι ένας συγκεκριμένος τύπος χρήστη: ένας επισκέπτης που έρχεται για πρώτη φορά, ένα μέλος που πληρώνει, ένας υπάλληλος υποδοχής κλινικής, ένας διαχειριστής. Όχι «ο χρήστης».
- Τι είναι αυτό που θέλει να κάνει, με δικά του λόγια. Όχι το πώς λειτουργεί η οθόνη.
- Γιατί είναι το αποτέλεσμα που τον νοιάζει. Είναι το μέρος που παραλείπουν οι άνθρωποι, και αυτό που σας εμποδίζει να χτίζετε το λάθος πράγμα.
Παράδειγμα:
Ως μέλος γυμναστηρίου, θέλω να ακυρώνω μια κράτηση μαθήματος από το κινητό μου ώστε κάποιος στη λίστα αναμονής να μπορεί να πάρει τη θέση μου και να μην χρεωθώ τέλος για μη προσέλευση.
Το «γιατί» σας λέει δύο πράγματα που δεν λέει το «τι»: πρέπει να δουλεύει σε κινητό, και εμπλέκονται οι κανόνες της λίστας αναμονής και του τέλους.
Κριτήρια αποδοχής
Μια ιστορία λέει τι θέλετε. Τα κριτήρια αποδοχής λένε πότε είναι ολοκληρωμένη. Πρέπει να είναι αρκετά συγκεκριμένα ώστε δύο άνθρωποι να συμφωνούν αν περνάει το καθένα.
Ένας συνηθισμένος τρόπος να τα γράψετε είναι Δεδομένου / Όταν / Τότε:
- Δεδομένου μιας αρχικής κατάστασης
- Όταν ο χρήστης κάνει κάτι
- Τότε αυτό είναι το αποτέλεσμα
Για την ιστορία κράτησης στο γυμναστήριο:
- Δεδομένου ότι έχω κράτηση περισσότερο από 12 ώρες μπροστά, όταν πατήσω Ακύρωση και επιβεβαιώσω, τότε η κράτηση αφαιρείται και βλέπω «Η κράτηση ακυρώθηκε».
- Δεδομένου ότι ακυρώνω μια κράτηση και το μάθημα έχει λίστα αναμονής, όταν αποθηκευτεί η ακύρωση, τότε το πρώτο άτομο της λίστας αναμονής παίρνει τη θέση και ένα email.
- Δεδομένου μιας κράτησης λιγότερο από 12 ώρες μπροστά, όταν πατήσω Ακύρωση, τότε βλέπω ότι ισχύει τέλος ακύρωσης την τελευταία στιγμή πριν επιβεβαιώσω.
- Δεδομένου ότι βρίσκομαι σε οθόνη πλάτους κινητού, τότε το κουμπί Ακύρωση φαίνεται χωρίς οριζόντια κύλιση.
Μια απλή λίστα ελέγχου λειτουργεί επίσης, αρκεί κάθε στοιχείο να είναι ελέγξιμο. Το «η ακύρωση είναι εύκολη» δεν είναι ελέγξιμο. Το «η ακύρωση θέλει το πολύ δύο πατήματα από τη λίστα κρατήσεων» είναι.
Βήμα βήμα: γράφοντας μια καλή ιστορία
Βήμα 1: Ξεκινήστε από έναν πραγματικό χρήστη και ένα πραγματικό πρόβλημα
Διαλέξτε έναν τύπο χρήστη και κάτι που δυσκολεύεται να κάνει σήμερα. Αν έχετε κάνει συνεντεύξεις με πελάτες, χρησιμοποιήστε τις δικές τους λέξεις. «Πάντα ξεχνάω να ακυρώσω και με χρεώνουν» είναι καλύτερο σημείο εκκίνησης από το «πρόσθεσε λειτουργία ακύρωσης».
Βήμα 2: Γράψτε την ιστορία σε μία γραμμή
Συμπληρώστε το πρότυπο. Αν δεν μπορείτε να γράψετε ένα πειστικό «ώστε», ρωτήστε αν η λειτουργία χρειάζεται καν.
Βήμα 3: Προσθέστε τρία έως έξι κριτήρια αποδοχής
Καλύψτε πρώτα την κύρια επιτυχημένη περίπτωση και μετά τις σημαντικές παραλλαγές: διαφορετικός ρόλος, κενή κατάσταση, όριο, σφάλμα. Αν γράφετε περισσότερα από έξι, η ιστορία μάλλον είναι πολύ μεγάλη.
Βήμα 4: Σημειώστε τι είναι εκτός πεδίου
Μία γραμμή σας γλιτώνει πολλές μετακινήσεις: «Εκτός πεδίου: επιστροφές για επί πληρωμή μαθήματα· ακυρώσεις από διαχειριστές για λογαριασμό μελών.» Εμποδίζει την ιστορία να μεγαλώνει ενώ την χτίζετε.
Βήμα 5: Ελέγξτε την με το INVEST
Το INVEST είναι συνηθισμένη λίστα ελέγχου για καλές ιστορίες. Μια ιστορία πρέπει να είναι:
| Γράμμα | Σημαίνει | Γρήγορος έλεγχος |
|---|---|---|
| I | Ανεξάρτητη | Μπορεί να χτιστεί χωρίς να περιμένει άλλη ιστορία |
| N | Διαπραγματεύσιμη | Περιγράφει την ανάγκη, όχι μια σταθερή σχεδίαση |
| V | Αξιόλογη | Ένας χρήστης θα το πρόσεχε αν κυκλοφορούσε |
| E | Εκτιμήσιμη | Μπορείτε να μαντέψετε περίπου πόσο μεγάλη είναι |
| S | Μικρή | Χτίζεται και δοκιμάζεται σε μία συνεδρία |
| T | Ελέγξιμη | Κάθε κριτήριο αποδοχής μπορεί να ελεγχθεί |
Δεν χρειάζεται να βαθμολογήσετε κάθε ιστορία. Είναι πιο χρήσιμο όταν μια ιστορία φαίνεται λάθος και θέλετε να μάθετε γιατί.
Καλά και κακά παραδείγματα
| Αδύναμη ιστορία | Πρόβλημα | Καλύτερη ιστορία |
|---|---|---|
| Ως χρήστης, θέλω ένα dashboard. | Κανένας συγκεκριμένος χρήστης, κανένας λόγος, μη ελέγξιμη | Ως ιδιοκτήτης καταστήματος, θέλω να βλέπω τις σημερινές παραγγελίες και τα έσοδα σε μία οθόνη ώστε να βλέπω με μια ματιά αν η μέρα πάει καλά. |
| Ως διαχειριστής, θέλω η βάση δεδομένων να έχει στήλη κατάστασης. | Περιγράφει υλοποίηση, όχι ανάγκη | Ως διαχειριστής, θέλω να σημειώνω παραγγελίες ως απεσταλμένες ώστε οι πελάτες να σταματήσουν να μου στέλνουν email για να ρωτήσουν πού είναι. |
| Ως πελάτης, θέλω να διαχειρίζομαι τον λογαριασμό μου. | Πολύ μεγάλη: καλύπτει πολλές λειτουργίες | Ως πελάτης, θέλω να αλλάξω τη διεύθυνση email μου ώστε οι αποδείξεις να πηγαίνουν στο νέο μου inbox. |
| Ως επισκέπτης, θέλω ο ιστότοπος να είναι γρήγορος. | Δεν είναι ιστορία· είναι ποιότητα που χρειάζονται όλοι | Γράψτε το ως κριτήριο σε κάθε ιστορία, ή ως ξεχωριστό στόχο απόδοσης. |
Πώς να χωρίσετε μια ιστορία που είναι πολύ μεγάλη
Οι μεγάλες ιστορίες είναι εκεί όπου τα έργα κολλάνε. Συνηθισμένοι τρόποι διάσπασης:
- Ανά ρόλο χρήστη. Τα μέλη ακυρώνουν τις δικές τους κρατήσεις· το προσωπικό ακυρώνει οποιαδήποτε.
- Ανά βήμα της ροής. Περιήγηση σε μαθήματα· κράτηση μαθήματος· λήψη υπενθύμισης.
- Πρώτα η απλή περίπτωση. Ακύρωση δωρεάν μαθήματος τώρα· τέλη και επιστροφές σε επόμενη ιστορία.
- Ανά παραλλαγή δεδομένων. Υποστήριξη μίας τοποθεσίας πρώτα, περισσότερων αργότερα.
- Η περίπτωση που πάει καλά πρώτα, μετά τα σφάλματα. Χτίστε το να δουλεύει, και μετά προσθέστε τον χειρισμό για γεμάτα μαθήματα, ληγμένα πακέτα και ούτω καθεξής.
Κάθε κομμάτι πρέπει ακόμα να είναι κάτι που ένας χρήστης μπορεί να χρησιμοποιήσει και να προσέξει.
Χρήση ιστοριών χρηστών ως prompts
Μια ιστορία χρήστη με κριτήρια αποδοχής είναι πολύ κοντά σε καλό prompt για εργαλείο δημιουργίας εφαρμογών με AI. Του δίνει το ποιος, το τι, το γιατί και έναν ορισμό του «ολοκληρώθηκε». Στείλτε μία ιστορία ανά μήνυμα:
Ως μέλος γυμναστηρίου, θέλω να ακυρώνω μια κράτηση μαθήματος από το κινητό μου ώστε κάποιος στη λίστα αναμονής να μπορεί να πάρει τη θέση μου. Κριτήρια αποδοχής:
- Η Ακύρωση υπάρχει σε κάθε κράτηση στις Κρατήσεις μου, με βήμα επιβεβαίωσης.
- Ακύρωση περισσότερο από 12 ώρες πριν από το μάθημα απλώς αφαιρεί την κράτηση.
- Λιγότερο από 12 ώρες πριν, δείξε «Ισχύει τέλος ακύρωσης 5 USD» πριν την επιβεβαίωση, και καταγράψ' το τέλος στην κράτηση.
- Αν το μάθημα έχει λίστα αναμονής, το πρώτο άτομο παίρνει τη θέση και ένα email.
- Λειτουργεί σε οθόνη πλάτους κινητού. Εκτός πεδίου: επιστροφές, ακυρώσεις από το προσωπικό για λογαριασμό μελών. Χτίστε αυτό, και μετά ελέγξτε κάθε κριτήριο στην προεπισκόπηση και πείτε μου ποια περνούν.
Μπορείτε επίσης να ζητήσετε από το AI να προτείνει ιστορίες από μια αδρή ιδέα, και μετά να τις επεξεργαστείτε εσείς:
Ιδού η ιδέα μου για εφαρμογή: [δύο ή τρεις προτάσεις]. Γράψε τις ιστορίες χρηστών για μια πρώτη έκδοση, ομαδοποιημένες ανά τύπο χρήστη, με 3 έως 5 κριτήρια αποδοχής Δεδομένου / Όταν / Τότε η καθεμία. Σημείωσε ποιες είναι απαραίτητες για την κυκλοφορία και ποιες μπορούν να περιμένουν.
Πάντα διαβάζετε και επεξεργάζεστε το αποτέλεσμα. Το AI δεν γνωρίζει τους χρήστες σας· εσείς τους γνωρίζετε.
Τα κριτήρια αποδοχής λειτουργούν και ως σχέδιο δοκιμών σας. Όταν χτιστεί η ιστορία, περάστε εσείς από κάθε κριτήριο. Ο οδηγός μας για δοκιμή της εφαρμογής σας πριν την κυκλοφορία βασίζεται πάνω σε αυτό.
Πού ταιριάζουν οι ιστορίες χρηστών με άλλα έγγραφα
- Ένα έγγραφο απαιτήσεων προϊόντος περιγράφει ολόκληρο το προϊόν: το πρόβλημα, τους χρήστες, το πεδίο. Οι ιστορίες χρηστών είναι τα λεπτομερή κομμάτια μέσα του. Δείτε πώς να γράψετε ένα PRD με AI.
- Μια αναφορά σφάλματος περιγράφει κάτι που είναι χαλασμένο σε σχέση με μια ιστορία που έχει ήδη χτιστεί. Δείτε πώς να γράψετε καλή αναφορά σφάλματος.
- Ένα MVP είναι το μικρότερο σύνολο ιστοριών που παραδίδει την κύρια αξία. Δείτε τι είναι ένα MVP.
Συχνά λάθη
- «Ως χρήστης…» Πολύ αόριστο. Ονομάστε τον πραγματικό τύπο χρήστη.
- Να παραλείπετε το «ώστε». Χωρίς τον λόγο, δεν μπορείτε να κάνετε λογικές αντισταθμίσεις.
- Να γράφετε τη λύση αντί για την ανάγκη. Το «θέλω ένα dropdown» κλειδώνει μια σχεδίαση πριν σκεφτεί κανείς τι χρειάζεται.
- Κριτήρια που δεν μπορούν να δοκιμαστούν. Το «εύκολο», το «γρήγορο» και το «διαισθητικό» είναι ευχές, όχι κριτήρια.
- Ιστορίες που είναι στην πραγματικότητα επικές. Το «διαχειρίζομαι τον λογαριασμό μου» είναι δέκα ιστορίες.
- Να γράφετε όλες τις ιστορίες από την αρχή. Γράψτε τις επόμενες λίγες αναλυτικά· κρατήστε τις υπόλοιπες ως μία γραμμή μέχρι να φτάσετε σε αυτές.
Ιστορίες στο Mythex
Στο Mythex, η λειτουργία Plan είναι καλό μέρος για να μετατρέψετε μια ιδέα σε ιστορίες: ο πράκτορας συζητά την προσέγγιση πριν αλλάξει οτιδήποτε. Όταν μια ιστορία είναι έτοιμη, περάστε σε Build και επικολλήστε την, μία ιστορία ανά μήνυμα. Μετά από κάθε μία, το /test μπορεί να περάσει από την προεπισκόπηση και να ελέγξει τη ροή, και μπορείτε να επιστρέψετε οποιαδήποτε απάντηση με Revert to this point αν πήγε στραβά. Δείτε τα αποτελεσματικά prompts στην τεκμηρίωση, και τον οδηγό μας για πώς να γράψετε prompts για εργαλεία δημιουργίας εφαρμογών με AI.
Λίστα ελέγχου ιστορίας χρήστη
- Ονομάζει έναν συγκεκριμένο τύπο χρήστη
- Περιγράφει ανάγκη, όχι σχεδίαση
- Περιλαμβάνει ένα πραγματικό «ώστε» λόγο
- Έχει τρία έως έξι ελέγξιμα κριτήρια αποδοχής
- Καλύπτει τουλάχιστον μία ακραία περίπτωση ή σφάλμα
- Δηλώνει τι είναι εκτός πεδίου
- Αρκετά μικρή ώστε να χτιστεί και να δοκιμαστεί σε μία συνεδρία
- Τα κριτήρια ελέγχονται μετά το χτίσιμο, ένα ένα
Ερωτήσεις
Ποια είναι η μορφή μιας ιστορίας χρήστη;
Το συνηθισμένο πρότυπο είναι: Ως [τύπος χρήστη], θέλω [κάποιος στόχος] ώστε [κάποιος λόγος]. Ακολουθούν τα κριτήρια αποδοχής, μια σύντομη λίστα συνθηκών που πρέπει να ισχύουν για να θεωρηθεί η ιστορία ολοκληρωμένη.
Τι είναι τα κριτήρια αποδοχής;
Τα κριτήρια αποδοχής είναι συγκεκριμένες, ελέγξιμες συνθήκες που ορίζουν πότε μια ιστορία χρήστη είναι ολοκληρωμένη. Γράφονται συχνά ως Δεδομένου / Όταν / Τότε: δεδομένης μιας αρχικής κατάστασης, όταν ο χρήστης κάνει κάτι, τότε συμβαίνει ένα συγκεκριμένο αποτέλεσμα.
Πόσο μεγάλη πρέπει να είναι μια ιστορία χρήστη;
Αρκετά μικρή ώστε να χτιστεί και να δοκιμαστεί σε μία συνεδρία, και να έχει αξία από μόνη της. Αν μια ιστορία έχει περισσότερα από πέντε ή έξι κριτήρια αποδοχής ή καλύπτει πολλές οθόνες, χωρίστε την ανά ρόλο χρήστη, ανά βήμα της ροής, ή πρώτα στην απλή περίπτωση και αργότερα στις ακραίες.
Είναι χρήσιμες οι ιστορίες χρηστών όταν χτίζω με AI;
Ναι. Μια ιστορία χρήστη με κριτήρια αποδοχής είναι σχεδόν ιδανικό prompt: λέει για ποιον είναι η λειτουργία, τι χρειάζεται και ακριβώς πώς να ελεγχθεί ότι λειτουργεί. Μία ιστορία ανά μήνυμα κρατά και τις αλλαγές του AI μικρές και εύκολες στη δοκιμή.