Διαχείριση μιας ομάδας προγραμματιστών: πώς και πώς να τους παρακινήσετε σωστά; Μέρος δεύτερο

Επίγραμμα:
Ο σύζυγος κοιτάζοντας τα βρώμικα παιδιά λέει στη γυναίκα του: καλά, αυτά να τα πλύνουμε ή να γεννήσουμε καινούργια;

Κάτω από την περικοπή βρίσκεται το δεύτερο μέρος ενός άρθρου του αρχηγού της ομάδας μας, καθώς και του Διευθυντή Ανάπτυξης Προϊόντων της RAS, Igor Marnat, σχετικά με τις ιδιαιτερότητες της παροχής κινήτρων στους προγραμματιστές. Το πρώτο μέρος του άρθρου μπορείτε να το βρείτε εδώ - habr.com/ru/company/parallels/blog/452598

Διαχείριση μιας ομάδας προγραμματιστών: πώς και πώς να τους παρακινήσετε σωστά; Μέρος δεύτερο

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

ΙΙΙ - Ανάγκη για ανήκειν και αγάπη

Διαχείριση μιας ομάδας προγραμματιστών: πώς και πώς να τους παρακινήσετε σωστά; Μέρος δεύτερο

Ήξερα ότι η ιταλική μαφία ονομαζόταν «Cosa Nostra», αλλά εντυπωσιάστηκα πολύ όταν έμαθα πώς μεταφράζεται το «Cosa Nostra». Το «Cosa Nostra» μεταφρασμένο από τα ιταλικά σημαίνει «Η επιχείρησή μας». Η επιλογή του ονόματος είναι πολύ επιτυχημένη για κίνητρα (ας αφήσουμε στην άκρη το επάγγελμα, σε αυτή την περίπτωση μας ενδιαφέρει μόνο το κίνητρο). Ένα άτομο θέλει συνήθως να είναι μέλος μιας ομάδας, να κάνει κάποια μεγάλη, κοινή, δουλειά μας.

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

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

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

Εκτός από τα εξωτερικά χαρακτηριστικά, αρκετοί άλλοι παράγοντες επηρεάζουν το αίσθημα του ανήκειν σε μια ομάδα.
Πρώτον, η παρουσία ενός κοινού στόχου που όλοι κατανοούν και μοιράζονται μια εκτίμηση της σημασίας του. Οι προγραμματιστές συνήθως θέλουν να καταλάβουν ότι κάνουν ένα ωραίο πράγμα, και κάνουν αυτό το ωραίο πράγμα μαζί, ως ομάδα.
Δεύτερον, η ομάδα πρέπει να έχει έναν χώρο επικοινωνίας στον οποίο είναι παρούσα όλη η ομάδα και που ανήκει μόνο σε αυτήν (για παράδειγμα, μια συνομιλία στο messenger, περιοδικές συγχρονίσεις ομάδας). Εκτός από εργασιακά θέματα, άτυπη επικοινωνία, μερικές φορές συζήτηση εξωτερικών γεγονότων, ελαφρύ offtop - όλα αυτά δημιουργούν μια αίσθηση κοινότητας και ομάδας.
Τρίτον, θα ήθελα να επισημάνω την εισαγωγή καλών πρακτικών μηχανικής στην ομάδα, την επιθυμία να αυξηθούν τα πρότυπα σε σύγκριση με αυτά που γίνονται δεκτά στην εταιρεία. Η εφαρμογή των καλύτερων προσεγγίσεων που γίνονται αποδεκτές στον κλάδο, πρώτα στην ομάδα και στη συνέχεια στην εταιρεία στο σύνολό της, δίνει στην ομάδα την ευκαιρία να αισθάνεται ότι είναι μπροστά από τους άλλους κατά κάποιο τρόπο, οδηγώντας τον δρόμο, αυτό δημιουργεί την αίσθηση του ανήκειν σε μια δροσερή ομάδα.

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

