Τα κριτήρια αποδοχής για τη σύνταξη κριτηρίων αποδοχής

Τα κριτήρια αποδοχής για τη σύνταξη κριτηρίων αποδοχής

Πολλές ομάδες ανάπτυξης είναι πολύ εξοικειωμένες με τις απογοητεύσεις των μη ικανοποιητικών κριτηρίων αποδοχής ή ακόμη και την έλλειψη των ίδιων των κριτηρίων. Ο ορισμός των απαιτήσεων δεν είναι σαν να προετοιμαζόμαστε για μάχη χωρίς σχέδιο δράσης - η ομάδα έχει κάνει περισσότερα βήματα προς την αποτυχία παρά την επιτυχία. Προσφέρω συγκεκριμένες προτάσεις για τη δημιουργία κριτηρίων αποδοχής που μπορούν να βελτιώσουν οποιαδήποτε ευέλικτη διαδικασία.

Αρχικά, ας καθορίσουμε γρήγορα τα κριτήρια αποδοχής.

Τα κριτήρια αποδοχής είναι οι «προϋποθέσεις που πρέπει να πληροί ένα προϊόν λογισμικού για να γίνουν αποδεκτές από έναν χρήστη, πελάτη ή άλλους ενδιαφερόμενους». (Microsoft Press)

Αρκετά εύκολο, σωστά; ΟΧΙ ακριβως. Σε αυτό το σημείο, αναρωτιέμαι αν αυτό σταματάει ο ορισμός των κριτηρίων αποδοχής. Εκτός από τον παραπάνω ορισμό, κάθε ιδιοκτήτης προϊόντος θα πρέπει να έχει έτοιμες απαντήσεις για τις ακόλουθες ερωτήσεις:

Πώς μοιάζουν αυτές οι συνθήκες; Ποιος δημιουργεί αυτές τις προϋποθέσεις; Πόσες προϋποθέσεις πρέπει να υπάρχουν; Πώς μετριούνται τα αποτελέσματα;

Γενικά, τα κριτήρια αποδοχής ξεκινούν από τον κάτοχο του προϊόντος ή τον ενδιαφερόμενο. Γράφονται πριν από οποιαδήποτε ανάπτυξη του χαρακτηριστικού. Ο ρόλος τους είναι να παρέχουν κατευθυντήριες γραμμές για μια επιχειρηματική ή κεντρική άποψη χρήστη.

Ωστόσο, η σύνταξη των κριτηρίων δεν αποτελεί αποκλειστική ευθύνη του ιδιοκτήτη του προϊόντος. Τα κριτήρια αποδοχής πρέπει να αναπτυχθούν ως κοινή προσπάθεια μεταξύ της ομάδας ανάπτυξης και του ιδιοκτήτη του προϊόντος.

Ο συνδυασμός αυτών των κριτηρίων βοηθά την ομάδα ανάπτυξης να κατανοήσει την επιθυμία που εμφανίζεται. Βοηθά επίσης τον ιδιοκτήτη του προϊόντος να εντοπίσει τις ελλείπουσες λεπτομέρειες. Επιπλέον, ο ιδιοκτήτης αποκτά καλύτερη κατανόηση της σκοπιμότητας, της πολυπλοκότητας και του πεδίου εφαρμογής.

Διαμόρφωση κριτηρίων αποδοχής

Τα κριτήρια μπορούν να γραφτούν σε διάφορες μορφές. Οι περισσότερες ομάδες κλίνουν προς δύο συγκεκριμένους τύπους: προσανατολισμένους στους κανόνες ή προσανατολισμένους στο σενάριο .

Οι απαιτήσεις με γνώμονα τον κανόνα είναι απλές. Παραθέτουν παρατηρήσιμα αποτελέσματα. "Εμφάνιση υπολοίπου κατά την επιτυχή πιστοποίηση."

Από την άλλη πλευρά, τα κριτήρια με σενάριο τείνουν να ακολουθούν το πρότυπο «Δεδομένα… Πότε… Τότε…». Αυτό προήλθε από την ανάπτυξη που βασίζεται στη συμπεριφορά (BDD). Αυτή η απαίτηση περιγράφει το αναμενόμενο παρατηρήσιμο αποτέλεσμα. Αυτό συμβαίνει όταν εκτελείται μια συγκεκριμένη ενέργεια δεδομένου κάποιου περιβάλλοντος.

3 χαρακτηριστικά αποτελεσματικών κριτηρίων αποδοχής

1. Δοκιμασμένο με σαφώς καθορισμένα αποτελέσματα επιτυχίας / αποτυχίας

