Scrum: έτσι αυξήθηκε η παραγωγικότητα των developers μας

12 Νοεμβρίου 2015, από

Scrum: έτσι αυξήθηκε η παραγωγικότητα των developers μας

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

Θέλοντας, λοιπόν, να πετύχουμε τη μέγιστη οργάνωση και παραγωγικότητα σε δραστηριότητες που απαιτούν αρκετή ενασχόληση και συγκέντρωση, έχουμε υιοθετήσει εδώ και 2 χρόνια για τον συντονισμό των developers και του τμήματος marketing τη μεθοδολογία του Scrum. Σήμερα θα σου πω λίγα πράγματα γι’ αυτό και πώς βοήθησε την TopHost, ώστε να γνωρίσεις την πρακτική και εφόσον σε ενδιαφέρει, να μπορέσεις να την εφαρμόσεις και στη δική σου ομάδα.

Τι είναι το Scrum;

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

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

Οι ενέργειες που θα αναλάμβανε ένα και μόνο άτομο, σε μια πιο παραδοσιακή προσέγγιση, περνάνε από όλη την ομάδα, μέσω του Scrum. Έτσι, ένα project αναλύεται από πολλές διαφορετικές οπτικές και η διαχείρισή του πραγματοποιείται από τη βάση: τους ίδιους τους ανθρώπους που τελικά θα ασχοληθούν με την υλοποίησή του. Με αυτόν τον τρόπο αυτοδιαχείρισης, επιτυγχάνεται η σωστότερη εκτίμηση των χρόνων εργασίας για κάθε task, η συνοχή της ομάδας, δίνεται αυτονομία σε κάθε μέλος και προάγεται ένα ευνοϊκότερο περιβάλλον εργασίας.

Η βάση του Scrum βρίσκεται στην ανάλυση ενός project και την ομαδοποίηση των tasks που πρέπει να ολοκληρωθούν για την υλοποίησή του. Τα tasks ονομάζονται User Stories και αποτελούν μια βασική περιγραφή των απαιτήσεων της εργασίας, ενώ η λίστα που τα περιλαμβάνει συνολικά είναι το Product Backlog.

Κάθε φορά επιλέγεται μία ομάδα από αυτά τα tasks (Sprint Backlog) και οι προγραμματιστές μας προσπαθούν να τα υλοποιήσουν σε ένα συγκεκριμένο χρονικό διάστημα, που ονομάζεται Sprint. Η διάρκεια των Sprints μπορεί να ποικίλει, ανάλογα με τις ανάγκες της εκάστοτε εταιρίας – στην περίπτωση της TopHost, το κάθε Sprint διαρκεί 10 εργάσιμες ημέρες.

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

Οι βασικοί ρόλοι του Scrum

Product Owner: ο PO αντιπροσωπεύει τον χρήστη ή και τον πελάτη που ζητά ένα προϊόν και θέτει την κατεύθυνση για την υλοποίηση του. Product Owner μπορεί να είναι ένας εξωτερικός πελάτης, για παράδειγμα μια εταιρία η οποία ασχολείται με τον σχεδιασμό ιστοσελίδων, αλλά και ένα στέλεχος ή ένα τμήμα (π.χ. marketing ή support) μέσα στην ίδια την εταιρία.

Scrum Master: πρόκειται ίσως για τον σημαντικότερο ρόλο του Scrum, αφού είναι ο υπεύθυνος για την ομαλή διεξαγωγή και την ολοκλήρωση των Sprints, αλλά και για τη γενικότερη σωστή εφαρμογή του scrum framework. Φροντίζει, ώστε το κάθε μέλος της ομάδας να έχει στη διάθεσή του τα εργαλεία που χρειάζεται για να πραγματοποιήσει την εργασία του, επικεντρώνει την ομάδα στον στόχο της και την προστατεύει από εξωτερικές παρεμβάσεις και δυσκολίες. Στο διαδικαστικό κομμάτι, είναι υπεύθυνος για τη διεξαγωγή των απαραίτητων meetings, και την παρακολούθηση της δουλειάς που πραγματοποιείται.

Development Team: Η ομάδα των προγραμματιστών συνήθως απαρτίζεται από 3-9 άτομα, οι οποίοι ομαδοποιούν τα tasks ανά Sprint βάσει των προτεραιοτήτων και ορίζουν έναν προβλεπόμενο χρόνο υλοποίησης. Για καλύτερο υπολογισμό του χρόνου, δίνεται στην ομάδα η δυνατότητα διαχωρισμού του κάθε task σε μικρότερα κομμάτια, ώστε να οριστεί ακριβέστερη περιγραφή των απαιτούμενων ενεργειών, καθώς και ακριβέστερος χρόνος για κάθε ένα από τα κομμάτια αυτά.

Οι συναντήσεις και οι διαδικασίες

Backlog Grooming: είναι μία πολύ βασική διαδικασία στην πραγματοποίηση ενός Sprint, αφού σε αυτό το βήμα αποσαφηνίζονται πλήρως οι απαιτήσεις και η προτεραιότητα των tasks. Αρχικά ο Product Owner εισάγει μία ιδέα στο Product Backlog ως γενική περιγραφή μαζί με την προτεραιότητα υλοποίησης της. Αμέσως μετά, η ομάδα πραγματοποιεί ερωτήσεις πάνω σε αυτήν, ώστε να μπορέσει να την εκτιμήσει: πρακτικά εδώ ορίζεται το “τι πρέπει να γίνει”. Στη συνέχεια, τα tasks που προκύπτουν, αναλύονται μέσω διάφορων επαναλήψεων από την ομάδα, ώστε να προετοιμαστεί για το Sprint Planning Meeting. Σε αυτό το meeting, μπορεί να γίνει η περαιτέρω ανάλυση των tasks σε subtasks, ενώ εκτιμάται και ο χρόνος υλοποίησης του καθενός.