Γενέθλια, επέτειοι, σημαντικά γεγονότα στη ζωή των συναδέλφων - μια κοινή πίτσα, ένα μικρό δώρο από την ομάδα δίνουν ένα ζεστό αίσθημα συμμετοχής και ευγνωμοσύνης. Σε ορισμένες εταιρείες, συνηθίζεται να δίνονται μικρά αναμνηστικά σημάδια για 5, 10, 15 χρόνια εργασίας στην εταιρεία. Από τη μία, δεν νομίζω ότι αυτό με παρακινεί τόσο πολύ για νέα επιτεύγματα. Αλλά, προφανώς, σχεδόν όλοι θα είναι ευχαριστημένοι που δεν τον έχουν ξεχάσει. Αυτή είναι μια από εκείνες τις περιπτώσεις που η απουσία ενός γεγονότος αποθαρρύνει και όχι η παρουσία του. Συμφωνώ, μπορεί να είναι πολύ κρίμα αν το LinkedIn σας το υπενθύμισε το πρωί και σας συνεχάρη για τη 10η επέτειό σας στον χώρο εργασίας σας, αλλά ούτε ένας συνάδελφος από την εταιρεία δεν σας συνεχάρη ή σας θυμήθηκε.

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

Ένας σημαντικός παράγοντας, που στα αγγλικά ονομάζεται ιδιοκτησία (η κυριολεκτική μετάφραση του «κατοχή» δεν αντικατοπτρίζει πλήρως το νόημά του). Αυτό δεν είναι ένα αίσθημα ιδιοκτησίας, αλλά μάλλον ένα αίσθημα ευθύνης για το έργο σας, αυτό το συναίσθημα όταν συνδέετε συναισθηματικά τον εαυτό σας με το προϊόν και το προϊόν με τον εαυτό σας. Αυτό αντιστοιχεί περίπου στην προσευχή του πεζοναύτη στην ταινία "Full Metal Jacket": "Αυτό είναι το τουφέκι μου. Υπάρχουν πολλά τέτοια τουφέκια, αλλά αυτό είναι δικό μου. Το τουφέκι μου είναι ο καλύτερός μου φίλος. Είναι η ζωή μου. Πρέπει να μάθω να το κατέχω με τον ίδιο τρόπο που κατέχω τη ζωή μου. Χωρίς εμένα το τουφέκι μου είναι άχρηστο. Είμαι άχρηστος χωρίς το τουφέκι μου. Πρέπει να πυροβολήσω το τουφέκι μου ευθεία. Πρέπει να πυροβολήσω με μεγαλύτερη ακρίβεια από τον εχθρό που προσπαθεί να με σκοτώσει. Πρέπει να τον πυροβολήσω πριν με πυροβολήσει. Ας το έτσι… ».

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

IV. Ανάγκη για αναγνώριση

Μια ευγενική λέξη ευχαριστεί και τη γάτα. Ο καθένας παρακινείται από την αναγνώριση της σημασίας της δουλειάς που έχει κάνει και τη θετική αξιολόγησή της. Μιλήστε με προγραμματιστές, δώστε τους περιοδικά σχόλια, γιορτάστε μια καλή δουλειά. Εάν έχετε μια μεγάλη και κατανεμημένη ομάδα, οι περιοδικές συναντήσεις (που ονομάζονται ένα προς ένα) είναι ιδανικές για αυτό· εάν η ομάδα είναι πολύ μικρή και συνεργάζεται τοπικά, αυτή η ευκαιρία παρέχεται συνήθως χωρίς ειδικές συναντήσεις στο ημερολόγιο (αν και περιοδικές σε ένα είναι το μόνο Χρειάζεται ακόμα, απλά μπορείτε να το κάνετε λιγότερο συχνά). Αυτό το θέμα καλύπτεται καλά στα podcast για διαχειριστές στο manager-tools.com.

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

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

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

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

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

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

V. Η ανάγκη για γνώση και αυτοπραγμάτωση.

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

