1. BusinessOperationsManagementTop 10 παγίδες DevOps: Γιατί αποτυγχάνουν τα έργα λογισμικού σας

Με την Emily Freeman

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

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

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

Αποτυχία να δοθεί προτεραιότητα στον πολιτισμό στο έργο DevOps

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

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

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

Αφήνοντας τους άλλους πίσω καθώς προχωράτε με DevOps

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

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

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

Απλά φροντίστε να μην υπερβείτε την ιδέα. Οι προκλήσεις DevOps θα συμβούν. Το DevOps δεν είναι μια ασημένια σφαίρα και απαιτεί έντονη εργασία στην αρχή για να διασφαλίσει ότι η ομάδα δημιουργεί μια κουλτούρα μάθησης στην οποία οι μηχανικοί είναι ελεύθεροι να κάνουν λάθη και να μεγαλώσουν.

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

Ξεχνώντας την ευθυγράμμιση των κινήτρων στο έργο DevOps

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

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

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

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

Κρατώντας ήσυχο το έργο DevOps

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

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

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

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

Ξεχάστε να μετρήσετε την εξέλιξη του DevOps

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

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

  • Εμπειρία του Emstakeployee: Οι μηχανικοί σας αγαπούν να εργάζονται στον οργανισμό σας; Μηνιαία επαναλαμβανόμενα έσοδα (MRR): Πόσα χρήματα πραγματοποιείτε από πελάτες; Εισιτήρια πελατών: Πόσα σφάλματα αναφέρουν οι πελάτες σας; Συχνότητα ανάπτυξης: Πόσες αναπτύξεις έχετε κάθε εβδομάδα ή μήνα; Μέσος χρόνος ανάκτησης (MTTR): Πόσο χρόνο χρειάζεται για να ανακάμψει από διακοπή υπηρεσίας; Διαθεσιμότητα υπηρεσίας: Τι είναι το ραντεβού της αίτησής σας; Μπήκες στις τρέχουσες συμφωνίες σε επίπεδο υπηρεσιών; Αποτυχημένες αναπτύξεις: Πόσες εκδόσεις προκαλούν διακοπές λειτουργίας; Πόσοι πρέπει να ανατραπούν;

Μικροδιαχείριση του έργου σας DevOps

Ένας από τους πιο γρήγορους τρόπους για να υπονομεύσετε τους μηχανικούς σας είναι να μικρο-διαχειριστείτε τη δουλειά τους. Ο Dan Pink, συγγραφέας του βιβλίου Drive, πιστεύει ότι τα κίνητρα στην εργασία καθοδηγούνται από τρεις παράγοντες:

  • Αυτονομία Μάστερ Σκοπός

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

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

Αλλαγή πάρα πολύ, πάρα πολύ γρήγορα

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

Μια αποτυχία του DevOps είναι ότι σημαίνει ότι όλοι ζουν στο πράσινο (νέο λογισμικό) με ουράνια τόξα και μονόκερα. Μπορεί να ακούγεται σαν: "Εάν μόνο εσείς μπορεί να κάνει την ομάδα σας να συνεργαστεί, η ανάπτυξη λογισμικού θα είναι εύκολη!" Αυτό δεν είναι αλήθεια. Η μηχανική λογισμικού είναι δύσκολη και πάντα θα είναι δύσκολη. Αυτό είναι ένα πράγμα που οι περισσότεροι μηχανικοί αρέσει γι 'αυτό. Σας αρέσει μια πρόκληση. Αλλά οι προκλήσεις πρέπει να είναι διεγερτικές, όχι αγχωτικές.

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

Η επιλογή των εργαλείων DevOps δεν είναι σωστή

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

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

Φοβούμενη αποτυχία του έργου σας DevOps

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

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

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

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

Το να είσαι πολύ άκαμπτο θα δημιουργήσει προβλήματα DevOps

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

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

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