Δύο σε ένα κουτί (αν μπορείτε) και όλοι στην τεκμηρίωση (πάντα).
Σε ένα πλαίσιο πληροφορικής, το "δύο σε ένα κουτί" αναφέρεται σε δύο διακομιστές ή στοιχεία που έχουν σχεδιαστεί για να συνεργάζονται για να παρέχουν πλεονασμό και αυξημένη αξιοπιστία. Αυτή η ρύθμιση μπορεί να διασφαλίσει ότι εάν ένα στοιχείο αποτύχει, το άλλο θα αναλάβει τις λειτουργίες του, διατηρώντας έτσι τη συνέχεια της υπηρεσίας. Ο στόχος της ύπαρξης "δύο σε ένα κουτί" είναι να παρέχει υψηλή διαθεσιμότητα και ανάκτηση από καταστροφές. Αυτό ισχύει και για τους ανθρώπινους ρόλους σε έναν οργανισμό. όμως σπάνια εφαρμόζεται.
Ας δούμε ένα σχετικό παράδειγμα του Analytics. Όλοι πιθανότατα γνωρίζουμε ένα άτομο στην εταιρεία ή τον οργανισμό μας με το όνομα που είναι το άτομο που θέλει να πάει στο Analytics. Είναι αυτοί που έχουν αναφορές ή πίνακες ελέγχου με το όνομά τους – Αναφορά του Μάικ ή Πίνακας ελέγχου της Τζέιν. Σίγουρα, υπάρχουν και άλλοι άνθρωποι που ξέρουν αναλυτικά, αλλά αυτοί είναι οι αληθινοί πρωταθλητές που φαίνεται να ξέρουν πώς να κάνουν τα πιο δύσκολα πράγματα και να ξεπερνούν τις προθεσμίες. Το θέμα είναι ότι αυτοί οι άνθρωποι στέκονται μόνοι τους. Σε πολλές περιπτώσεις υπό πίεση, δεν συνεργάζονται με κανέναν, καθώς αυτό μπορεί να τους επιβραδύνει και εδώ ξεκινά το πρόβλημα. Δεν πιστεύουμε ποτέ ότι θα χάσουμε αυτό το άτομο. Θα απέχω από το τυπικό «ας πούμε ότι τους χτυπάει ένα λεωφορείο» ή χρησιμοποιώντας ένα παράδειγμα αξιοποιώντας τις τρέχουσες ευκαιρίες στην αγορά εργασίας και θα πω κάτι θετικό όπως «κέρδισαν το λαχείο!», γιατί όλοι πρέπει να κάνουμε αυτό που μπορούμε για να είμαστε θετικοί. αυτές τις μέρες.
Η Ιστορία Μας
Έρχεται το πρωί της Δευτέρας και ο ειδικός μας στα analytics και πρωταθλητής MJ υπέβαλε την παραίτησή του. Ο MJ κέρδισε το λαχείο και έχει ήδη φύγει από τη χώρα χωρίς φροντίδα στον κόσμο. Η ομάδα και οι άνθρωποι που γνωρίζουν τον MJ είναι ενθουσιασμένοι και ζηλεύουν, ωστόσο η δουλειά πρέπει να πάει. Τώρα είναι που θα γίνει κατανοητή η αξία και η πραγματικότητα αυτού που έκανε ο MJ. Ο MJ ήταν υπεύθυνος για την τελική δημοσίευση και την επικύρωση των αναλυτικών στοιχείων. Πάντα φαινόταν ότι ήταν σε θέση να βελτιώσουν την αποτελεσματικότητα ή να κάνουν αυτή τη δύσκολη αλλαγή προτού παρέχουν τα αναλυτικά στοιχεία σε όλους. Κανείς δεν νοιαζόταν πραγματικά για το πώς έγινε και ήταν ασφαλής από το γεγονός ότι μόλις συνέβη και ο MJ ήταν ένας μεμονωμένος Ροκ σταρ της Analytics, οπότε δόθηκε ένα επίπεδο αυτονομίας. Τώρα, καθώς η ομάδα αρχίζει να μαζεύει τα κομμάτια, τα αιτήματα, τα καθημερινά ζητήματα, τα αιτήματα τροποποίησης, χάνονται και αρχίζουν να ανακατεύονται. Αναφορές / Πίνακες ελέγχου βρίσκονται σε άγνωστες καταστάσεις. ορισμένα στοιχεία δεν ενημερώθηκαν το Σαββατοκύριακο και δεν ξέρουμε γιατί. οι άνθρωποι ρωτούν τι συμβαίνει και πότε θα διορθωθούν τα πράγματα, οι επεξεργασίες που ο MJ είπε ότι έγιναν δεν εμφανίζονται και δεν έχουμε ιδέα γιατί. Η ομάδα φαίνεται άσχημη. Είναι μια καταστροφή και τώρα όλοι μισούμε τον MJ.
Τα μαθήματα
Υπάρχουν μερικές εύκολες και προφανείς λύσεις.
- Μην αφήνετε ποτέ ένα άτομο να εργάζεται μόνο του. Ακούγεται καλό, αλλά σε μικρότερες ευέλικτες ομάδες, δεν έχουμε χρόνο ή κόσμο για να συμβεί αυτό. Οι άνθρωποι έρχονται και φεύγουν, τα καθήκοντα είναι πολλά, άρα είναι διαίρει και βασίλευε στο όνομα της παραγωγικότητας.
- Ο καθένας πρέπει να μοιραστεί τις γνώσεις του. Ακούγεται επίσης καλό, αλλά μοιραζόμαστε με το σωστό άτομο ή άτομα; Λάβετε υπόψη ότι πολλοί νικητές λοταρίας είναι συνάδελφοι. Η πραγματοποίηση συνεδριών ανταλλαγής γνώσεων αφαιρεί επίσης χρόνο από εργασίες και οι περισσότεροι άνθρωποι επενδύουν μόνο σε δεξιότητες και γνώσεις ακριβώς την ώρα που χρειάζονται.
Λοιπόν, ποιες είναι μερικές πραγματικές λύσεις που ο καθένας μπορεί να εφαρμόσει και να πάρει πίσω;
Ας ξεκινήσουμε με τη Διαχείριση διαμόρφωσης. Θα χρησιμοποιήσουμε αυτόν ως γενικό όρο για πολλά παρόμοια θέματα.
- Διαχείριση Αλλαγών: Η διαδικασία σχεδιασμού, υλοποίησης και ελέγχου αλλαγών σε συστήματα λογισμικού με δομημένο και συστηματικό τρόπο. Αυτή η διαδικασία στοχεύει να διασφαλίσει ότι οι αλλαγές γίνονται με ελεγχόμενο και αποτελεσματικό τρόπο (με δυνατότητα επαναφοράς), με ελάχιστη διακοπή στο υπάρχον σύστημα και μέγιστο όφελος για τον οργανισμό.
- Διαχείριση έργου: Ο σχεδιασμός, η οργάνωση και ο έλεγχος των έργων ανάπτυξης λογισμικού για να διασφαλιστεί ότι ολοκληρώνονται έγκαιρα, εντός του προϋπολογισμού και σύμφωνα με τα επιθυμητά πρότυπα ποιότητας. Περιλαμβάνει τον συντονισμό πόρων, δραστηριοτήτων και εργασιών σε όλο τον κύκλο ζωής ανάπτυξης λογισμικού για την επίτευξη των στόχων του έργου και την παράδοση του προϊόντος λογισμικού εντός του χρονοδιαγράμματος.
- Συνεχής ενσωμάτωση και συνεχής παράδοση (CI/CD): Η διαδικασία αυτοματοποίησης της κατασκευής, δοκιμής και ανάπτυξης λογισμικού. Η συνεχής ενοποίηση απαιτεί τακτική συγχώνευση αλλαγών κώδικα σε κοινόχρηστο αποθετήριο και εκτέλεση αυτοματοποιημένων δοκιμών για τον εντοπισμό σφαλμάτων νωρίς στη διαδικασία ανάπτυξης. Η συνεχής παράδοση/ανάπτυξη περιλαμβάνει την αυτόματη απελευθέρωση ελεγμένων και επικυρωμένων αλλαγών κώδικα στην παραγωγή, επιτρέποντας γρήγορες και συχνές εκδόσεις νέων λειτουργιών και βελτιώσεων.
- Έλεγχος έκδοσης: Η διαδικασία διαχείρισης αλλαγών στον πηγαίο κώδικα και άλλα τεχνουργήματα λογισμικού με την πάροδο του χρόνου χρησιμοποιώντας εξειδικευμένα εργαλεία λογισμικού. Επιτρέπει στους προγραμματιστές να συνεργάζονται σε μια βάση κώδικα, να διατηρούν ένα πλήρες ιστορικό αλλαγών και να πειραματίζονται με νέες δυνατότητες χωρίς να επηρεάζουν την κύρια βάση κώδικα.
Όλα τα παραπάνω αναφέρονται σε καλές πρακτικές ανάπτυξης λογισμικού. Τα Analytics που οδηγούν και διευθύνουν την επιχείρηση δεν αξίζουν λιγότερα, καθώς είναι κρίσιμης σημασίας για τη λήψη αποφάσεων. Όλα τα στοιχεία αναλυτικών στοιχείων (εργασίες ETL, σημασιολογικοί ορισμοί, ορισμοί μετρήσεων, αναφορές, πίνακες εργαλείων, ιστορίες κ.λπ.) είναι απλώς αποσπάσματα κώδικα με οπτική διεπαφή για σχεδιασμό και φαινομενικά μικρές αλλαγές μπορούν να προκαλούν όλεθρο στις λειτουργίες.
Η χρήση του Configuration Management μας καλύπτει να συνεχίσουμε να λειτουργούμε σε καλή κατάσταση. Τα περιουσιακά στοιχεία έχουν εκδοθεί, ώστε να μπορούμε να δούμε τι έχει συμβεί στη διάρκεια της ζωής τους, γνωρίζουμε ποιος εργάζεται πάνω σε τι μαζί με την πρόοδο που έχει σημειωθεί και τα χρονοδιαγράμματα, και γνωρίζουμε ότι η παραγωγή θα συνεχιστεί. Αυτό που δεν καλύπτεται από καμία καθαρή διαδικασία είναι η μεταφορά γνώσης και η κατανόηση του γιατί τα πράγματα είναι όπως έχουν.
Κάθε σύστημα, βάση δεδομένων και εργαλείο ανάλυσης έχουν τις δικές τους ιδιορρυθμίες. Πράγματα που τους κάνουν να πηγαίνουν γρήγορα ή αργά, αντικείμενα που τους κάνουν να συμπεριφέρονται με συγκεκριμένο τρόπο ή να παράγουν ένα επιθυμητό αποτέλεσμα. Αυτές μπορεί να είναι ρυθμίσεις σε επίπεδο συστήματος ή σε παγκόσμιο επίπεδο ή πράγματα εντός της σχεδίασης στοιχείων που τις κάνουν να λειτουργούν όπως θα έπρεπε. Το πρόβλημα είναι ότι τα περισσότερα από αυτά τα πράγματα μαθαίνονται με την πάροδο του χρόνου και δεν υπάρχει πάντα μέρος για να τα τεκμηριώσετε. Ακόμη και καθώς μεταβαίνουμε σε συστήματα Cloud όπου δεν ελέγχουμε πλέον τον τρόπο εκτέλεσης της εφαρμογής και βασιζόμαστε στον προμηθευτή για να το κάνει όσο το δυνατόν πιο γρήγορα, η προσαρμογή των ορισμών συνεχίζεται στα περιουσιακά μας στοιχεία για να ξεκλειδώσει ακριβώς αυτό που αναζητούμε. Αυτή η γνώση είναι αυτό που πρέπει να συλλάβει και να μοιραστεί κάνοντας τη διαθέσιμη σε άλλους. Αυτή η γνώση πρέπει να απαιτείται ως μέρος της τεκμηρίωσης των περιουσιακών στοιχείων και να αποτελεί αναπόσπαστο μέρος του ελέγχου έκδοσης και του ελέγχου CI/CD και της διαδικασίας έγκρισης και σε ορισμένες περιπτώσεις ακόμη και ως μέρος μιας λίστας ελέγχου πριν από τη δημοσίευση των πραγμάτων που πρέπει να κάνετε και όχι κάνω.
Δεν υπάρχουν μαγικές απαντήσεις ή τεχνητή νοημοσύνη για να καλύψουμε συντομεύσεις στις διεργασίες αναλυτικών στοιχείων μας ή έλλειψη αυτών. Ανεξάρτητα από το μέγεθος της ομάδας που διατηρεί τη ροή των δεδομένων και των αναλυτικών στοιχείων, μια επένδυση σε ένα σύστημα για την παρακολούθηση των αλλαγών, η έκδοση όλων των στοιχείων και η βοήθεια για την τεκμηρίωση της διαδικασίας ανάπτυξης και τη συλλογή γνώσεων είναι απαραίτητη. Επένδυση σε διαδικασίες και χρόνο εκ των προτέρων θα εξοικονομήσει έναν τόνο χαμένου χρόνου αργότερα για να προσδιορίσουμε τα πράγματα για να διατηρήσουμε μια υγιή κατάσταση των αναλυτικών μας στοιχείων. Τα πράγματα συμβαίνουν και είναι καλύτερο να έχετε ένα ασφαλιστήριο συμβόλαιο για MJ και άλλους νικητές λαχειοφόρων αγορών.