Και οι δύο διαδικασίες απαιτούν μεγάλη πνευματική προσπάθεια, αλλά η πρακτική τους απόδοση είναι διαφορετική. Πιστεύεται ότι οι προγραμματιστές είναι απρόθυμοι να υποστηρίξουν υπάρχουσες λύσεις· έχουν μάλλον κίνητρο να αναπτύξουν νέες. Υπάρχει ένας κόκκος σοφίας σε αυτό. Από την άλλη πλευρά, η πιο παρακινημένη και ενωμένη ομάδα με την οποία συνεργάστηκα ποτέ ήταν αφιερωμένη στην υποστήριξη ενός υπάρχοντος προϊόντος, στην εύρεση και στη διόρθωση σφαλμάτων αφού η ομάδα υποστήριξης επικοινώνησε μαζί τους. Τα παιδιά ζούσαν κυριολεκτικά για αυτή τη δουλειά και ήταν έτοιμοι να βγουν τα Σάββατα και τις Κυριακές. Κάποτε αντιμετωπίσαμε εναγωνίως ένα άλλο επείγον και πολύπλοκο πρόβλημα, είτε το βράδυ της 31ης Δεκεμβρίου είτε το απόγευμα της 1ης Ιανουαρίου.

Διάφοροι παράγοντες επηρέασαν αυτό το υψηλό κίνητρο. Πρώτον, ήταν μια εταιρεία με μεγάλο όνομα στον κλάδο, η ομάδα συνδέθηκε μαζί της (βλ. «Η ανάγκη για συνεργασία»). Δεύτερον, ήταν τα τελευταία σύνορα, δεν υπήρχε κανείς πίσω τους, δεν υπήρχε ομάδα προϊόντων εκείνη την εποχή. Μεταξύ αυτών και των πελατών υπήρχαν δύο επίπεδα υποστήριξης, αλλά αν το πρόβλημα τους έφτανε, δεν υπήρχε πού να υποχωρήσουν, κανείς δεν ήταν πίσω τους, ολόκληρη η εταιρεία ήταν πάνω τους (τέσσερις νέοι προγραμματιστές). Τρίτον, αυτή η μεγάλη εταιρεία είχε πολύ μεγάλους πελάτες (κυβερνήσεις χωρών, εταιρείες αυτοκινητοβιομηχανίας και αεροπορίας κ.λπ.) και εγκαταστάσεις πολύ μεγάλης κλίμακας σε πολλές χώρες. Ως αποτέλεσμα, πάντα περίπλοκα και ενδιαφέροντα προβλήματα, απλά προβλήματα επιλύθηκαν με την υποστήριξη προηγούμενων επιπέδων. Τέταρτον, το κίνητρο της ομάδας επηρεάστηκε σε μεγάλο βαθμό από το επαγγελματικό επίπεδο της ομάδας υποστήριξης με την οποία αλληλεπιδρούσαν (υπήρχαν πολύ έμπειροι και τεχνικά ικανοί μηχανικοί) και ήμασταν πάντα σίγουροι για την ποιότητα των δεδομένων που ετοίμασαν, την ανάλυση που έκαναν , και τα λοιπά. Πέμπτον, και νομίζω ότι αυτό είναι το πιο σημαντικό σημείο - η ομάδα ήταν πολύ νέα, όλα τα παιδιά ήταν στην αρχή της καριέρας τους. Ενδιαφέρονταν να μελετήσουν ένα μεγάλο και περίπλοκο προϊόν, να λύσουν σοβαρά προβλήματα που ήταν νέα για αυτούς σε ένα νέο περιβάλλον, επιδίωκαν να ταιριάζουν επαγγελματικά με το επίπεδο των γύρω ομάδων, των προβλημάτων και των πελατών. Το έργο αποδείχθηκε ένα εξαιρετικό σχολείο, όλοι έκαναν αργότερα μια καλή καριέρα στην εταιρεία και έγιναν τεχνικοί ηγέτες και ανώτερα στελέχη, ένας από τους τύπους είναι τώρα τεχνικός διευθυντής στο Amazon Web Services, ο άλλος τελικά μετακόμισε στην Google και όλα από αυτούς θυμούνται ακόμα αυτό το έργο με ζεστασιά.

