Πίνακας περιεχομένων Επισκόπηση του Nexus... 2 Σκοπός του Οδηγού του Nexus...2 Ορισμός του Nexus...2 Το υπόβαθρο του Nexus...2 Το πλαίσιο Nexus...3 Η ροή διαδικασιών στο Nexus...4 Πρακτικές Λογισμικού...5 Nexus... 5 Ρόλοι στο Nexus...5 Η Ομάδα Ολοκλήρωσης Nexus... 5 Δραστηριότητες του Nexus...7 Σχεδιασμός του Nexus Sprint... 7 Nexus Καθημερινό Scrum... 8 Επισκόπηση του Nexus Sprint... 8 Αναδρομή στο Nexus Sprint... 9 Βελτιωτική Επεξεργασία... 9 Αντικείμενα του Nexus... 10 Product Backlog... 10 Ο Στόχος του Nexus... 10 Nexus Sprint Backlog... 11 Ολοκληρωμένη Επαύξηση... 11 Διαφάνεια Αντικειμένων... 11 Ορισμός του Έτοιμου... 11 Σημείωμα Τέλους... 12 Ευχαριστίες... 12 Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 1 (Έκδοση 1.1)
Επισκόπηση του Nexus Σκοπός του Οδηγού του Nexus Το Nexus είναι ένα μεθοδολογικό πλαίσιο για την ανάπτυξη και τη συντήρηση προϊόντων και λογισμικού σε μεγάλη κλίμακα. Το βασικό του δομικό στοιχείο είναι το Scrum. Ο Οδηγός αυτός περιέχει τον ορισμό του Nexus. O ορισμός αυτός αποτελείται από τους ρόλους, τις δραστηριότητες και τα αντικείμενα του Nexus, καθώς και τους κανόνες που συνδέουν τα παραπάνω. Το Nexus αναπτύχθηκε από τον Ken Schwaber και το Scrum.org. Αυτοί συνέγραψαν και παρέχουν τον Οδηγό του Nexus. Ορισμός του Nexus Nexus (ουσ.): Μονάδα Ανάπτυξης (στο Επαγγελματικό Scrum σε Κλίμακα) Το Nexus είναι ένα μεθοδολογικό πλαίσιο που αποτελείται από τους ρόλους, τις δραστηριότητες, τα αντικείμενα και τις τεχνικές που συνδυάζουν τη δουλειά περίπου τριών έως εννέα Ομάδων Scrum. Οι Ομάδες Scrum εργάζονται πάνω σε ένα κοινό Product Backlog με σκοπό να χτίσουν μία Ολοκληρωμένη Επαύξηση που πετυχαίνει ένα στόχο. Το υπόβαθρο του Nexus H ανάπτυξη λογισμικού είναι μία περίπλοκη διαδικασία, και η ολοκλήρωση της εργασίας αυτής ώστε να γίνει ένα λειτουργικό λογισμικό εμπεριέχει πολλά αντικείμενα και δραστηριότητες. Όλα αυτά πρέπει να συντονισθούν ώστε να παραχθεί ένα αποτέλεσμα που να είναι Έτοιμο. Οι εργασίες πρέπει να οργανωθούν και να τοποθετηθούν στην κατάλληλη σειρά, οι αλληλεξαρτήσεις να επιλυθούν, και τα αποτελέσματα της εργασίας να περάσουν από τα κατάλληλα στάδια. Το λογισμικό παρουσιάζει επιπλέον δυσκολίες, λόγω του γεγονότος ότι δεν έχει φυσική υπόσταση. Πολλοί προγραμματιστές έχουν χρησιμοποιήσει το μεθοδολογικό πλαίσιο Scrum για να εργαστούν συλλογικά ώστε να αναπτύξουν μία Επαύξηση ενός λειτουργικού λογισμικού. Αν, όμως, περισσότερες από μία Ομάδες Scrum δουλεύουν πάνω στο ίδιο Product Backlog και στον ίδιο κώδικα για ένα προϊόν, εμφανίζονται δυσκολίες. Εάν οι προγραμματιστές δεν ανήκουν στην ίδια ομάδα που εργάζεται στον ίδιο χώρο, πώς θα επικοινωνούν όταν εκτελούν εργασίες που επηρεάζουν τις άλλες ομάδες; Και εάν εργάζονται σε διαφορετικές ομάδες, πώς θα ολοκληρώσουν τις εργασίες τους σε μία Ολοκληρωμένη Επαύξηση και πώς, μετά, θα την ελέγξουν; Αυτές οι δυσκολίες αρχίζουν να εμφανίζονται όταν δύο ομάδες ολοκληρώνουν τις δουλειές τους, ενώ για τρεις ή περισσότερες ομάδες οι δυσκολίες αυξάνονται σημαντικά. Όταν έχουμε πολλαπλές ομάδες που συνεργάζονται για να δημιουργήσουν μία πλήρη και Έτοιμη Επαύξηση σε κάθε Sprint (ή συχνότερα) εμφανίζονται πολλές εξαρτήσεις. Αυτές οι εξαρτήσεις σχετίζονται με: 1. Προδιαγραφές: Μπορεί να υπάρχει επικάλυψη μεταξύ των αντικειμένων διαφορετικών προδιαγραφών, ενώ ο τρόπος που υλοποιείται η κάθε προδιαγραφή μπορεί, επίσης, να Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 2 (Έκδοση 1.1)
επηρεάζει τις άλλες. Αυτή η γνώση θα πρέπει να λαμβάνεται υπόψη κατά την ταξινόμηση του Product Backlog και την επιλογή των προδιαγραφών. 2. Γνώση του θεματικού πεδίου: Τα μέλη των ομάδων κατέχουν γνώση από διάφορα επιχειρησιακά και υπολογιστικά συστήματα. Αυτή η γνώση θα πρέπει να αντιστοιχισθεί στις ομάδες Scrum με τρόπο που θα εξασφαλίζει την επάρκειά της, αλλά και θα ελαχιστοποιεί τις διακοπές μεταξύ των ομάδων κατά τη διάρκεια ενός Sprint. 3. Αντικείμενα λογισμικού και δοκιμών: Οι προδιαγραφές θα υλοποιηθούν σε μορφή κώδικα λογισμικού και συνόλων ελέγχων. Όσο οι προδιαγραφές, η γνώση του αντικειμένου και τα αντικείμενα λογισμικού και ελέγχου αντιστοιχίζονται στις ίδιες ομάδες, η εξάρτηση μεταξύ των Ομάδων Scrum μπορεί να μειωθεί. Όταν η ανάπτυξη λογισμικού με τη χρήση Scrum κλιμακώνεται, η οργάνωση των ομάδων θα πρέπει να οδηγείται από αυτές ακριβώς τις εξαρτήσεις των προδιαγραφών, του θεματικού πεδίου και των αντικειμένων λογισμικού και δοκιμών. Στο βαθμό που αυτό γίνεται, η παραγωγικότητα θα βελτιστοποιείται. Το πλαίσιο Nexus Το Nexus είναι ένας εξωσκελετός ο οποίος υποστηρίζει πολλαπλές Ομάδες Scrum όταν αυτές συνδυάζονται για να δημιουργήσουν μία Ολοκληρωμένη Επαύξηση. Το Nexus είναι συνεπές με το Scrum, και έτσι τα μέρη του θα είναι γνώριμα σε όσους έχουν εργαστεί σε έργα Scrum. Η διαφορά είναι ότι στο Nexus δίνεται μεγαλύτερη προσοχή στις εξαρτήσεις και στη διαλειτουργικότητα μεταξύ των ομάδων Scrum που παραδίδουν μία Έτοιμη Ολοκληρωμένη Επαύξηση, σε κάθε Sprint ή συχνότερα. Όπως φαίνεται στο παρακάτω γράφημα, το Nexus αποτελείται από: Ρόλους: Υπάρχει ένας νέος ρόλος, η Ομάδα Ολοκλήρωσης Nexus, η οποία συντονίζει, βοηθά και επιβλέπει την εφαρμογή του Nexus και τη λειτουργία του Scrum ώστε να προκύπτουν τα βέλτιστα αποτελέσματα. Η Ομάδα Ολοκλήρωσης Nexus αποτελείται από έναν Product Owner, έναν Scrum Master και Μέλη της Ομάδας Ολοκλήρωσης Nexus. Αντικείμενα: Όλες οι Ομάδες Scrum χρησιμοποιούν τα ίδιο, μοναδικό Product Backlog. Καθώς τα αντικείμενα του Product Backlog υφίστανται βελτιωτική επεξεργασία και καθίστανται έτοιμα για υλοποίηση, εμφανίζονται δείκτες του ποια ομάδα θα εκτελέσει τις εργασίες μέσα στο Sprint. Υπάρχει ένα νέο αντικείμενο, το Nexus Sprint Backlog, το οποίο βοηθά στην διαφάνεια κατά τη διάρκεια του Sprint. Οι Ομάδες Scrum διατηρούν τα δικά τους Sprint Backlogs. Δραστηριότητες: Νέες δραστηριότητες επικολλώνται, ή τοποθετούνται κοντά, ή αντικαθιστούν (στην περίπτωση του Sprint Review) τις συνήθεις δραστηριότητες Scrum ώστε να τις επαυξήσουν. Τροποποιημένες με αυτόν τον τρόπο, υπηρετούν τόσο το σύνολο των Ομάδων Scrum στο Nexus, όσο και κάθε ξεχωριστή ομάδα. Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 3 (Έκδοση 1.1)
Πλαίσιο Nexus, εξωσκελετός του Scrum σε κλίμακα Η ροή διαδικασιών στο Nexus Όλη η εργασία σε ένα Nexus μπορεί να γίνει από όλα τα μέλη των Ομάδων Scrum, ως μέλη του Nexus που κατέχουν διαφορετικές λειτουργικές δεξιότητες. Με βάση τις εξαρτήσεις, οι ομάδες μπορούν να επιλέξουν τα καταλληλότερα μέλη για την εκτέλεση συγκεκριμένων εργασιών. Βελτιωτική Επεξεργασία του Product Backlog: Το Product Backlog χρειάζεται να αναλυθεί, ώστε να αναγνωριστούν πιθανές εξαρτήσεις και στη συνέχεια να αφαιρεθούν ή να ελαχιστοποιηθούν. Το Product Backlog αναλύεται σε λεπτές «φέτες λειτουργικότητας», και η ομάδα που πιθανότατα θα εκτελέσει τις εργασίες για κάθε «φέτα» θα πρέπει να αναγνωρίζεται όσο το δυνατόν νωρίτερα. Σχεδιασμός Nexus Sprint: Κατάλληλοι εκπρόσωποι από κάθε Ομάδα Scrum συναντώνται για να εξετάσουν και να συζητήσουν για το Product Backlog. Επιλέγουν στοιχεία του Product Backlog για κάθε ομάδα. Στη συνέχεια κάθε Ομάδα Scrum σχεδιάζει το δικό της Sprint, επικοινωνώντας με άλλες ομάδες όπου αυτό απαιτείται. Το αποτέλεσμα είναι ένα σύνολο στόχων Sprint οι οποίοι είναι ευθυγραμμισμένοι με τον υπερκείμενο στόχο του Nexus, το Sprint Backlog της κάθε ομάδας και ένα Nexus Sprint Backlog. Το Nexus Sprint Backlog κάνει ορατά τα στοιχεία του Product Backlog καθώς και πιθανές εξαρτήσεις. Εργασίες ανάπτυξης: Όλες οι ομάδες αναπτύσσουν λογισμικό, και συχνά το ολοκληρώνουν σε ένα κοινό περιβάλλον το οποίο μπορεί να δοκιμασθεί ώστε να διασφαλισθεί ότι η ολοκλήρωση έχει γίνει. Καθημερινό Scrum του Nexus: Καθημερινά συναντώνται κατάλληλοι εκπρόσωποι από κάθε ομάδα Ανάπτυξης Scrum για να αναγνωρίσουν πιθανά θέματα στην ολοκλήρωση. Εάν αναγνωρισθούν τέτοια θέματα, αυτό μεταφέρεται πίσω στο Καθημερινό Scrum της κάθε Ομάδας Scrum. Οι Ομάδες Scrum, στη συνέχεια, δημιουργούν το σχέδιό τους για την ημέρα, λαμβάνοντας υπόψη και τα θέματα ολοκλήρωσης που αναγνωρίστηκαν στο Καθημερινό Scrum του Nexus. Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 4 (Έκδοση 1.1)
Επισκόπηση του Sprint του Nexus. Όλες οι ομάδες συναντώνται με τον Product Owner για να εξετάσουν την Ολοκληρωμένη Επαύξηση. Εκεί μπορεί να γίνουν προσαρμογές στο Product Backlog. Αναδρομή στο Sprint του Nexus: Κατάλληλοι εκπρόσωποι από κάθε Ομάδα Scrum συναντώνται για να αναγνωρίσουν τις κοινές δυσκολίες. Μετά, κάθε Ομάδα Scrum κάνει τη δική της Αναδρομή στο Sprint. Στη συνέχεια, κατάλληλοι εκπρόσωποι από κάθε ομάδα συναντώνται ξανά για να συζητήσουν τυχόν απαιτούμενες ενέργειες και να παράσχουν πληροφόρηση από κάτω προς τα πάνω. Πρακτικές Λογισμικού Για τη συνένωση της εργασίας των Ομάδων Scrum που συνεργάζονται για να δημιουργήσουν μία Ολοκληρωμένη Επαύξηση, είναι απαραίτητες αρκετές πρακτικές ανάπτυξης λογισμικού. Οι περισσότερες από αυτές τις πρακτικές απαιτούν αυτοματοποίηση. Η αυτοματοποίηση βοηθά στη διαχείριση του όγκου και της πολυπλοκότητας των εργασιών και των αντικειμένων, ειδικά σε περιβάλλοντα μεγάλης κλίμακας. Nexus Οι ρόλοι, οι δραστηριότητες και τα αντικείμενα κληρονομούν το σκοπό και τα χαρακτηριστικά των αντίστοιχων ρόλων, δραστηριοτήτων και αντικειμένων του Scrum, όπως αυτά έχουν καταγραφεί στον Οδηγό του Scrum. Ρόλοι στο Nexus Ένα Nexus αποτελείται από μία Ομάδα Ολοκλήρωσης Nexus και περίπου τρεις μέχρι εννέα Ομάδες Scrum. Η Ομάδα Ολοκλήρωσης Nexus Η Ομάδα Ολοκλήρωσης Nexus είναι υπεύθυνη για να διασφαλίζει ότι μία Ολοκληρωμένη Επαύξηση (η συνδυασμένη δουλειά που ολοκληρώθηκε από ένα Nexus) θα παράγεται τουλάχιστον σε κάθε Sprint. Οι Ομάδες Scrum είναι υπεύθυνες για την ανάπτυξη Επαυξήσεων λογισμικού δυνητικά έτοιμων για παραγωγή, όπως περιγράφεται στο Scrum. Όλοι οι ρόλοι των μελών της Ομάδας Scrum περιγράφονται στον Οδηγό του Scrum. Η Ομάδα Ολοκλήρωσης Nexus είναι μία Ομάδα Scrum η οποία αποτελείται από: Τον Product Owner Έναν Scrum Master Ένα ή περισσότερα Μέλη της Ομάδας Ολοκλήρωσης Nexus. Μέλη της Ομάδας Ολοκλήρωσης Nexus μπορούν να εργάζονται και στις Ομάδες Scrum, όπου αυτό είναι κατάλληλο και απαραίτητο. Σε αυτήν την περίπτωση, η προτεραιότητα πρέπει να δίνεται στην εργασία για την Ομάδα Ολοκλήρωσης Nexus. Η ιδιότητα του μέλους στην Ομάδα Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 5 (Έκδοση 1.1)
Ολοκλήρωσης Nexus έχει προτεραιότητα σε σχέση με την συμμετοχή στην Ομάδα Scrum. Αυτή η προτεραιοποίηση διασφαλίζει ότι προηγούνται οι εργασίες για την επίλυση θεμάτων που επηρεάζουν πολλές ομάδες. Η σύνθεση της Ομάδας Ολοκλήρωσης Nexus μπορεί να αλλάξει με το χρόνο, ώστε να αντανακλά τις τρέχουσες ανάγκες του Nexus. Η Ομάδα Ολοκλήρωσης Nexus μπορεί να εκτελεί δραστηριότητες όπως coaching, συμβουλευτική, και ανάδειξη της σημασίας που έχει η επίγνωση των εξαρτήσεων και των θεμάτων που προκύπτουν μεταξύ ομάδων. Μπορεί, επίσης, να εκτελέσει εργασία από το Product Backlog. Η Ομάδα Ολοκλήρωσης Nexus επιλαμβάνεται όλων των θεμάτων ολοκλήρωσης. Είναι υπεύθυνη για την επιτυχημένη ολοκλήρωση της εργασίας όλων των Ομάδων Scrum μέσα σε ένα Nexus. Η ολοκλήρωση περιλαμβάνει την άρση κάθε τεχνικού και μη τεχνικού περιορισμού μεταξύ ομάδων, ο οποίος μπορεί να εμποδίσει τη δυνατότητα ενός Nexus να παραδίδει μία σταθερά Ολοκληρωμένη Επαύξηση. Για να πετύχουν την άρση των περιορισμών αυτών, θα πρέπει να χρησιμοποιήσουν μεταδιδόμενες από κάτω προς τα πάνω πληροφορίες. Product Owner στην ομάδα ολοκλήρωσης Nexus Η εργασία του Nexus γίνεται πάνω σε ένα μοναδικό Product Backlog και, όπως περιγράφεται στο πλαίσιο Scrum, ένα Product Backlog έχει έναν μοναδικό Product Owner ο οποίος και έχει τον τελευταίο λόγο ως προς το περιεχόμενό του. Ο Product Owner είναι υπεύθυνος για τη μεγιστοποίηση της αξίας του προϊόντος και της εργασίας που εκτελέσθηκε και ολοκληρώθηκε από τις ομάδες Scrum. Ο Product Owner ανήκει στην Ομάδα Ολοκλήρωσης Scrum. Ο Product Owner είναι υπεύθυνος για την ταξινόμηση και την ανάλυση του Product Backlog ώστε η Ολοκληρωμένη Επαύξηση την οποία δημιουργεί το κάθε Nexus να παράγει τη μεγαλύτερη δυνατή αξία. Το πώς αυτό επιτυγχάνεται, μπορεί να διαφέρει σημαντικά ανά οργανισμό, Nexus, Ομάδα Scrum ή άτομο. Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 6 (Έκδοση 1.1)
Ο Scrum Master στην ομάδα ολοκλήρωσης Nexus Ο Scrum Master στην Ομάδα Ολοκλήρωσης Nexus έχει τη συνολική ευθύνη για τη διασφάλιση της κατανόησης και τήρησης του μεθοδολογικού πλαισίου Nexus. Ο Scrum Master αυτός μπορεί να είναι και Scrum Master σε μία ή περισσότερες Ομάδες Scrum αυτού του Nexus. Μέλη της Ομάδας Ολοκλήρωσης Nexus Η ανάπτυξη σε μεγάλη κλίμακα απαιτεί εργαλεία και πρακτικές που οι επιμέρους Ομάδες Scrum ενδεχομένως δεν χρησιμοποιούν συχνά. Η Ομάδα Ολοκλήρωσης Nexus αποτελείται από επαγγελματίες λογισμικού που κατέχουν αυτές τις δεξιότητες στο χώρο των εργαλείων, πρακτικών, και στο γενικό πεδίο της μηχανικής συστημάτων. Τα μέλη της Ομάδας Ολοκλήρωσης Nexus διασφαλίζουν ότι αυτές οι πρακτικές και τα εργαλεία υλοποιούνται, γίνονται κατανοητά και χρησιμοποιούνται για να εντοπίσουν εξαρτήσεις, και ολοκληρώνουν συχνά όλα τα αντικείμενα σε έναν ενιαίο ορισμό του Έτοιμου. Τα Μέλη της Ομάδας Ολοκλήρωσης Nexus είναι υπεύθυνα για να βοηθήσουν και να καθοδηγήσουν τις Ομάδες Scrum του Nexus ώστε αυτές να αποκτήσουν, να υλοποιήσουν και να μάθουν αυτές τις πρακτικές και τα εργαλεία. Επιπρόσθετα, καθοδηγούν τις Ομάδες Scrum σχετικά με τα πρότυπα ανάπτυξης, υποδομής ή αρχιτεκτονικής που απαιτούνται από τον οργανισμό ώστε να διασφαλιστεί η ανάπτυξη ποιοτικών Ολοκληρωμένων Επαυξήσεων. Εφόσον η κύρια αρμοδιότητά τους έχει ικανοποιηθεί, τα Μέλη της Ομάδας Ολοκλήρωσης Nexus μπορούν να εργάζονται και ως μέλη της Ομάδας Ανάπτυξης σε μία ή περισσότερες Ομάδες Scrum. Δραστηριότητες του Nexus Η διάρκεια των δραστηριοτήτων του Nexus προκύπτει από τη διάρκεια των αντίστοιχων δραστηριοτήτων στον Οδηγό του Scrum. Πρόκειται γιια χρονο-περιορισμούς επιπρόσθετους των αντίστοιχων διαδικασιών στο Scrum. Σχεδιασμός του Nexus Sprint Ο σκοπός του Σχεδιασμού του Nexus Sprint είναι να συντονίσει τις δραστηριότητες όλων των Ομάδων Scrum στο Nexus σε ένα ενιαίο Sprint. Ο Product Owner παρέχει τη γνώση του θεματικού πεδίου και καθοδηγεί την επιλογή και τις αποφάσεις ιεράρχησης. Για να ξεκινήσει ο Σχεδιασμός του Nexus Sprint, κατάλληλοι εκπρόσωποι από κάθε Ομάδα Scrum επικυρώνουν και κάνουν τις αναγκαίες προσαρμογές στην ταξινόμηση των εργασιών όπως αυτές δημιουργήθηκαν κατά τη διάρκεια των συναντήσεων Βελτιωτικής Επεξεργασίας. Όλα τα μέλη των Ομάδων Scrum πρέπει να συμμετέχουν ώστε να ελαχιστοποιηθούν τα προβλήματα επικοινωνίας. Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 7 (Έκδοση 1.1)
Ο Στόχος του Nexus Sprint διαμορφώνεται κατά τη διάρκεια του Σχεδιασμού του Nexus Sprint. Περιγράφει τον σκοπό που θα επιτευχθεί από τις Ομάδες Scrum κατά τη διάρκεια του Sprint. Μόλις η συνολική εργασία για το Nexus γίνει κατανοητή, κάθε Ομάδα Scrum εκτελεί τον δικό της Σχεδιασμό του Sprint. Αν η συνάντηση πραγματοποιείται σε κοινό χώρο, οι ομάδες μπορούν να συνεχίσουν να μοιράζονται νεο-ανακαλυφθείσες εξαρτήσεις. Ο Σχεδιασμός του Nexus Sprint ολοκληρώνεται όταν κάθε Ομάδα Scrum έχει τελειώσει τις δικές της δραστηριότητες Σχεδιασμού του Sprint. Κατά τη διάρκεια του Σχεδιασμού του Nexus Sprint ενδέχεται να προκύψουν νέες εξαρτήσεις. Αυτές θα πρέπει να οπτικοποιηθούν και να ελαχιστοποιηθούν. Η ακολουθία της εργασίας όλων των ομάδων πιθανόν να πρέπει να ρυθμιστεί. Ένα επαρκώς επεξεργασμένο Product Backlog θα ελαχιστοποιήσει την εμφάνιση καινούριων εξαρτήσεων κατά τη διάρκεια του Σχεδιασμού του Nexus Sprint. Όλα τα στοιχεία του Product Backlog που επιλέγονται για το Sprint και οι εξαρτήσεις του πρέπει να οπτικοποιηθούν στο Nexus Sprint Backlog. Το Product Backlog πρέπει να είναι επαρκώς επεξεργασμένο με τις εξαρτήσεις να έχουν εντοπισθεί και να έχουν αφαιρεθεί ή ελαχιστοποιηθεί πριν το Σχεδιασμό του Nexus Sprint. Nexus Καθημερινό Scrum Το Nexus Καθημερινό Scrum είναι μια δραστηριότητα όπου οι κατάλληλοι εκπρόσωποι από τις επιμέρους Scrum Ομάδες Ανάπτυξης επιθεωρούν την τρέχουσα κατάσταση της Ολοκληρωμένης Επαύξησης και εντοπίζουν θέματα στην ολοκλήρωση ή τις πρόσφατα ανακαλυφθείσες εξαρτήσεις μεταξύ των ομάδων. Κατά τη διάρκεια του Nexus Καθημερινού Scrum, οι συμμετέχοντες πρέπει να εστιάσουν στη συμβολή κάθε ομάδας στην Ολοκληρωμένη Επαύξηση και να συζητήσουν: Ήταν επιτυχημένη η ολοκλήρωση της δουλειάς της προηγούμενης ημέρας; Αν όχι, γιατί; Ποιες καινούριες εξαρτήσεις έχουν αναγνωριστεί; Ποια πληροφορία χρειάζεται να καταστεί κοινή γνώση στις ομάδες του Nexus; Κατά τη διάρκεια του Nexus Καθημερινού Scrum, το Nexus Sprint Backlog πρέπει να χρησιμοποιείται για την οπτικοποίηση και διαχείριση των τρεχουσών εξαρτήσεων. Εργασία που αναγνωρίστηκε κατά τη διάρκεια του Nexus Καθημερινού Scrum μεταφέρεται πίσω στις επιμέρους Ομάδες Scrum για σχεδιασμό εντός των δικών τους Καθημερινών Scrum. Επισκόπηση του Nexus Sprint Η Επισκόπηση του Nexus Sprint γίνεται στο τέλος του Sprint ώστε να δώσει ανατροφοδότηση σχετικά με την Ολοκληρωμένη Επαύξηση που υλοποιήθηκε κατά τη διάρκεια του Nexus Sprint. Η Επισκόπηση του Nexus Sprint αντικαθιστά τις ανεξάρτητες Επισκοπήσεις των Sprint των Ομάδων Scrum, επειδή ολόκληρη η Επαύξηση είναι πλέον το πεδίο για ανατροφοδότηση εκ μέρους των εμπλεκομένων. Πιθανόν να μην μπορεί να επιδειχθεί σε λεπτομέρεια όλη η Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 8 (Έκδοση 1.1)
ολοκληρωμένη εργασία. Ίσως να απαιτούνται τεχνικές για τη μεγιστοποίηση της ανατροφοδότησης που λαμβάνεται από τους εμπλεκόμενους. Αναδρομή στο Nexus Sprint Η Αναδρομή στο Nexus Sprint είναι μια θεσμοθετημένη ευκαιρία για το Nexus να εστιάσει στην επιθεώρηση και προσαρμογή. Αποτελείται από τρία μέρη: 1. Το πρώτο μέρος είναι μια ευκαιρία για τους κατάλληλους εκπρόσωπους από το Nexus να συναντηθούν και να εντοπίσουν θέματα που επηρεάζουν περισσότερες από μία ομάδες. Ο σκοπός είναι να αναδειχθούν και φανερωθούν θέματα κοινά σε όλες τις Ομάδες Scrum. 2. Στο δεύτερο μέρος κάθε Ομάδα Scrum κάνει τη δική της Αναδρομή όπως περιγράφεται στο πλαίσιο Scrum. Κάθε ομάδα μπορεί να φέρει προς συζήτηση θέματα που εντοπίστηκαν στο πρώτο μέρος. Οι ανεξάρτητες Ομάδες Scrum θα πρέπει να διαμορφώσουν δράσεις για να αντιμετωπίσουν αυτά τα θέματα κατά τη διάρκεια των δικών τους Αναδρομών στο Sprint. 3. Το τρίτο και τελευταίο μέρος είναι μια ευκαιρία για τους κατάλληλους εκπρόσωπους από τις Ομάδες Scrum να συναντηθούν εκ νέου και να αποφασίσουν στο πώς θα οπτικοποιήσουν και θα παρακολουθούν τις συμφωνημένες δράσεις/ενέργειες. Αυτό επιτρέπει στο Nexus να προσαρμόζεται συνολικά. Εξαιτίας κοινών δυσλειτουργιών στην κλιμάκωση, κάθε Retrospective πρέπει να ασχοληθεί με τα παρακάτω θέματα: Έμεινε κάποια εργασία ανολοκλήρωτη; Δημιούργησε το Nexus τεχνικό χρέος; Ολοκληρώθηκαν με επιτυχία όλα τα αντικείμενα, και ειδικά ο κώδικας, συχνά (σε καθημερινή βάση); Το λογισμικό ολοκλήρωσε με επιτυχία τις φάσεις build, test, deploy αρκετά συχνά ώστε να εμποδίσει την υπερβολική συσσώρευση άλυτων εξαρτήσεων; Σχετικά με τα παραπάνω ερωτήματα, απαντήστε αν χρειαστεί:: Γιατί συνέβη αυτό; Πώς μπορεί να αναιρεθεί το τεχνικό χρέος; Πώς μπορεί να αποφευχθεί η επανεμφάνισή τους; Βελτιωτική Επεξεργασία Στην κλίμακα του Nexus υπάρχουν πολλά επίπεδα βελτιωτικής επεξεργασίας. Μόνο όταν τα στοιχεία του Product Backlog είναι επαρκώς ανεξάρτητα, μπορούν να επιλεγούν και να υλοποιηθούν χωρίς υπερβολικά πολλές αντιφάσεις ανάμεσα στις ομάδες Scrum του Nexus. Ο αριθμός, η συχνότητα, η διάρκεια και η παρακολούθηση των συναντήσεων Βελτιωτικής Επεξεργασίας βασίζονται στις εγγενείς εξαρτήσεις που υπάρχουν στο Product Backlog. Όσο μεγαλύτερη η πολυπλοκότητα και οι εξαρτήσεις, τόσο πιο αναγκαίο είναι τα στοιχεία του Product Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 9 (Έκδοση 1.1)
Backlog να υποστούν βελτιωτική επεξεργασία ώστε να απομακρυνθούν οι εξαρτήσεις. Τα στοιχεία του Product Backlog περνάνε από διάφορα επίπεδα αποδόμησης: από πολύ μεγάλες και ασαφείς απαιτήσεις μέχρι άμεσα υλοποιήσιμη εργασία που μια Ομάδα Scrum μπορεί να παραδώσει εντός ενός Sprint. Η βελτιωτική επεξεργασία του Product Backlog σε κλίμακα εξυπηρετεί διπλό σκοπό. Προβλέπει ποια ομάδα θα παραδώσει ποιο στοιχείο του Product Backlog και εντοπίζει εξαρτήσεις ανάμεσα στις ομάδες. Στο πρώτο μέρος της βελτιωτικής επεξεργασίας μεταξύ των ομάδων πρέπει να αποδομηθούν τα στοιχεία του Product Backlog με αρκετή λεπτομέρεια έτσι ώστε να κατανοηθεί ποιες ομάδες πρέπει να τα παραδώσουν, και σε ποια ακολουθία στα επερχόμενα Sprints. Το δεύτερο μέρος της Βελτιωτικής Επεξεργασίας εστιάζει στις εξαρτήσεις. Πρέπει να αναγνωριστούν και οπτικοποιηθούν εξαρτήσεις που ισχύουν μεταξύ ομάδων και Sprint. Οι ομάδες θα χρησιμοποιήσουν αυτή την πληροφορία για να αναδιατάξουν την ακολουθία και ανάθεση των εργασιών τους με σκοπό να ελαχιστοποιήσουν τον αριθμό των εξαρτήσεων μεταξύ των ομάδων. Θεωρείται ότι έχει πραγματοποιηθεί επαρκής Βελτιωτική Επεξεργασία κατά τη διάρκεια του Sprint, όταν τα στοιχεία του Product Backlog είναι έτοιμα και επιλέξιμα με ελάχιστες εξαρτήσεις κατά τη φάση του Σχεδιασμού του Sprint. Αντικείμενα του Nexus Τα αντικείμενα αναπαριστούν εργασία ή αξία που προσδίδει διαφάνεια και ευκαιρίες για επιθεώρηση και προσαρμογή, όπως περιγράφεται στον Οδηγό του Scrum. Product Backlog Υπάρχει ένα ενιαίο Product Backlog για όλο το Nexus και όλες τις ομάδες Scrum. Ο Product Owner είναι υπεύθυνος για το Product Backlog, συμπεριλαμβανομένου του περιεχομένου, της διαθεσιμότητας και της ταξινόμησής του. Σε κλίμακα, το Product Backlog πρέπει να κατανοηθεί στο επίπεδο όπου οι εξαρτήσεις μπορούν να αναγνωριστούν και ελαχιστοποιηθούν. Για να επιτευχθεί αυτό, τα στοιχεία του Product Backlog συχνά αναλύονται σε λεπτές φέτες λειτουργικότητας. Τα στοιχεία του Product Backlog θεωρούνται έτοιμα για τη συνάντηση Σχεδιασμού του Nexus Sprint όταν μπορούν να επιλεγούν για να υλοποιηθούν από τις Ομάδες Scrum με ελάχιστες ή καθόλου εξαρτήσεις από τις άλλες Ομάδες Scrum. Ο Στόχος του Nexus Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 10 (Έκδοση 1.1)
Κατά τη διάρκεια του Σχεδιασμού του Nexus Sprint, διαμορφώνεται ένας στόχος για ολόκληρο το Sprint. Αυτός αποκαλείται Στόχος του Nexus. Είναι το άθροισμα όλης της εργασίας και των Στόχων των Sprint των επιμέρους ομάδων Scrum εντός του Nexus. Το Nexus πρέπει να επιδείξει όλη την λειτουργικότητα που αναπτύχθηκε για να επιτευχθεί ο Στόχος του Nexus στην Επισκόπηση του Nexus Sprint. Nexus Sprint Backlog Ένα Nexus Sprint Backlog αποτελείται από όλα τα στοιχεία του Product Backlog που βρίσκονται στα Sprint Backlogs των επιμέρους Ομάδων Scrum. Χρησιμοποιείται για να αναδείξει τις εξαρτήσεις και τη ροή εργασίας κατά τη διάρκεια του Sprint. Ενημερώνεται τουλάχιστον σε καθημερινή βάση, συχνά ως μέρος του Nexus Καθημερινού Scrum. Ολοκληρωμένη Επαύξηση Η Ολοκληρωμένη Επαύξηση αποτελεί το άθροισμα όλων των ολοκληρωμένων εργασιών που ολοκληρώθηκαν σε ένα Nexus. Η Ολοκληρωμένη Επαύξηση πρέπει να είναι χρησιμοποιήσιμη και δυνητικά παραδοτέα που σημαίνει ότι πρέπει να ικανοποιεί τον ορισμό του Έτοιμου. Η Ολοκληρωμένη Επαύξηση επιθεωρείται στο Nexus Sprint Review. Διαφάνεια Αντικειμένων Όπως και με το δομικό στοιχείο του, το Scrum, το Nexus βασίζεται στη διαφάνεια. Μια Ομάδα Ολοκλήρωσης Nexus εργάζεται με τις Ομάδες Scrum εντός του Nexus και του οργανισμού για να διασφαλίσει ότι υπάρχει διαφάνεια για όλα τα αντικείμενα, και ότι η ολοκληρωμένη κατάσταση της Επαύξησης είναι ευρέως κατανοητή. Αποφάσεις που λαμβάνονται με βάση την κατάσταση των αντικειμένων του Nexus είναι τόσο αποτελεσματικές όσο και το επίπεδο της διαφάνειας των αντικειμένων. Ελλιπής ή μερική πληροφορία θα οδηγήσει σε λανθασμένες ή προβληματικές αποφάσεις. Ο αντίκτυπος αυτών των αποφάσεων μπορεί να πολλαπλασιαστεί στην κλίμακα του Nexus. Η έλλειψη πλήρους διαφάνειας καθιστά αδύνατη την αποτελεσματική καθοδήγηση του Nexus ώστε να ελαχιστοποιηθεί το ρίσκο και να μεγιστοποιηθεί η αξία. Το λογισμικό πρέπει να αναπτύσσεται κατά τέτοιο τρόπο ώστε οι εξαρτήσεις να αναγνωρίζονται και να επιλύονται πριν το τεχνικό χρέος καταστεί μη αποδεκτό. Ο έλεγχος του μη αποδεκτού τεχνικού χρέους γίνεται όταν φτάσουμε στο στάδιο της ολοκλήρωσης και παραμένει ασαφές αν όλες οι εξαρτήσεις έχουν επιλυθεί. Σε αυτές τις περιπτώσεις, οι εξαρτήσεις που δεν έχουν επιλυθεί παραμένουν κρυμμένες μέσα στον κώδικα και την βάση δοκιμών, μειώνοντας τη συνολική αξία του λογισμικού. Ορισμός του Έτοιμου Η Ομάδα Ολοκλήρωσης του Nexus είναι υπεύθυνη για τον ορισμό του Έτοιμου που εφαρμόζεται στην Ολοκληρωμένη Επαύξηση που αναπτύσσεται σε κάθε Sprint. Όλες οι Ομάδες Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 11 (Έκδοση 1.1)
Scrum στο Nexus πρέπει να τηρούν αυτό τον ορισμό του Έτοιμου. Η Επαύξηση είναι Έτοιμη μόνο όταν είναι χρησιμοποιήσιμη και δυνητικά παραδοτέα από τον Product Owner. Ένα στοιχείο του Product Backlog θεωρείται Έτοιμο όταν η λειτουργικότητα έχει επιτυχώς ενσωματωθεί στο προϊόν και ολοκληρωθεί στην Επαύξηση. Όλες οι Ομάδες Scrum είναι υπεύθυνες για την ανάπτυξη και ολοκλήρωση της εργασίας τους σε μια Επαύξηση που ικανοποιεί τις παραπάνω ιδιότητες. Οι επιμέρους ομάδες Scrum μπορούν να επιλέξουν έναν πιο αυστηρό ορισμό του Έτοιμου για τους εαυτούς τους, αλλά δεν μπορούν να εφαρμόσουν λιγότερο αυστηρά κριτήρια από αυτά που έχουν συμφωνηθεί για την Επαύξηση. Σημείωμα Τέλους Το Nexus είναι δωρεάν και προσφέρεται σε αυτό τον Οδηγό. Όπως με το πλαίσιο Scrum, οι ρόλοι, τα αντικείμενα, οι διαδικασίες του Nexus δεν μπορούν να τροποποιηθούν. Μολονότι είναι δυνατό να υλοποιηθούν κάποια μέρη του Nexus, το αποτέλεσμα δεν είναι Nexus. Ευχαριστίες Τα Nexus και το Επαγγελματικό Scrum σε Κλίμακα αναπτύχθηκαν συλλογικά από τους Ken Schwaber, David Dame, Richard Hundhausen, Patricia Kong, Rob Maher, Steve Porter, Christina Schwaber και Gunther Verheyen. Copyright Scrum.org, 2015 All Rights Reserved Σελίδα 12 (Έκδοση 1.1)