Έχετε δοκιμαστικά κριτήρια. Αυτό επιτρέπει στους ελεγκτές να επιβεβαιώσουν σωστά ότι πληρούνται όλες οι επιθυμητές προϋποθέσεις. Εάν τα κριτήρια δεν ήταν ελεγχόμενα, τότε δεν θα υπήρχε τρόπος επαλήθευσης. Αυτά τα κριτήρια πρέπει είτε να πληρούνται είτε να μην πληρούνται. Ένας προγραμματιστής πρέπει να γνωρίζει το σημείο στο οποίο έχει επιτευχθεί το κριτήριο. Οποιαδήποτε αμφισημία μπορεί να παρατείνει την προσπάθεια για την ιστορία.

Για παράδειγμα, ένα κριτήριο αποδοχής δηλώνει "αύξηση του αριθμού των διαθέσιμων καταχωρήσεων σε ένα αναπτυσσόμενο μενού". Ο προγραμματιστής δεν θα είχε ιδέα πόσες νέες καταχωρήσεις να προσθέσει και μπορεί να πάρει την ελευθερία να αναλάβει έναν αριθμό με βάση την εμπειρία του με το προϊόν. Ομοίως, ένας χειροκίνητος ελεγκτής μπορεί να έχει την ίδια ελευθερία και να λάβει διαφορετικό ορισμό της αύξησης. Αυτό οδηγεί σε σύγχυση που θα επιστρέψει στον κάτοχο του προϊόντος.

2. Χωρίς αμφιβολία και συνοπτική

Αυτό είναι όπου τα κριτήρια αποδοχής γραφής γίνονται μια τέχνη. Τα ακαδημαϊκά δοκίμια τονίζουν τη σημασία της σαφήνειας και της συνοπτικότητας. Ομοίως, η συγγραφή κριτηρίων αποδοχής απαιτεί το ίδιο επίπεδο οργάνωσης και φροντίδας

Παρόμοια με τη συγγραφή ενός λογοτεχνικού έργου, το κοινό πρέπει να λαμβάνεται υπόψη. Όσοι διαβάζουν τα κριτήρια αποδοχής πρέπει να καταλάβουν τι είναι γραμμένο. Διαφορετικά, αυτές οι λέξεις είναι εντελώς άχρηστες. Εάν είναι μακρυά και γεμάτα με ορολογία, τότε τα κύρια σημεία των περιγραφόμενων συνθηκών ενδέχεται να μην συναντηθούν. Πολλοί άνθρωποι μπορούν να αγνοήσουν τις βασικές λεπτομέρειες σε μια θάλασσα λέξεων όταν πιέζονται για χρόνο. Ακόμα και όταν δεν πιέζεται για χρόνο, πολλοί άνθρωποι μπορούν εύκολα να λάμψουν πάνω από μεγάλα blurbs.

Αντί να κατηγορούμε την έλλειψη προσεκτικής ανάγνωσης των άλλων, μπορεί κανείς να παρουσιάσει προληπτικά κριτήρια αποδοχής που είναι ευανάγνωστα, κατευθείαν στο σημείο και χωρίς περιττές λεπτομέρειες.

3. Δημιουργήστε κοινή κατανόηση

Αυτό είναι ίσως το πιο σημαντικό χαρακτηριστικό και αυτό που θεωρείται πιο δεδομένο. Εάν όλα τα μέλη της ομάδας δεν βρίσκονται στην ίδια σελίδα, τότε η διαδικασία και η παραγωγικότητα τίθενται σε κίνδυνο. Η εξέταση της κριτικής αποδοχής από την ομάδα ανάπτυξης προτού προχωρήσουμε στην ιστορία ελαχιστοποιεί τη σύγχυση. Πρέπει να γίνουν διευκρινίσεις σχετικά με τα κριτήρια και τα κριτήρια πρέπει να ενημερώνονται αναλόγως.

Είχα εμπειρίες όπου όλα τα μέλη της ομάδας συμμετείχαν στη συγγραφή κριτηρίων αποδοχής. Άφησε σε όλους να καταλάβουν όλα τα μέρη της ιστορίας. Παρείχε επίσης ευκαιρίες στα μέλη της ομάδας να μιλήσουν με ερωτήσεις και ιδέες. Ωστόσο, μια τέτοια διαδικασία μπορεί να μην είναι πάντα ιδανική, ειδικά για μεγαλύτερες ομάδες.

Ωστόσο, είναι σημαντικό κάθε μέλος να μπορεί να διαβάσει τα κριτήρια αποδοχής. Από εκεί κάθε μέλος πρέπει να κατανοήσει πώς να ολοκληρώσει την ιστορία. Ανεξάρτητα από το αν πρόκειται για ανάπτυξη ή δοκιμή.

