Πολλές μεθοδολογίες χρησιμοποιούνται στην ανάπτυξη λογισμικού σήμερα. Μπορεί να έχετε ακούσει λέξεις-κλειδιά όπως Waterfall, Agile, Scrum, Kanban, Lean, Extreme Programming κ.λπ.
Σε αυτό το άρθρο, θα καθορίσω αυτούς τους όρους, θα συζητήσω πώς σχετίζονται μεταξύ τους και πώς διαφέρουν μεταξύ τους. Πολλές από τις προαναφερθείσες λέξεις-κλειδιά βασίζονται σε έννοιες από Lean Manufacturing που βασίστηκε αρχικά στο Σύστημα κατασκευής Toyota (TPS) οπότε θα το συζητήσουμε πρώτα.
Ο όρος «Lean» έχει την προέλευσή του στην κατασκευή όπου επινοήθηκε για να περιγράψει ένα μοντέλο κατασκευής που βασίζεται στο Toyota Production System (TPS) που αναπτύχθηκε αρχικά από τους Sakichi Toyoda, Kiichiro Toyoda και Taiichi Ohno, οι οποίοι αρχικά εμπνεύστηκαν από τον Henry Ford. Η TPS επικεντρώθηκε στη φιλοσοφία της «πλήρους εξάλειψης όλων των αποβλήτων» και έκανε επανάσταση στην κατασκευή τη δεκαετία του 1950 έως τη δεκαετία του 1970. Η TPS έγινε γνωστή ως 'Lean Manufacturing' το 1990 όταν «Η μηχανή που άλλαξε τον κόσμο» είχε εκδοθεί.
Η TPS εντόπισε τρεις μεγάλους τύπους αποβλήτων στην Toyota:
Υπερβολική επεξεργασία: από κακή σχεδίαση ή σχεδιασμό προϊόντων
Η TPS εργάστηκε για την εξάλειψη των αποβλήτων εφαρμόζοντας αυτές τις δύο βασικές έννοιες:
Καθώς εξελίχθηκε το TPS, αυτοί οι πυρήνες και οι αξίες βασίστηκαν στις έννοιες του Τζιντόκα και ΚΙΤ και εδραιώθηκε:
Το παρακάτω διάγραμμα δείχνει πώς οι βασικές έννοιες και οι βασικές τιμές σχετίζονται μεταξύ τους.
Το Toyota Product System και η Lean Manufacturing εξελίχθηκαν με την πάροδο του χρόνου και εφαρμόστηκαν σε διάφορους τομείς, συμπεριλαμβανομένης της διαχείρισης.
Lean Management εφάρμοσε τις βασικές αξίες της συνεχούς βελτίωσης και του σεβασμού για τους ανθρώπους και την αποστάζει σε ένα σύνολο πέντε προδιαγραφών Lean αρχών που θα επαναλαμβανόταν πολλές φορές για τη συνεχή βελτίωση και εξάλειψη των αποβλήτων:
Αυτές οι αρχές και άλλες πτυχές της διαχείρισης Lean επισημοποιήθηκαν όταν η Womack & Jones δημοσίευσε το 'Lean Thinking' το 1996.
Το Lean έχει έκτοτε εφαρμοστεί στη διαχείριση, στην ανάπτυξη λογισμικού και σε άλλους τομείς.
Στη δεκαετία του 1980 και του 1990, η βιομηχανία ανάπτυξης λογισμικού πλησίαζε μια κρίση καθώς τα έργα που εκτελέστηκαν χρησιμοποιώντας παραδοσιακές μεθοδολογίες καταρράκτη χρειάζονταν όλο και περισσότερο. Αυτό συχνά είχε ως αποτέλεσμα μια τεράστια καθυστέρηση μεταξύ μιας επιχείρησης που πρέπει να εντοπιστεί και μιας λύσης λογισμικού που παρέχεται. Μερικές φορές αυτή η καθυστέρηση μετρήθηκε σε πολλά χρόνια ή ακόμα και σε δεκαετίες σε ορισμένες βιομηχανίες με ειδικές απαιτήσεις, όπως η αεροδιαστημική βιομηχανία.
Κατά τη διάρκεια αυτών των χρονικών πλαισίων, οι απαιτήσεις, τα συστήματα ή ακόμη και ολόκληρες επιχειρήσεις άλλαξαν. Συχνά, τα έργα θα ακυρώνονταν εν μέρει ή θα ολοκλήρωναν το πεδίο εφαρμογής τους, μόνο για να ανακαλύψουν ότι αυτό που παρέδωσαν δεν ανταποκρίνεται πλέον στις επιχειρηματικές ανάγκες όπως προσδιορίζονται στην αρχή του έργου.
ο Μεθοδολογία καταρράκτη επιβράβευσε τους ενδιαφερόμενους για να σκεφτούν τα πάντα καθώς αναγκάστηκαν να συντάξουν ένα συμβόλαιο, παρόλο που πιθανώς δεν ήταν σίγουροι για το τι χρειάζονταν. Η μεθοδολογία Waterfall ανάγκασε να ληφθούν αποφάσεις κατά τη διάρκεια των απαιτήσεων ή της φάσης σχεδιασμού, και αυτές οι αποφάσεις ήταν πολύ δύσκολο να αλλάξουν χωρίς να αλλάξει το συμβόλαιο και να προστεθεί κόστος στο έργο. Ένα υψηλό ποσοστό έργων λογισμικού απέτυχε εντελώς, ή παραδόθηκε με καθυστέρηση και υπερβολικό προϋπολογισμό ή απέτυχε να παραδώσει ό, τι χρειαζόταν.
Αυτή η γενική απογοήτευση οδήγησε σε διάφορους ηγέτες σκέψης που προσπαθούν να βελτιωθούν στο Waterfall. Τα πρώτα παραδείγματα περιλαμβάνουν Ταχεία ανάπτυξη εφαρμογών (RAD) η οποία επικεντρώθηκε στη μείωση των αποβλήτων με συντόμευση των απαιτήσεων και των φάσεων σχεδιασμού μέσω της ταχείας ανάπτυξης ενός πρωτοτύπου και της συνεργασίας με τις επιχειρήσεις για την περαιτέρω ανάπτυξη της απαίτησης. Υπήρξε επίσης μια κίνηση προς την επαναληπτική ανάπτυξη όπου ένα μικρό έργο ολοκληρώθηκε και προστέθηκαν χαρακτηριστικά σε συνεχείς επαναλήψεις. Ενώ αυτές οι μεθοδολογίες βοήθησαν, δεν έλυσαν το βασικά προβλήματα που σχετίζονται με τον καταρράκτη .
Στη δεκαετία του 1990 και στις αρχές της δεκαετίας του 2000, αρκετοί συγγραφείς δημοσίευσαν βιβλία σχετικά με την εφαρμογή των αρχών Lean στην ανάπτυξη λογισμικού. Δημοσίευσε ο Δρ Robert Charette 'Lean Software Development' το 1993 και «12 Αρχές Ανάπτυξης Λογισμικού Lean» το 2003.
Δημοσίευσε ο Tom και η Mary Poppendieck 'Lean Software Development: A Agile Toolkit' το 2003. Αυτό το βιβλίο απαρίθμησε επτά αρχές της Lean Development, η οποία σχετίζεται άμεσα με τις επτά μορφές αποβλήτων της Lean Manufacturing. Οι ομοιότητες και οι διαφορές μεταξύ των δύο διαφορετικών Lean δημοσιεύσεων και Agile (συζητούνται στην επόμενη ενότητα) παρουσιάζονται στο παρακάτω διάγραμμα.
Σύμφωνα με τον Δρ Charette, μία από τις βασικές διαφορές μεταξύ Lean και Agile είναι ότι ο Agile είναι από κάτω προς τα πάνω, ενώ ο Lean είναι από πάνω προς τα κάτω.
ΣτόχοιΑνάπτυξη λογισμικού Lean της Charette | Το ευκίνητο μανιφέστο | Το Lean του Poppendieck |
---|---|---|
|
|
Lean Software Ανάπτυξη της Charette | Το ευκίνητο μανιφέστο | Το Lean του Poppendieck |
---|---|---|
|
|
|
Περίπου την ίδια στιγμή που η Charette και οι Poppendiecks δημοσίευσαν τα βιβλία τους, το Agile Framework δημιουργήθηκε για να βοηθήσει στην επίλυση των ίδιων προβλημάτων. Τον Φεβρουάριο του 2001, μια ομάδα πρωτοπόρων του Agile συναντήθηκε στη διάσημη συνάντηση Snowbird στο Snowbird της Γιούτα για να προσπαθήσει να βρει μια λύση.
Το αποτέλεσμα ήταν το Ευκίνητο μανιφέστο η οποία καθόρισε ένα σύνολο αξιών και αρχών για μια μεθοδολογία που επιχειρεί να προσαρμοστεί στις μεταβαλλόμενες απαιτήσεις και τις ανάγκες των πελατών, να μειώσει τα απόβλητα και να προσφέρει οφέλη γρηγορότερα χρησιμοποιώντας μια σταδιακή, επαναληπτική προσέγγιση.
Το Agile Manifesto έχει ως εξής:
«Ανακαλύπτουμε καλύτερους τρόπους ανάπτυξης λογισμικού κάνοντας το και βοηθώντας τους άλλους να το κάνουν. Μέσα από αυτό το έργο έχουμε εκτιμήσει:
Δηλαδή, ενώ υπάρχει τιμή στα αντικείμενα στα δεξιά, εκτιμούμε περισσότερο τα αντικείμενα στα αριστερά. '
Ευθυγραμμισμένες με τις τιμές στο μανιφέστο είναι οι 12 αρχές πίσω από το Agile Manifesto:
«Ακολουθούμε αυτές τις αρχές:
Οι παραπάνω αξίες και αρχές είναι εφαρμογές των αρχών Lean όπως Jidoka, JIT, Genchi Genbutsu, Kaizen, Hansei, Heijunka και μείωση των αποβλήτων.
πώς να εκτιμήσετε μια φαρμακευτική εταιρεία
Το Agile είναι ένα πλαίσιο ομπρέλας που εφαρμόζεται σε οποιαδήποτε διαδικασία που εφαρμόζει το σύνολο τιμών και αρχών του Agile.
Μερικά παραδείγματα είναι:
Το Scrum είναι ένα πλαίσιο που εφαρμόζει τις αρχές του Agile που εφευρέθηκαν ξεχωριστά από πολλά άτομα, πολλά από τα οποία υπέγραψαν το μανιφέστο Agile:
Οι Schwaber και Sutherland συνεργάστηκαν καθ 'όλη τη διάρκεια της δεκαετίας του 1990 για την ανάπτυξη και τη βελτίωση του πλαισίου σε ένα πλαίσιο ανάπτυξης λογισμικού, μιλώντας σε διάφορα συνέδρια. Ο Schwaber συνεργάστηκε με τον Mike Beedle για να περιγράψει τη μέθοδο στο βιβλίο «Agile Software Development with Scrum» το 2001.
Ο Schwaber συνέχισε να δημιουργεί και τις δύο κύριες αρχές πιστοποίησης Scrum:
Με την πάροδο του χρόνου, δημιουργήθηκαν διάφορα πλαίσια / φορείς πιστοποίησης για την αντιμετώπιση της κλιμάκωσης του πλαισίου Scrum σε μεγαλύτερες ομάδες και έργα, καθώς το Scrum σχεδιάστηκε αρχικά για μικρές ομάδες (7 συν ή πλην 2 μέλη):
Σύμφωνα με τη Συμμαχία Scrum:
Το Scrum είναι ένα απλό αλλά απίστευτα ισχυρό σύνολο αρχών και πρακτικών που βοηθούν τις ομάδες να παραδίδουν προϊόντα σε σύντομους κύκλους, επιτρέποντας γρήγορη ανατροφοδότηση, συνεχή βελτίωση και γρήγορη προσαρμογή στις αλλαγές.
Το Scrum είναι ένα προδιαγραφικό, στοιχειώδες και επαναληπτικό πλαίσιο για την ανάπτυξη λογισμικού που εφαρμόζει τις αρχές του Agile. Οι τιμές και οι αρχές του Scrum περιγράφονται στα παρακάτω διαγράμματα και έχουν σημαντική ευθυγράμμιση με τις τιμές και τις αρχές Lean και Agile.
Η εργασία χωρίζεται σε σύντομες επαναλήψεις που ονομάζονται σπριντ, οι οποίες συνήθως είναι 1-3 εβδομάδες. Αυτό έρχεται σε πλήρη αντίθεση με τον εμπεριστατωμένο σχεδιασμό του καταρράκτη. Το έργο που έχει προγραμματιστεί για το τρέχον σπριντ επιλέγεται από την κορυφή ενός κατά προτεραιότητα καθυστερημένων στοιχείων εργασίας που ονομάζεται Product Backlog (Pull System, Heijunka) και διορθώνεται μόλις ξεκινήσει το σπριντ. Ο στόχος είναι να υπάρχει λογισμικό εργασίας στο τέλος κάθε σπριντ, επιτρέποντας γρήγορη ανατροφοδότηση.
Στο τέλος του σπριντ, η ομάδα συναντιέται για να εξετάσει την ολοκληρωμένη εργασία, πώς πήγε το σπριντ και να σχεδιάσει το επόμενο σπριντ. Το μήκος του σπριντ, καθώς και οι τελετές σπριντ και ο ρυθμός, καθορίζονται για κάθε σπριντ.
Τα σπριντ εκτελούνται από διαλειτουργικές ομάδες που περιέχουν όλες τις δεξιότητες που απαιτούνται για την ολοκλήρωση της εργασίας στο σπριντ. Ο καθημερινός προγραμματισμός και η παρακολούθηση της προόδου γίνεται χρησιμοποιώντας οπτικά αντικείμενα όπως τα γραφήματα scrum board και sprint burndown.
Το έργο σε ένα σπριντ αντλείται από ένα καθυστερημένο κατά προτεραιότητα. Η παρακολούθηση αυτών των μεθόδων επιτρέπει την αλλαγή των απαιτήσεων με την πάροδο του χρόνου και ενθαρρύνει τη συνεχή ανατροφοδότηση από τους τελικούς χρήστες.
Το διάγραμμα μυαλού που ακολουθεί περιγράφει μερικές από τις κύριες έννοιες του Scum που θα συζητηθούν στις επόμενες ενότητες.
Το Scrum έχει τρεις ρόλους:
Όπως συζητήθηκε παραπάνω, το Scrum έχει μια καθορισμένη ροή και ένα σύνολο τελετών και δραστηριοτήτων. Η ροή ενός σπριντ έχει ως εξής.
Πριν ξεκινήσει ένα σπριντ, το Scrum Master διευκολύνει μια συνάντηση με την ομάδα scrum και τον ιδιοκτήτη του προϊόντος, που ονομάζεται συνάντηση προγραμματισμού σπριντ, όπου ο ιδιοκτήτης του προϊόντος προσδιορίζει τους στόχους του επερχόμενου σπριντ και στη συνέχεια η ομάδα σχεδιάζει τη δουλειά τους σύμφωνα με τους στόχους.
Αυτό γίνεται συνήθως με τις ακόλουθες δραστηριότητες:
Το συνολικό ποσό της εργασίας ή του εύρους που έχει δεσμευτεί για το σπριντ μετράται σε σημεία ιστορίας.
Κατά τη διάρκεια του σπριντ, τα μέλη της ομάδας τραβούν στοιχεία εργασίας (ιστορίες χρηστών, εργασίες κ.λπ.) από την κορυφή της λίστας σπριντ προς εκκρεμότητα για να εργαστούν. Διάφορα μέλη της ομάδας θα εργαστούν για τα διάφορα είδη εργασίας ή τις δευτερεύουσες εργασίες τους. Θα ενημερώσουν την κατάσταση ενός αντικειμένου, όταν χρειάζεται, μετακινώντας το από τη μία στήλη στην επόμενη (συνήθως Πραγματοποίηση> Σε εξέλιξη> Δοκιμή> Τέλος ή κάποια παραλλαγή αυτού) στο Scrum Board έως ότου ολοκληρωθεί.
s corp c corp llc σύγκριση
Η πρόοδος παρακολουθείται χρησιμοποιώντας ένα γράφημα καύσης που δείχνει τον αριθμό των εργασιών που ολοκληρώθηκαν και το υπόλοιπο που μετρήθηκε σε σημεία ιστορίας. Τα υπόλοιπα σημεία ιστορίας εμφανίζονται στον άξονα Υ και ο υπόλοιπος χρόνος εμφανίζεται στον άξονα Χ. Το γράφημα burndown ενημερώνεται όταν γίνονται ιστορίες.
Σε καθημερινή βάση, το Scrum Master επικεντρώνεται στα εξής:
Καθημερινή αναμονή
Στην αρχή κάθε ημέρας στο σπριντ, το Scrum Master διευκολύνει μια σύντομη, 15λεπτη συνάντηση με την ομάδα scrum και τον ιδιοκτήτη του προϊόντος για να σχεδιάσει την ημέρα και να ελέγξει την πρόοδο του σπριντ. Πρόκειται για μια σύντομη συνάντηση όπου όλοι στέκονται μπροστά από το Scrum Board και κάθε άτομο στη συνάντηση απαντά στις ακόλουθες ερωτήσεις σε 2 λεπτά ή λιγότερο, αναφέροντας συγκεκριμένα στοιχεία στον πίνακα σπριντ:
Αυτό επιτρέπει σε όλους να δουν τι εργάζεται ο καθένας, να δει ποια πρόοδο έχει σημειωθεί ή όχι, και να εντοπίσει τα εμπόδια ή / και τη βοήθεια που απαιτείται.
Το Scrum Master διευκολύνει δύο τελετές να κλείσουν από το σπριντ πριν προγραμματίσει το επόμενο σπριντ.
Επίδειξη σπριντ
Στο τέλος του σπριντ, το Scrum Master διευκολύνει μια συνάντηση επίδειξης σπριντ όπου κάθε ολοκληρωμένη ιστορία παρουσιάζεται στο λογισμικό εργασίας στον ιδιοκτήτη του προϊόντος και στην υπόλοιπη ομάδα. Ο ιδιοκτήτης του προϊόντος είτε θα αποδεχτεί την ιστορία εάν πληρούνται όλα τα κριτήρια αποδοχής είτε θα απορρίψει την ιστορία. Εάν μια ιστορία απορριφθεί, οι ελλείψεις εντοπίζονται και η ιστορία επιστρέφεται στο καθυστερημένο προϊόν με σειρά προτεραιότητας για να ολοκληρωθεί αργότερα ή καθόλου. Συχνά, τα μέρη μιας ιστορίας που ο κάτοχος του προϊόντος δεν δέχεται χωρίζονται σε ξεχωριστές ιστορίες και η αρχική ιστορία είναι κλειστή.
Υπολογίζεται ο συνολικός αριθμός των σημείων ιστορίας ανά σπριντ (Velocity) και το σπριντ είναι κλειστό. Η ταχύτητα χρησιμοποιείται για την παρακολούθηση του επιπέδου εξόδου της ομάδας και χρησιμοποιείται για την εκτίμηση του πότε θα ολοκληρωθούν οι λειτουργίες ή οι κυκλοφορίες.
Αναδρομική εκτόξευση
Μετά την επίδειξη σπριντ αλλά πριν από την επόμενη συνάντηση προγραμματισμού σπριντ, το Scrum Master διευκολύνει μια αναδρομή σπριντ όπου η ομάδα σκέφτεται το σπριντ που μόλις ολοκλήρωσε και συζητά τι πήγε καλά και τι δεν πήγε καλά, ώστε να μπορούν να βελτιώνουν συνεχώς και σταδιακά τη διαδικασία και ποιότητα με την πάροδο του χρόνου (Kaizen, Hansei). Υπάρχει μια πληθώρα αναδρομικών μορφών ή ασκήσεων που μπορούν να χρησιμοποιηθούν για να βοηθήσουν την ομάδα να δημιουργήσει συζήτηση.
Δημιουργείται μια λίστα με αντικείμενα βελτίωσης δράσης και μερικές φορές καταλήγουν σε προσθήκη αντικειμένων στο καθυστερημένο προϊόν, αλλαγές στο DoD ή ομαδικό χάρτη κ.λπ.
Δημιουργία καθυστέρησης προϊόντος
Προτού προγραμματιστεί ή εκτελεστεί ένα σπριντ, ο ιδιοκτήτης του προϊόντος πρέπει να δημιουργήσει ένα καθυστερημένο έργο. Η καθυστέρηση ξεκινά συνήθως με στοιχεία ανάπτυξης χαρακτηριστικών που ονομάζονται ιστορίες που γράφονται από τον ιδιοκτήτη του προϊόντος και με την πάροδο του χρόνου συμπληρώνεται επίσης με εργασίες ανάπτυξης ή QA, αιχμές και ελαττώματα κ.λπ. που δημιουργούνται ενδεχομένως από οποιοδήποτε μέλος της ομάδας. Όλα τα στοιχεία στο καθυστερημένο αρχείο είναι διατεταγμένα κατά σειρά προτεραιότητας.
Καλλωπισμός
Μόλις δημιουργηθεί και δοθεί προτεραιότητα στο αρχικό καθυστερημένο προϊόν, η συνεχιζόμενη διαδικασία καθυστέρησης καθυστερεί. Ο στόχος είναι να έχουμε πάντα, τουλάχιστον, αρκετά από τα κορυφαία στοιχεία του καθυστερημένου καλλωπισμού και να εκτιμώνται έτσι ώστε να είναι έτοιμα να τραβηχτούν σε ένα σπριντ κατά τη διάρκεια μιας συνάντησης προγραμματισμού σπριντ. Αυτό γίνεται συνήθως πραγματοποιώντας τακτικές συνεχιζόμενες συσκέψεις καθυστερημένων καθυστερήσεων με το υπεύθυνος προϊόντων και η ομάδα διευκολύνεται από το Scrum Master.
Πριν από τη συνάντηση, μια λίστα με τις ιστορίες αποστέλλεται στην ομάδα, ώστε να μπορεί να ελέγξει και να προετοιμαστεί για τη συνάντηση καλλωπισμού. Κατά τη συνάντηση καλλωπισμού, κάθε αντικείμενο συζητείται ως προς τα κριτήρια αποδοχής, την πολυπλοκότητα, τον κίνδυνο, το μέγεθος, τη στρατηγική εφαρμογής κ.λπ. Τα κριτήρια αποδοχής και άλλες λεπτομέρειες της ιστορίας εξετάζονται και αναθεωρούνται έως ότου η ομάδα, ο ιδιοκτήτης προϊόντος και το Scrum Master έχουν μια κοινή κατανόηση της ιστορίας. Σε αυτό το σημείο, η ιστορία υπολογίζεται σε σημεία ιστορίας χρησιμοποιώντας μια τεχνική που ονομάζεται προγραμματισμός πόκερ.
Εκτίμηση σημείου ιστορίας
Τα σημεία ιστορίας είναι μια μονάδα προσπάθειας που χρησιμοποιεί σχετικό μέγεθος όπου συγκρίνονται οι ιστορίες με προηγούμενα, γνωστά, καλά κατανοητά έργα. Πάντα ρωτάτε την ερώτηση «είναι αυτή η ιστορία μεγαλύτερο, μικρότερο ή περίπου το ίδιο μέγεθος» με κάποιο άλλο έργο.
Η κλίμακα Fibonacci (1, 2, 3, 5, 8, 13, 21…) είναι η πιο συχνά χρησιμοποιούμενη κλίμακα όπου κάθε αύξηση είναι περίπου διπλάσια από την προηγούμενη (δηλαδή, μια ιστορία πέντε σημείων είναι λίγο πολύ διπλάσια μεγάλη ως ιστορία τριών σημείων). Μερικές φορές χρησιμοποιούνται άλλες κλίμακες όπως μεγέθη μπλουζών (XS, S, M, L, XL) ή ακόμα και ψάρια (ψαράκι, χρυσόψαρο, πέστροφα, τόνος, φάλαινα κ.λπ.). Οποιαδήποτε κλίμακα που σας επιτρέπει να συγκρίνετε το μέγεθος κάποιου σε σχέση με ένα άλλο θα λειτουργήσει.
Τα σημεία ιστορίας αντιπροσωπεύουν ολόκληρη την προσπάθεια της ομάδας να εφαρμόσει μια ιστορία, συμπεριλαμβανομένης της ανάπτυξης, των δοκιμών, του σχεδιασμού και άλλων διαφόρων εργασιών που απαιτούνται για τον ορισμό του Τέλους. Η εκτίμηση λαμβάνει υπόψη το ποσό της εργασίας, την πολυπλοκότητα και τον κίνδυνο. Μόλις προσδιοριστεί το σχετικό μέγεθος της ιστορίας, ένα μέγεθος στην κλίμακα εκχωρείται ως εκτίμηση.
Οι ομάδες προετοιμάζονται για τη διαδικασία εκτίμησης σημείου ιστορίας, καταρτίζοντας πρώτα μια γραμμή βάσης για εκτίμηση επιλέγοντας μια «πιο μεσαίου μεγέθους» ιστορία που ολόκληρη η ομάδα κατανοεί ως ιστορία αναφοράς. Επιλέγονται επίσης ορισμένες επιπλέον ιστορίες αναφοράς που είναι μεγαλύτερες και μικρότερες.
Η εκτίμηση του σημείου ιστορίας γίνεται κατά τη διάρκεια συνεδριάσεων καλλωπισμού και μερικές φορές κατά τη διάρκεια του προγραμματισμού σπριντ χρησιμοποιώντας το Planning Poker:
Τα πλεονεκτήματα της εκτίμησης σημείων ιστορίας είναι:
Έκδοση Εκτίμηση και παρακολούθηση
Η εκτίμηση σημείου ιστορίας χρησιμοποιείται επίσης σε ένα πλαίσιο σχεδιασμού κυκλοφορίας χρησιμοποιώντας την ακόλουθη τεχνική:
τι μετρά η ελαστικότητα της ζήτησης ως προς την τιμή
Οι εκτιμήσεις της ιστορίας για όλες τις ιστορίες σε μια κυκλοφορία σε συνδυασμό με την ταχύτητα της ομάδας θα σας επιτρέψουν να υπολογίσετε πότε θα ολοκληρωθεί μια κυκλοφορία και θα παρακολουθείτε την πρόοδό της. Αυτό εμφανίζεται συχνά σε ένα διάγραμμα καύσης κυκλοφορίας.
Το πρωταρχικό πλεονέκτημα του Scrum είναι η εφαρμογή αξιών και αρχών Agile, καθώς και Lean έννοιες όπως οι Seiri, Jidoka, Just-in-Time, Kaizen, Genchi Genbutsu, Heijunka, Pull System και Iterations. Η εφαρμογή αυτών των αρχών επιτρέπει στις ομάδες έργων να λαμβάνουν συνεχή ανατροφοδότηση, να προσαρμόζονται γρήγορα στις μεταβαλλόμενες απαιτήσεις και την αβεβαιότητα, να μειώνουν τα απόβλητα, να αυξάνουν την ορατότητα και τη διαφάνεια και να προσπαθούν για συνεχή βελτίωση. Εστιάζοντας πάντα στα πιο σημαντικά στοιχεία του καθυστερημένου προϊόντος και λειτουργώντας μόνο σε σύντομες επαναλήψεις που παράγουν πάντα λειτουργικό λογισμικό, το Scrum εστιάζει περισσότερο στους πελάτες και επιτρέπει στους πελάτες να δουν τι τους αρέσει (και δεν τους αρέσει) και να κάνουν αλλαγές ανάλογα με τις ανάγκες. Το γενικό κόστος όσον αφορά τη διαδικασία και τη διαχείριση είναι μικρότερο, οδηγώντας έτσι σε γρηγορότερα, φθηνότερα αποτελέσματα.
Το Scrum είναι μια εξαιρετική μεθοδολογία για έργα με απαιτήσεις που δεν είναι σαφώς γνωστές ή / και αναμένεται να αλλάξουν. Αυτό ισχύει για τα περισσότερα έργα. Το Scrum είναι επίσης εξαιρετικό για έμπειρες ομάδες με κίνητρα, καθώς επιτρέπει στις ομάδες να οργανώσουν οι ίδιοι το έργο και παρέχει ορατότητα, διαφάνεια και υπευθυνότητα τόσο για την πρόοδο όσο και για τα προβλήματα. Όλα αυτά θα έχουν ως αποτέλεσμα οι ομάδες να βελτιώνονται και να γίνονται πιο παραγωγικές με την πάροδο του χρόνου.
Το Scrum έχει κάποια μειονεκτήματα και δεν είναι η καλύτερη μεθοδολογία σε ορισμένες περιπτώσεις:
Το Kanban είναι μια διαδικασία ελαφρύτερου βάρους που εφαρμόζει πολλές από τις τιμές Lean και Agile, καθώς και ένα υποσύνολο των τιμών και αρχών του Scrum, αλλά υπάρχουν επίσης ορισμένες θεμελιώδεις διαφορές. Ο Kanban εστιάζει στην οπτικοποίηση, τη ροή και τον περιορισμό των εργασιών που βρίσκονται σε εξέλιξη.
Το Kanban είναι Ιαπωνικά για 'πινακίδα' ή 'πινακίδα'. Οι συνεργάτες της Toyota χρησιμοποίησαν ένα κανάν (δηλαδή, έναν πραγματικό πίνακα) για να σηματοδοτήσουν επιπλέον χωρητικότητα σε διάφορα στάδια της διαδικασίας κατασκευής τους. Στο λογισμικό, αυτό γίνεται με μια πλακέτα Kanban, η οποία μοιάζει πολύ με την πλακέτα Scrum. Υπάρχει ένα κατά προτεραιότητα καθυστερημένο στοιχείο εκκρεμών εργασιών και κάθετες στήλες για κάθε κατάσταση που μπορεί να έχει ένα στοιχείο εργασίας. Όπως το Scrum, τα στοιχεία εργασίας μετακινούνται από τη μία κατάσταση στην άλλη. Ωστόσο, στο Kanban, το ποσό της εργασίας που βρίσκεται σε εξέλιξη περιορίζεται αυστηρά σε έναν μέγιστο αριθμό αντικειμένων σε κάθε κατάσταση με βάση την ικανότητα της ομάδας. Η νέα εργασία δεν μπορεί να τραβηχτεί έως ότου η υπάρχουσα εργασία μεταφερθεί στο επόμενο βήμα της διαδικασίας. Στο Scrum, οι εργασίες σε εξέλιξη περιορίζονται έμμεσα ελέγχοντας το ποσό της εργασίας που έχει προγραμματιστεί για ένα σπριντ.
Στο Kanban, δεν υπάρχουν σταθερές επαναλήψεις ή σπριντ, μόνο μια σταθερή ροή όπου τα είδη εργασίας τραβούν από το ένα στάδιο στο άλλο. Αυτό σημαίνει ότι ο πίνακας Kanban δεν επαναφέρεται ποτέ. Σημαίνει επίσης ότι πολλές από τις τελετές Scrum δεν χρησιμοποιούνται. Οι ομάδες Kanban συχνά πραγματοποιούν καθημερινές συναντήσεις standup, αλλά δεν έχουν συνταγογραφηθεί. Δεν υπάρχουν τακτικά προγραμματισμένες συναντήσεις προγραμματισμού σπριντ, επιδείξεις σπριντ ή αναδρομικές εκδόσεις σπριντ, οπότε η διαδικασία είναι πιο ελαφριά. Ορισμένες από τις δραστηριότητες σε αυτά τα τελετουργικά μπορεί ή όχι να εκτελούνται σε ανεπίσημο επίπεδο. Η συνεχής βελτίωση επιτυγχάνεται παρακολουθώντας και αναλύοντας τη ροή των αντικειμένων από τη μία κατάσταση στην άλλη και κάνοντας συνεχείς σταδιακές βελτιώσεις με βάση τα ζητήματα που αποκαλύπτονται.
Ο Kanban επίσης δεν ορίζει τους ρόλους που κάνει ο Scrum. Ο μόνος ρόλος που απαιτείται είναι ο ρόλος των μελών της ομάδας, ωστόσο, συχνά υπάρχει διαχειριστής έργου που διαχειρίζεται την ομάδα και την καθυστέρηση. Συχνά, ένας ενιαίος πίνακας Kanban μπορεί να εξυπηρετήσει πολλαπλούς ρόλους ή / και ομάδες βάσει λειτουργιών που λειτουργούν μόνο σε αντικείμενα σε συγκεκριμένη κατάσταση. Για παράδειγμα, μια ομάδα ανάπτυξης μπορεί να τραβήξει αντικείμενα από τις εκκρεμείς εργασίες σε εξέλιξη και να τα μετακινήσει στη δοκιμή και η ομάδα δοκιμής να δοκιμάσει στοιχεία στη δοκιμή και να τα μετακινήσει στο Τέλος.
Πολλές από τις δραστηριότητες διαχείρισης καθυστερήσεων για την ιεράρχηση και την περιποίηση των αντικειμένων εργασίας πρέπει ακόμη να γίνουν για να διασφαλιστεί ότι ένα δεδομένο στοιχείο εργασίας είναι καλά κατανοητό και έτοιμο να εργαστεί, ωστόσο, η εκτίμηση των στοιχείων εργασίας ορίζεται ως προαιρετική.
Ο παρακάτω πίνακας συγκρίνει το Scrum και το Agile:
Κανμπάν | Scrum |
---|---|
Συνεχής παράδοση | Timberoxed Sprints |
Λιγότερη διαδικασία και γενικά | Έχει ορίσει τελετές και ρόλους Sprint |
Επικεντρώνεται στην γρήγορη ολοκλήρωση μεμονωμένων στοιχείων | Επικεντρώνεται στην γρήγορη ολοκλήρωση μιας παρτίδας εργασίας |
Μετρά τον χρόνο κύκλου | Μετρά την ταχύτητα σπριντ |
Επικεντρώνεται στην αποτελεσματική ροή | Επικεντρώνεται στην προβλεψιμότητα |
Περιορίζει το WIP για μεμονωμένα αντικείμενα | Περιορίζει το WIP σε επίπεδο Sprint |
Τα μεμονωμένα είδη εργασίας τραβούνται | Οι εργασίες τραβιούνται κατά παρτίδες στο Sprint Planning |
Χωρίς καθορισμένους ρόλους | Έχει καθορισμένους ρόλους (Master Scrum, Ιδιοκτήτης προϊόντος, Μέλος ομάδας) |
Το Kanban Board μπορεί να οργανωθεί γύρω από μία μόνο ομάδα πολλαπλών λειτουργιών ή πολλαπλές εξειδικευμένες ομάδες | Το Scrum Board οργανώνεται γύρω από μια ενιαία ομάδα πολλαπλών λειτουργιών |
Οι αλλαγές μπορούν να γίνουν ανά πάσα στιγμή -> πιο ευέλικτες | Οι αλλαγές επιτρέπονται μόνο στο Product Backlog. Δεν επιτρέπονται αλλαγές εντός σπριντ |
Απαιτεί λιγότερη εκπαίδευση | Απαιτεί περισσότερη εκπαίδευση |
Καλό για ομάδες όπου απαιτούνται μόνο αυξητικές βελτιώσεις | Καλό για ομάδες όπου απαιτούνται θεμελιώδεις αλλαγές |
Σε αυτό το μέρος, εξετάσαμε μερικές από τις πιο δημοφιλείς μεθοδολογίες που χρησιμοποιούνται για την ανάπτυξη λογισμικού. Μέχρι τώρα θα πρέπει να έχετε καλή κατανόηση των Lean, Agile, Scrum και Kanban και τις ιστορικές τους ρίζες στο Lean Manufacturing και το TPS. Στο επόμενο μέρος της σειράς, θα συνεχίσουμε να εξετάζουμε και να συγκρίνουμε άλλες μεθοδολογίες ανάπτυξης λογισμικού όπως Υδατόπτωση , JTBD , και Ασφαλής (και άλλα πλαίσια κλιμάκωσης), καθώς και υβριδικές μεθοδολογίες, οπότε έχετε εξηγήσει όλα αυτά εύκολα σε ένα μέρος.
Το Agile είναι ένα πλαίσιο ομπρέλας που εφαρμόζεται σε οποιαδήποτε διαδικασία που εφαρμόζει το σύνολο τιμών και αρχών του Agile. Μερικά από τα παραδείγματα είναι: Extreme Programming, Scrum και Kanban.
Το Scrum είναι ένα απλό αλλά απίστευτα ισχυρό σύνολο αρχών και πρακτικών που βοηθούν τις ομάδες να παραδίδουν προϊόντα σε σύντομους κύκλους. Το Scrum είναι ένα πλαίσιο που εφαρμόζει τις αρχές του Agile που εφευρέθηκαν ξεχωριστά από πολλά άτομα, πολλά από τα οποία υπέγραψαν το Agile Manifesto.
Το Kanban είναι μια διαδικασία ελαφρύτερου βάρους που εφαρμόζει πολλές από τις τιμές Lean και Agile, καθώς και ένα υποσύνολο των τιμών και αρχών του Scrum, αλλά υπάρχουν επίσης ορισμένες θεμελιώδεις διαφορές. Ο Kanban εστιάζει στην οπτικοποίηση, τη ροή και τον περιορισμό των εργασιών που βρίσκονται σε εξέλιξη.