# Τοπίο επιχείρησης: έξι προϊόντα, ένα Σύμπαν, σαράντα άνθρωποι Η Northwind Instruments φτιάχνει και πουλά έξι προϊόντα λογισμικού για εργαστηριακό εξοπλισμό. Σαράντα άνθρωποι: τρεις ομάδες προϊόντος, μια ομάδα πλατφόρμας, μια μικρή ομάδα δεδομένων, και μια λειτουργία αρχιτεκτονικής δύο ατόμων που κανείς δεν θέλει να γίνει σημείο συμφόρησης. Το πρόβλημά τους δεν είναι ότι λείπει η γνώση, είναι ότι ζει σε έξι μέρη και διαφωνεί με τον εαυτό της: το API περιγραμμένο σε ένα wiki, ο κανόνας διατήρησης σε ένα λογιστικό φύλλο συμμόρφωσης, το αληθινό γράφημα εξαρτήσεων στο κεφάλι ενός αρχιτέκτονα. Λειτουργούν ένα Σύμπαν με επτά μοντέλα: ένα μοντέλο τοπίου προϊόντων που περιγράφει το χαρτοφυλάκιο, και ένα μοντέλο ανά προϊόν. Δηλώνουν το προφίλ συμμόρφωσης Τυπικό (COMMON 6), επειδή ομοσπονδοποιούν με έναν εταίρο και δεν δημοσιεύουν τίποτε δημόσια. Αυτό είναι ένα τρίμηνο αυτής της λειτουργίας. ## Το σχήμα του Σύμπαντος Το μοντέλο τοπίου είναι ο γονέας: κρατά τα προϊόντα, τις ομάδες που λογοδοτούν για αυτά, τα κοινά συστατικά πλατφόρμας και τις εξαρτήσεις μεταξύ προϊόντων. Κάθε μοντέλο προϊόντος κρατά τη δική του σημασιολογία του προϊόντος. Τίποτε δεν διπλασιάζεται μεταξύ τους: το τοπίο αναφέρεται στους χώρους ονομάτων των προϊόντων, δεν τους αντιγράφει, ώστε να υπάρχει ακριβώς ένας κύριος ανά σύνολο δεδομένων (σιδερένιος έλεγχος IC-1 της COMMON) και το Μητρώο κυριότητας κάθε αποθετηρίου το δηλώνει (MIR-1). Η γένεση έγινε πριν από έναν χρόνο, ένα μοντέλο τη φορά (GOV-4): στήσιμο σκαλωσιάς, διορισμοί, αρχικοποίηση των μητρώων, πρώτη επικύρωση, ενεργοποίηση. Δύο από τα έξι μοντέλα προϊόντων γεννήθηκαν με μαζική εισαγωγή μιας υπάρχουσας εξαγωγής wiki (CON-7), η οποία κάλεσε πρώτα την MIR-1, ώστε το wiki να δηλωθεί εξωτερικός κύριος πριν μετακινηθεί έστω μία ψηφιολέξη, όχι μετά. ## Ποιος λογοδοτεί για τι Οι ρόλοι δεν είναι ρόλοι οργανογράμματος. Ο Κάτοχος είναι ο τεχνικός διευθυντής, ένα πρόσωπο, γιατί η ιδιοκτησία του Σύμπαντος δεν μπορεί να είναι επιτροπή (COMMON 2). Κάθε μοντέλο προϊόντος έχει έναν υπόλογο Επιστάτη, συνήθως τον τεχνικό επικεφαλής του προϊόντος· ο Επιστάτης του μοντέλου τοπίου είναι ένας από τους δύο αρχιτέκτονες. Οι διορισμοί, και οι αναπληρωτές που εμποδίζουν κάθε πύλη T1 να αστοχεί κλειστή όταν κάποιος λείπει, καταγράφονται στην GOV-3. Στο Σύμπαν εργάζονται περίπου είκοσι πράκτορες τεχνητής νοημοσύνης: πράκτορες συμφραζομένων ανά προϊόν, ένας στόλος συγκομιδής, δύο πράκτορες αναθεώρησης, ένας πράκτορας συνέπειας για όλο το τοπίο. Καθένας τους κρατά ένα Συμβόλαιο ανάθεσης εκδοθέν και παρακολουθούμενο στην CTX-9, που είναι το μοναδικό Σύστημα καταγραφής της ανάθεσης· η ένταξη, η ταυτότητα και τα δικαιώματα εισόδου προέρχονται από την CON-10 και αναφέρονται στο συμβόλαιο αντί να το επανεκδίδουν. Τα νέα ζεύγη πράκτορα και εύρους ξεκινούν σε T1 ή T2 και κερδίζουν το T3, και οι πρώτες πράξεις υπό οποιαδήποτε χορήγηση τρέχουν μία βαθμίδα αυστηρότερα από τη χορηγημένη. ## Η μήτρα εγκρίσεων στην πράξη Η μήτρα εγκρίσεων εδώ δεν είναι σελίδα wiki, είναι εκδοχοποιημένο τεχνούργημα της GOV-2 που εκτελεί η CON-4. Λέει, στην ουσία: οι συντακτικές και διορθωτικές αλλαγές στην τεκμηρίωση προϊόντος τρέχουν στη λωρίδα αυτόματης έγκρισης· οτιδήποτε αγγίζει συμβόλαιο API, κανόνα διατήρησης δεδομένων ή το γράφημα εξαρτήσεων του τοπίου απαιτεί τον υπόλογο Επιστάτη συν έναν αρχιτέκτονα· οτιδήποτε ανήκει στην κρίσιμη για την ασφάλεια κλάση συνόλων δεδομένων απαιτεί T1 συν δεύτερο ανθρώπινο αναθεωρητή (σιδερένιος έλεγχος IC-4 της COMMON). Μια συγκεκριμένη εβδομάδα. Ένας μηχανικός πλατφόρμας προτείνει να αλλάξει η διάρκεια ζωής του διακριτικού στο κοινό συστατικό αυθεντικοποίησης, κατατεθειμένο ως συνεισφορά (CON-1) με τη προέλευση συλληφθείσα (CON-2) και τις πύλες επικύρωσης να έχουν τρέξει (CON-3). Στην CON-4 ο ταξινομητής λωρίδας που βασίζεται στη διαφορά κάνει αυτό που τους σώζει: ο καταθέτης το ταξινόμησε ως "διορθωτικό", αλλά η διαφορά αγγίζει σύνολο δεδομένων συμβολαίου, οπότε ο ταξινομητής επιβάλλει ανθρώπινη αναθεώρηση ανεξάρτητα από την προτεινόμενη ταξινόμηση, και καταγράφει την αναντιστοιχία ως εύρημα και όχι απλώς ως διαφυγή. Δύο προϊόντα εξαρτώνται από το συστατικό, οπότε η μήτρα φέρνει και τους δύο Επιστάτες προϊόντων. Ο Πράκτορας παρέχει την ανάλυση επίπτωσης από το γράφημα προέλευσης (βήμα 5 της CON-4), απαριθμώντας τι αναφέρεται στο συστατικό. Η αλλαγή εγκρίνεται με αιτιολογία, εκδοχοποιείται (CON-6), και σφραγίζεται ο κωδικός αιτίας (MIR-10). Τον προηγούμενο μήνα, ο ίδιος μηχανισμός έπιασε κάτι λιγότερο αθώο: η προτεινόμενη από πράκτορα ταξινόμηση θα είχε συγχωνεύσει αυτόματα μια επεξεργασία που άλλαζε αθόρυβα τη σημασία του "ενεργός πελάτης" στο μοντέλο τοπίου. Τα ευρήματα αναντιστοιχίας ταξινόμησης και διαφοράς αναθεωρούνται στον τριμηνιαίο έλεγχο· εκείνο έγινε τροποποίηση των κριτηρίων λωρίδας στην GOV-2. ## Μια εργασία FCD, εκτελεσμένη από πράκτορα Ζητείται από έναν προγραμματιστή να προσθέσει ένα πεδίο στο API παρακολούθησης δειγμάτων ενός προϊόντος. Αυτή είναι εργασία Ανάπτυξης με πλήρη συμφραζόμενα και τρέχει τον βρόχο CTX-5, εκτελούμενη από τον πράκτορα ανάπτυξης εκείνου του προϊόντος υπό συμβόλαιο T2. Ο πράκτορας ζητά συμφραζόμενα (CTX-1). Το πακέτο που παίρνει δεν είναι το κείμενο του δελτίου: είναι τα θιγόμενα αντικείμενα API, οι κανόνες τομέα που τα περιορίζουν, οι δύο προηγούμενες αποφάσεις που εξηγούν γιατί το τρέχον σχήμα είναι έτσι, οι κίνδυνοι που έχουν κατατεθεί για εκείνη την περιοχή, και τα κριτήρια αποδοχής, με κάθε στοιχείο να φέρει προέλευση και δείκτη προς την πλήρη μορφή του. Κάθε ενότητα φέρει κλάση προέλευσης (συνταγμένο, καθρεφτισμένο εξωτερικό, ομοσπονδιακό, ανθρώπινη αναφορά), και το συμβόλαιο απαγορεύει να αντιμετωπίζεται ως οδηγία το μη συνταγμένο περιεχόμενο. Έπειτα ο βρόχος κάνει ό,τι απαιτεί η πειθαρχία. Ο πράκτορας ελέγχει ότι τα συμφραζόμενα επαρκούν και δεν προχωρά με εικασίες (βήμα 3 της CTX-5). Σχεδιάζει την αλλαγή και αναζητά τον κύριο κάθε θιγόμενου συνόλου δεδομένων πριν γράψει (βήμα 4). Μία σχεδιασμένη εγγραφή στοχεύει τη σελίδα αναφοράς του API, που είναι παραγόμενη προβολή και όχι ο κύριος, οπότε η πύλη στο βήμα 5 τη δρομολογεί στην πηγή καταγραφής αντί να επεξεργαστεί το αντίγραφο. Η ίδια η αλλαγή κώδικα εκτελείται, τα αποτελέσματα γράφονται πίσω μέσα από την αλυσίδα CON ως καταχωρημένο κανάλι (βήμα 7), ο διαβάτης κάλυψης και ο έλεγχος απόκλισης MIR-7 τρέχουν και μένουν πράσινοι (βήμα 8), και το συμβάν εκτέλεσης καταγράφει ποιο πακέτο συμφραζομένων χρησιμοποιήθηκε (βήμα 9). Αυτό που κερδίζει το μοντέλο δεν είναι μόνο ένα πεδίο. Κερδίζει την απόφαση πίσω από το πεδίο, και το γεγονός ότι η αρχική διατύπωση του δελτίου ήταν λανθασμένη, καταγεγραμμένο ως δίδαγμα (CTX-11) και ως ένα μικρό κομμάτι χρέους μοντέλου (QSC-11) εκεί όπου ο κανόνας τομέα αποδείχθηκε υποπροσδιορισμένος. Εκείνο το τρίμηνο τρεις ομάδες δουλεύουν ταυτόχρονα στο μοντέλο τοπίου. Αυτό είναι η κατάτμηση ανά πακέτο της CTX-6, με τις συγχωνεύσεις να περνούν από την CTX-7, που είναι το βήμα ενσωμάτωσης ταυτοχρονισμού που τροφοδοτεί την CON-4, όχι μια δεύτερη εγκριτική αρχή. Μία γνήσια σύγκρουση (δύο ομάδες μετονομάζουν την ίδια κοινή έννοια προς αντίθετες κατευθύνσεις) διαιτητεύεται από τον Επιστάτη του τοπίου και καταγράφεται, δεν επιλύεται σιωπηλά από όποιον συγχώνευσε τελευταίος. ## Ο τριμηνιαίος έλεγχος βρίσκει κάτι Ο έλεγχος είναι η QSC-5, εκτελούμενη από Ελεγκτή προσληφθέντα μέσω GOV-6 με χρονικά οριοθετημένη πρόσβαση παρεχόμενη μέσω GOV-7 και επαληθευμένα αποσυναρμολογημένη στο κλείσιμο. Ο Ελεγκτής είναι αρχιτέκτονας από άλλο μέρος της εταιρείας, και δεν μπορεί να ελέγξει εργασία που ο ίδιος επέβλεψε. Η συλλογή τεκμηρίων είναι εργασία πράκτορα σε T2, μόνο για ανάγνωση. Η κρίση όχι. Ο Ελεγκτής επαληθεύει ότι κάθε δηλωμένη διαδικασία έτρεξε στον ρυθμό της (βήμα 3), μαζί με τις εργασίες αντιγράφων και τις ασκήσεις (QSC-13) και τις λειτουργίες παλμού (QSC-15), και συμφιλιώνει κάθε συναγερμό με μια εγγραφή περιστατικού (QSC-14). Έπειτα η επανεκτέλεση, που η κάρτα την ονομάζει υποχρεωτική: επανυπολογισμός δείγματος βαθμολογιών ποιότητας, επανεκτέλεση της επικύρωσης σε καθηλωμένη παλαιότερη έκδοση, επανεκδίκαση δείγματος ετυμηγοριών πρόσβασης (QSC-6), επανιχνηλάτηση δείγματος ενεργειών πρακτόρων έναντι των συμβολαίων τους στην CTX-9 (QSC-7). Το εύρημα: ο αγωγός συγκομιδής ενός προϊόντος αστοχούσε σιωπηλά επί πέντε εβδομάδες. Το σύνολο δεδομένων καθρεφτιζόταν από έναν καταγραφέα ζητημάτων, η κατάσταση φρεσκάδας του θα έπρεπε να είχε γυρίσει σε παλαιωμένη, και ο επόπτης που θα την γύριζε είχε πεθάνει. Τα δεδομένα συνέχιζαν να διαβάζονται, και να διαβάζονται με βεβαιότητα, που είναι ακριβώς η αστοχία για την πρόληψη της οποίας υπάρχει όλη η οικογένεια MIR. Η αποκατάσταση δεν είναι να προσέχουμε περισσότερο. Ο νεκρός επόπτης είναι εύρημα της QSC-15 (μόνιμη εργασία της οποίας τον παλμό δεν επιτηρούσε κανείς), γίνεται περιστατικό QSC-14 με ανάλυση χωρίς απόδοση ευθυνών, και το δίδαγμα της ανάλυσης δρομολογείται ως εκδοχοποιημένη αλλαγή στους κανόνες των εποπτών αντί σε ένα υπηρεσιακό σημείωμα. Το παλαιωμένο σύνολο δεδομένων μπαίνει σε καραντίνα (MIR-8) ώστε κάθε παράθεσή του να φέρει τη σήμανση, και οι θιγόμενες εγγραφές ξανασυγκομίζονται. Όλα αυτά προσγειώνονται στο μητρώο χρέους ποιότητας (QSC-11) με υπευθύνους και προθεσμίες, και ο Κάτοχος λαμβάνει την αναφορά απευθείας, όχι μόνο ο ελεγχόμενος Επιστάτης. ## Ομοσπονδία με έναν εταίρο Ο μεγαλύτερος πελάτης της Northwind, ένα εργαστήριο επί συμβάσει, θέλει η διαμόρφωση του στόλου οργάνων του να μένει συγχρονισμένη με το μοντέλο προϊόντος της Northwind. Αυτό είναι ομοσπονδία, και τρέχει την ακολουθία FED συμπυκνωμένη σε περίπου έξι εβδομάδες. Πρώτα ανακάλυψη και αξιολόγηση (FED-1): τι δημοσιεύει ο εταίρος, τι χρειάζεται, και πώς μοιάζει το προφίλ εμπιστοσύνης του, αξιολογημένο ανά διάσταση και όχι ως μία βαθμολογία, ώστε η απάντηση να μην είναι "έμπιστος" αλλά "οι διαστάσεις ταυτότητας και συμβολαίου ισχυρές, το λειτουργικό ιστορικό άγνωστο". Έπειτα διαπραγμάτευση και υπογραφή (FED-2), που είναι μη ανατεθειμένη πράξη: υπογράφει ο Κάτοχος, κανένας πράκτορας, καμία βαθμίδα. Ο κύκλος ζωής της συγκατάθεσης (FED-3) χορηγεί ακριβώς δύο προβολές, δεμένες σε σκοπό, με TTL και ημερομηνία ανανέωσης, και κάθε αυτο-εκδοθείσα χορήγηση υπό τη μόνιμη πολιτική παραθέτει την έκδοση πολιτικής που την παρήγαγε. Ο έλεγχος αποκάλυψης (FED-4) τρέχει πριν φύγει οτιδήποτε: τι περιλαμβάνεται, τι απαλείφεται, και ο σωρευτικός έλεγχος που ρωτά σε τι συντίθεται αυτή η παράδοση όταν συνδυαστεί με όσα ο εταίρος ήδη κατέχει, ώστε η συγκατάθεση να μην μπορεί να κοπεί σε φέτες μέχρι να γίνει κάτι που ο Κάτοχος ποτέ δεν ενέκρινε. Ακολουθούν η σύναψη και ο αρχικός συγχρονισμός (FED-5). Η εισερχόμενη κατεύθυνση είναι εκεί όπου φαίνεται η πειθαρχία. Ο εταίρος στέλνει επίσης τηλεμετρία στόλου. Δεν προσγειώνεται στο μοντέλο. Προσγειώνεται σε καραντίνα εισδοχής (FED-8), μη αναγνώσιμη έως την προαγωγή, ελεγμένη για κινδύνους μαζί με περιεχόμενο μορφής οδηγίας, και μόνο μετά την προαγωγή εκτελεί η MIR-2 την προσγείωση με προέλευση. Τα δύο πράγματα που λέγονται καραντίνα κρατούνται διακριτά επίτηδες (COMMON 5): η καραντίνα εισδοχής της FED-8 είναι μη αναγνώσιμη έως την προαγωγή, η καραντίνα της MIR-8 είναι αναγνώσιμη αλλά επισημασμένη. ## Τι κοστίζει, και ποιες μόνιμες υποχρεώσεις μένουν Το προφίλ Τυπικό επιτρέπει τις ρήτρες ενοποίησης όπου ένας μόνο Επιστάτης λογοδοτεί για τα ενοποιημένα μητρώα, ώστε η επαναπιστοποίηση χορηγήσεων, συμβολαίων, δραστών, δικαιωμάτων εισόδου και επιπέδων υπηρεσίας να γίνεται σε μία τριμηνιαία συνεδρία ανά μοντέλο αντί σε οκτώ ξεχωριστές τελετουργίες (COMMON 8, το μοτίβο επαναπιστοποίησης μητρώων). Η χωρητικότητα δεν θεωρείται δεδομένη: οι ώρες των επιστατών, οι υπολογιστικές ποσοστώσεις των πρακτόρων και οι προβλέψεις αποθήκευσης σχεδιάζονται στην GOV-5, που είναι ό,τι κρατά όλον τον μηχανισμό από το να σαπίσει αθόρυβα σε τελετή που κανείς δεν προλαβαίνει να εκτελέσει τίμια. Η μετρήσιμη αλλαγή μετά από έναν χρόνο δεν είναι ότι βελτιώθηκε η τεκμηρίωση. Είναι ότι όταν κάποιος ρωτά τι εξαρτάται από αυτό το συστατικό, η απάντηση έρχεται από το μοντέλο, είναι τρέχουσα, και αν δεν είναι τρέχουσα, το μοντέλο το λέει.