Αν αυτή η ομάδα αποτελούνταν από προγραμματιστές με 15-20 χρόνια εμπειρίας πίσω τους, το κίνητρο θα ήταν διαφορετικό. Η ηλικία και η εμπειρία δεν είναι, φυσικά, 100% καθοριστικοί παράγοντες· όλα εξαρτώνται από τη δομή των κινήτρων. Στη συγκεκριμένη περίπτωση, η επιθυμία για γνώση και ανάπτυξη νέων προγραμματιστών απέδωσε εξαιρετικά αποτελέσματα.

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

Πέρα από την πυραμίδα του Maslow: ορατότητα αποτελεσμάτων, gamification και ανταγωνισμός, χωρίς μαλακίες

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

Το πρώτο είναι η ορατότητα και η εγγύτητα του αποτελέσματος.

Η ανάπτυξη λογισμικού είναι συνήθως ένας μαραθώνιος. Τα αποτελέσματα των προσπαθειών Ε&Α γίνονται ορατά μετά από μήνες, μερικές φορές χρόνια. Είναι δύσκολο να φτάσεις σε έναν στόχο που είναι πολύ πέρα ​​από τον ορίζοντα, ο όγκος της δουλειάς είναι τρομακτικός, ο στόχος είναι μακριά, όχι ξεκάθαρος και μη ορατός, «η νύχτα είναι σκοτεινή και γεμάτη φρίκη». Είναι καλύτερα να σπάσουμε το δρόμο προς αυτό σε μέρη, να κάνουμε ένα μονοπάτι προς το πλησιέστερο δέντρο που είναι ορατό, προσβάσιμο, τα περιγράμματα είναι ξεκάθαρα και δεν είναι μακριά από εμάς - και πηγαίνουμε σε αυτόν τον κοντινό στόχο. Θέλουμε να κάνουμε μια προσπάθεια πολλών ημερών ή εβδομάδων, να πάρουμε και να αξιολογήσουμε το αποτέλεσμα και μετά να προχωρήσουμε. Επομένως, αξίζει να σπάσετε το έργο σε μικρά μέρη (τα σπριντ σε ευέλικτο εξυπηρετούν καλά αυτόν τον σκοπό). Έχουμε ολοκληρώσει μέρος της δουλειάς - το ηχογραφήσαμε, το εκπνεύσαμε, το συζητήσαμε, τιμωρήσαμε τους ένοχους, ανταμείψαμε τους αθώους - μπορούμε να ξεκινήσουμε τον επόμενο κύκλο.

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

Ταυτόχρονα, η ορατότητα του αποτελέσματος είναι κυριολεκτικά σημαντική. Ένα κλειστό χαρακτηριστικό στη λίστα πρέπει να γίνει πράσινο. Εάν ο κώδικας γραφτεί, δοκιμαστεί, απελευθερωθεί, αλλά δεν υπάρχει αλλαγή στην οπτική κατάσταση ορατή στον προγραμματιστή, θα αισθανθεί ελλιπής, δεν θα υπάρχει αίσθηση ολοκλήρωσης. Σε μία από τις ομάδες του συστήματος ελέγχου έκδοσης μας, κάθε ενημερωμένη έκδοση κώδικα πέρασε από τρία διαδοχικά στάδια - η κατασκευή συναρμολογήθηκε και οι δοκιμές πέρασαν, η ενημερωμένη έκδοση κώδικα πέρασε την αναθεώρηση κώδικα, η ενημερωμένη έκδοση κώδικα συγχωνεύθηκε. Κάθε στάδιο σημειώθηκε οπτικά με ένα πράσινο τσιμπούρι ή κόκκινο σταυρό. Μόλις ένας από τους προγραμματιστές παραπονέθηκε ότι η αναθεώρηση του κώδικα κράτησε πάρα πολύ, οι συνάδελφοι έπρεπε να επιταχύνουν, οι ενημερώσεις κώδικα παρέμειναν για αρκετές ημέρες. Ρώτησα, τι αλλάζει πραγματικά αυτό για αυτόν; Άλλωστε όταν γραφτεί ο κώδικας, συναρμολογηθεί το build και περάσουν οι δοκιμές, δεν χρειάζεται να δώσει σημασία στο απεσταλμένο patch αν δεν υπάρχουν σχόλια. Οι ίδιοι οι συνάδελφοι θα το εξετάσουν και θα το εγκρίνουν (αν, πάλι, δεν υπάρχουν σχόλια). Εκείνος απάντησε, «Ιγκόρ, θέλω να πάρω τα τρία πράσινα τσιμπούρια μου το συντομότερο δυνατό».