Όταν είναι πάρα πολλά είναι ένα ζήτημα

Έχουμε ήδη διερευνήσει τον κίνδυνο ασαφών κριτηρίων αποδοχής. Αυτό έχει ως αποτέλεσμα τον κίνδυνο εισαγωγής ξένων χαρακτηριστικών σε μια ιστορία. Ωστόσο, μπορεί να υπάρχει και η εκπληκτική αντίθετη περίπτωση: τα κριτήρια αποδοχής μπορεί να γίνουν πολύ λεπτομερή.

"Τα Κριτήρια Αποδοχής πρέπει να δηλώνουν πρόθεση και όχι λύση" ( Segue Technologies )

Δώστε ένα σχεδιάγραμμα του «τι» (πρόθεση) αντί του «πώς» (υλοποίηση). Διαφορετικά, η ομάδα ανάπτυξης μπορεί να στερηθεί την ευκαιρία να διερευνήσει διαφορετικούς τρόπους επίλυσης του προβλήματος. Σε αυτές τις γραμμές, οι καλύτερες εφαρμογές μπορούν να εξεταστούν μετά τις αρχικές σκέψεις για μια λύση.

Μόλις γράψετε τα κριτήρια αποδοχής, μπορείτε να αναρωτηθείτε, "Πόσα είναι πάρα πολλά;"

Έχω δει ιστορίες που κυμαίνονται από κριτήρια μηδενικής αποδοχής έως περισσότερες από δεκαπέντε (ή τουλάχιστον ένιωθαν έτσι).

Κατά κανόνα, προσωπικά μου αρέσει να βλέπω τρία έως οκτώ κριτήρια αποδοχής ανά ιστορία. Ωστόσο, προς το άνω άκρο αυτού του ορίου, περίπου πέντε ή περισσότερα κριτήρια αποδοχής, θα ελέγξω τη δυνατότητα διαχείρισης. Θα έλεγξα προσεκτικά για να δω ότι η ιστορία δεν μπορούσε να χωριστεί σε μικρότερες, πιο εύχρηστες ιστορίες.

Άλλοι θα διαφωνούσαν και θα υποστήριζαν ότι οκτώ θα ήταν ήδη πάρα πολλά. Ωστόσο, μου αρέσει να προσφέρω όσο το δυνατόν περισσότερη λεπτομέρεια χωρίς να θυσιάζω τη συνοπτικότητα.

Και τώρα τι?

Εντάξει, είπα ψέματα. Δεν παρείχα πλήρη λίστα κριτηρίων αποδοχής για τη σύνταξη κριτηρίων αποδοχής. Τα επιθυμητά χαρακτηριστικά όπως η συνοπτικότητα, η σαφήνεια και η κατανόηση είναι υποκειμενικά. Σκέφτηκα να είναι.

Πιστεύω ότι δεν υπάρχει «σωστή» μορφή για τη συγγραφή κριτηρίων αποδοχής. Η ορθότητά τους μετράται από την αποτελεσματικότητα στην ομάδα κάποιου.

Συνιστώ ανεπιφύλακτα να χρησιμοποιείτε αρχικά ένα πρότυπο. Έδωσαν σε πολλές ομάδες μια σταθερή και ασφαλή δομή που προάγει τη συγγραφή καλών κριτηρίων αποδοχής. Ωστόσο, μην αφήσετε αυτή τη δομή να σας εμποδίσει να προχωρήσετε σε ιδέες που μπορούν να προωθήσουν την αποδοτικότητα και την αποτελεσματικότητα.

Εάν είστε ιδιοκτήτης προϊόντος ή κριτήρια αποδοχής γραψίματος πελάτη, σας προκαλώ να ζητήσετε από την ομάδα ανάπτυξης για σχόλια σχετικά με τα τρέχοντα κριτήρια αποδοχής. Με λίγη φροντίδα, πρακτική και οργάνωση, η δημιουργία αποτελεσματικών κριτηρίων αποδοχής γίνεται ένα ισχυρό εργαλείο για τη βελτίωση της ροής εργασίας οποιασδήποτε ομάδας.

Περισσότερα για ανάγνωση

  • //rubygarage.org/blog/clear-acceptance-criteria-and-why-its-important - από τη Maryna Z. και την Dmiriy G.
  • //www.leadingagile.com/2014/09/acceptance-criteria/ από τον Steve Povilaitis
  • //www.seguetech.com/what-characteristics-make-good-agile-acceptance-criteria/ από την Segue Technologies
  • //agileforgrowth.com/blog/acceptance-criteria-checklist/ - από τον Kamlesh Ravlani