Sprint Planning Meeting: κατά τη διάρκεια του Sprint Planning γίνονται δύο συζητήσεις. Η πρώτη αφορά στην εκτίμηση του Sprint που τελείωσε. Ο Product Owner και η ομάδα αποτιμούν την πορεία των εργασιών και συζητούν αν ολοκληρώθηκαν με επιτυχία τα tasks ή αν τελικά χρειάστηκε περισσότερος από τον εκτιμώμενο χρόνο, ώστε να καθοριστεί η ανάγκη για συνέχισή τους και στο επόμενο Sprint.

Στη συνέχεια, επιλέγονται τα tasks τα οποία θα συνθέσουν το Sprint Backlog, δηλαδή τα tasks τα οποία θα πρέπει να υλοποιηθούν από την ομάδα στο επόμενο Sprint. O Product Owner μαζί με την ομάδα των προγραμματιστών αξιολογούν την πορεία του project και των διαθέσιμων tasks και δηλώνονται τα tasks που θα ολοκληρωθούν στο Sprint που ακολουθεί.

Daily Scrum: είναι ένα 15λεπτο meeting, όπου συμμετέχουν όλα τα μέλη της ομάδας μαζί με τον Scrum Master και στο οποίο αναφέρεται η πρόοδος που έχει πραγματοποιηθεί στο τρέχον Sprint. Κάθε μέλος ενημερώνει την υπόλοιπη ομάδα πάνω σε τι έχει δουλέψει, τι εμπόδια αντιμετώπισε και με τι θα ασχοληθεί εκείνη την ημέρα.

Sprint Retrospective: πρόκειται για ένα meeting αξιολόγησης του κάθε Sprint, στο οποίο ο Scrum Master προσπαθεί να εντοπίσει τις αδυναμίες που αντιμετώπισε η ομάδα, ώστε να βρεθούν σημεία βελτίωσης, αλλά και όλες τις ενέργειες που έφεραν αποτέλεσμα, ώστε να προσαρμοστούν κατά την εφαρμογή τους στα επόμενα Sprints.

Πώς ωφελεί πρακτικά το Scrum την TopΗost;

Πριν το Scrum, η μεταξύ μας επικοινωνία σχετικά με τα projects που έπρεπε να υλοποιηθούν, γινόταν μέσω email και συναντήσεων. Παρά το γεγονός ότι αυτό μας εξυπηρετούσε σε μικρά tasks, συναντούσαμε δυσκολίες όταν τα projects ήταν μεγαλύτερα και απαιτούσαν περισσότερη ενασχόληση ή λεπτομερέστερη οργάνωση.

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

Εφαρμόζοντας το Scrum στην καθημερινή μας εργασία είδαμε μεγάλη ποιοτική διαφορά, τόσο στην οργάνωση όσο και στον προγραμματισμό και την παραγωγικότητα. Μέσα από την Axosoft, την πλατφορμα που χρησιμοποιούμε για την εφαρμογή του Scrum, έχουμε άμεση και ταυτόχρονη πρόσβαση στα projects, τα tasks, αλλά και το στάδιο υλοποίησης στο οποίο βρίσκονται και επομένως μία ολοκληρωμένη εικόνα γύρω από αυτά.

scrum sprint

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

Μπορεί να γίνει έγκαιρη και ολοκληρωμένη προετοιμασία για τα projects που πρόκειται να υλοποιηθούν, να προστεθούν οποιαδήποτε στιγμή διευκρινίσεις, πληροφορίες ή γραφικά για κάποιο από αυτά, ενώ σε περίπτωση που προκύψει κάποια ανάγκη, ο υπεύθυνος τους τμήματος απευθύνεται στον Scrum Master, ώστε να εισάγει τα απαραίτητα tasks προς συζήτηση και υλοποίηση.

scrum internal task

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

Στο διαδίκτυο υπάρχει αρκετό υλικό για το scrum, για να πάρεις περισσότερες πληροφορίες, όπως αυτό το infographic. Επιπλέον, μπορείς να συμβουλευτείς και να διαβάσεις το εσωτερικό εκπαιδευτικό κείμενο για το Scrum που είχε ετοιμάσει για την ομάδα μας ο Γιάννης, ο δικός μας Scrum Master, όταν ξεκινήσαμε να το εφαρμόζουμε.

Αν το χρησιμοποιήσεις και εσύ στην ομάδα σου, πες μας την εμπειρία σου στα σχόλια!

Σου άρεσε αυτό το blog post;

Τότε σίγουρα θα λατρέψεις τα επόμενα! Συμπλήρωσε το email σου για να μη χάσεις ούτε ένα.;

Κάνε δωρεάν την εγγραφή σου και στο εξής θα λαμβάνεις ενημερώσεις για τα νέα post του Τοp.Host Blog. Οποιαδήποτε στιγμή θελήσεις μπορείς να αφαιρέσεις το email σου από τη λίστα παραληπτών. Μάθε περισσότερα στην Πολιτική Απορρήτου.

Μπες στη συζήτηση

Πες μας τη γνώμη σου!