Το δεύτερο σημείο είναι το gamification και ο ανταγωνισμός.

Κατά την ανάπτυξη ενός από τα προϊόντα, η ομάδα μηχανικών μας είχε στόχο να πάρει εξέχουσα θέση στην κοινότητα ενός από τα προϊόντα ανοιχτού κώδικα, για να μπει στο top-3. Εκείνη την εποχή, δεν υπήρχε αντικειμενικός τρόπος για να αξιολογηθεί η προβολή κάποιου στην κοινότητα· κάθε μία από τις μεγάλες συμμετέχουσες εταιρείες μπορούσε να ισχυριστεί (και περιοδικά να ισχυριστεί) ότι ήταν ο νούμερο ένα συνεισφέρων, αλλά δεν υπήρχε πραγματικός τρόπος σύγκρισης των συνεισφορών των συμμετεχόντων μεταξύ τους, να αξιολογήσουν έγκαιρα τη δυναμική του. Αντίστοιχα, δεν υπήρχε τρόπος να τεθεί ένας στόχος για την ομάδα που θα μπορούσε να μετρηθεί σε κάποιους παπαγάλους, να εκτιμηθεί ο βαθμός επίτευξής της κ.λπ. Για την επίλυση αυτού του προβλήματος, η ομάδα μας έχει αναπτύξει ένα εργαλείο για τη μέτρηση και την απεικόνιση της συνεισφοράς εταιρειών και μεμονωμένων συντελεστών www.stackalytics.com. Από κίνητρα, αποδείχθηκε ότι ήταν απλώς μια βόμβα. Δεν ήταν μόνο οι μηχανικοί και οι ομάδες που παρακολουθούσαν συνεχώς την πρόοδό τους και την πρόοδο των συναδέλφων και των ανταγωνιστών τους. Η ανώτατη διοίκηση της εταιρείας μας και όλοι οι μεγάλοι ανταγωνιστές ξεκίνησαν επίσης τη μέρα τους με τα stackalytics. Όλα έγιναν πολύ διαφανή και οπτικά, ο καθένας μπορούσε να παρακολουθεί προσεκτικά την πρόοδό του, να συγκρίνει με συναδέλφους κ.λπ. Έχει γίνει βολικό και εύκολο για τους μηχανικούς, τους διευθυντές και τις ομάδες να θέτουν στόχους.

Ένα σημαντικό σημείο που προκύπτει κατά την εφαρμογή οποιουδήποτε συστήματος ποσοτικών μετρήσεων είναι ότι μόλις τις εφαρμόσετε, το σύστημα προσπαθεί αυτόματα να δώσει προτεραιότητα στην επίτευξη αυτών των ποσοτικών μετρήσεων, εις βάρος των ποιοτικών. Για παράδειγμα, ο αριθμός των ελέγχων κώδικα που ολοκληρώθηκαν χρησιμοποιείται ως μία από τις μετρήσεις. Προφανώς, η αναθεώρηση κώδικα μπορεί να γίνει με διαφορετικούς τρόπους, μπορείτε να αφιερώσετε αρκετές ώρες σε μια ενδελεχή αναθεώρηση και έλεγχο ενός σύνθετου κώδικα με έλεγχο δοκιμών, να το εκτελέσετε στον πάγκο σας, να ελέγξετε με τεκμηρίωση και να λάβετε συν μία κριτική στο κάρμα σας ή Κάντε τυφλά κλικ σε μερικές δεκάδες μπαλώματα σε λίγα λεπτά, δώστε στο καθένα +1 και λάβετε συν είκοσι στο κάρμα. Υπήρχαν κωμικές περιπτώσεις που οι μηχανικοί έκαναν κλικ σε patches τόσο γρήγορα που έδιναν +1 σε αυτόματα patches από το σύστημα CI. Όπως αστειευτήκαμε αργότερα, «πήγαινε, πήγαινε, Τζένκινς». Στην περίπτωση των δεσμεύσεων, υπήρχαν επίσης πολλά άτομα που πέρασαν από τον κώδικα με εργαλεία μορφοποίησης κώδικα, επεξεργάστηκαν σχόλια, άλλαξαν περιόδους σε κόμματα και έτσι ανέβασαν το κάρμα τους. Η αντιμετώπιση αυτού είναι αρκετά απλή: χρησιμοποιούμε την κοινή λογική και, εκτός από ποσοτικές μετρήσεις, χρησιμοποιούμε και βασικές, ποιοτικές. Ο βαθμός χρήσης των αποτελεσμάτων της εργασίας της ομάδας, ο αριθμός των εξωτερικών συνεργατών, το επίπεδο κάλυψης των δοκιμών, η σταθερότητα των μονάδων και ολόκληρου του προϊόντος, τα αποτελέσματα της κλίμακας και οι δοκιμές απόδοσης, ο αριθμός των μηχανικών που έλαβαν τον βασικό κριτή ιμάντες, το γεγονός ότι τα έργα έγιναν δεκτά στην κοινότητα των βασικών έργων, η συμμόρφωση με τα κριτήρια των διαφορετικών σταδίων της μηχανικής διαδικασίας - όλοι αυτοί και πολλοί άλλοι παράγοντες πρέπει να αξιολογηθούν μαζί με απλές ποσοτικές μετρήσεις.

Και τέλος, το τρίτο σημείο - Όχι μαλακίες.

Οι προγραμματιστές είναι πολύ έξυπνοι άνθρωποι και εξαιρετικά λογικοί στη δουλειά τους. Ξοδεύουν 8-10 ώρες την ημέρα χτίζοντας μακριές και πολύπλοκες λογικές αλυσίδες, έτσι βλέπουν ευπάθειες σε αυτές εν κινήσει. Όταν κάνουν κάτι, θέλουν, όπως όλοι οι άλλοι, να καταλάβουν γιατί το κάνουν, τι θα αλλάξει προς το καλύτερο. Είναι εξαιρετικά σημαντικό οι στόχοι που θέτεις για την ομάδα σου να είναι ειλικρινείς και ρεαλιστικοί. Το να προσπαθείς να πουλήσεις μια κακή ιδέα σε μια ομάδα προγραμματισμού είναι κακή ιδέα. Μια ιδέα είναι κακή αν δεν την πιστεύεις μόνος σου ή, σε ακραίες περιπτώσεις, δεν έχεις την εσωτερική κατάσταση της διαφωνίας και της δέσμευσης (δεν συμφωνώ, αλλά θα το κάνω). Κάποτε εφαρμόσαμε ένα σύστημα κινήτρων σε μια εταιρεία, ένα από τα στοιχεία του οποίου ήταν ένα ηλεκτρονικό σύστημα για την παροχή σχολίων. Επένδυσαν πολλά χρήματα, πήγαν κόσμο στην Αμερική για εκπαίδευση, γενικά επένδυσαν στο έπακρο. Κάποτε, σε μια συνομιλία μετά την εκπαίδευση, ένας από τους διευθυντές είπε στους υφισταμένους του: «Η ιδέα δεν είναι κακή, φαίνεται ότι θα λειτουργήσει. Δεν θα σου δώσω ηλεκτρονικά σχόλια ο ίδιος, αλλά εσύ τα δίνεις στους ανθρώπους σου και τα απαιτείς από αυτούς». Αυτό ήταν, τίποτα δεν μπορούσε να εφαρμοστεί περαιτέρω. Η ιδέα, φυσικά, δεν κατέληγε σε τίποτα.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο