Ηγέτες σκέψης

Διαχείριση Τεχνικού Χρέους με DX και AI

mm
Προσθέστε το Unite.AI στις προτιμώμενες πηγές σας στο Google

Κάθε εταιρεία, μεγάλη ή μικρή, ανησυχεί για το τεχνικό χρέος. Η Gartner εκτιμά ότι περίπου το 40% των συστημάτων υποδομής έχει αυτό το πρόβλημα. Σε μια έρευνα των CIOs από τη McKinsey, σχεδόν το ένα τρίτο ένιωθε ότι πάνω από το 20% του προϋπολογισμού νέου προϊόντος πήγαινε για την επίλυση προβλημάτων σχετικών με το τεχνικό χρέος. Αλλά αντίθετα με ότι πιστεύουν πολλοί, αυτό δεν είναι μόνο ένα πρόβλημα κωδικοποίησης, αλλά και ένα πρόβλημα εμπειρίας dévelopερ (DX). Γιατί όταν οι dévelopερ πρέπει να εργάζονται με ανεπαρκή αρχιτεκτονική, παλιά εργαλεία και κακές διαδικασίες ανάπτυξης, η παραγωγικότητα, η απόδοση και η ηθική τους υποφέρουν.

Η προτεραιότητα του τεχνικού χρέους με τον dévelopερ στο μυαλό, εστιάζοντας στο πώς προσεγγίζουν τη δουλειά, ποια εργαλεία χρησιμοποιούν και ποια επαγγελματικά προαγωγή μπορούν να κάνουν, βοηθά τις ομάδες να εστιάσουν και να αποστέλλουν γρηγορότερα. Αυτός είναι ο λόγος για τον οποίο ο τρόπος που οι εταιρείες διαχειρίζονται το τεχνικό χρέος αλλάζει, με την DX και την αυξημένη εστίαση στα εργαλεία που βασίζονται στο AI.

Υποστήριξη της DX

Η συνήθης διαδικασία ένταξης των προγραμματιστών αφήνει πολλά περιθώρια βελτίωσης. Μπορεί να χρειαστούν εβδομάδες ώσπου κάποιος να αρχίσει να συνεισφέρει σε ένα έργο. Όταν τελικά προσθέσει μια μικρή λειτουργία ή διόρθωση, δεν είναι ασυνήθιστο να αποτύχει η συνεχής ενοποίηση (CI) για λόγο άσχετο με τις αλλαγές του. Συχνά πρόκειται για μια ασταθή, κακογραμμένη δοκιμή που πετυχαίνει μόνο στο 90% των εκτελέσεων. Η υπάρχουσα ομάδα μπορεί να έχει συνηθίσει αυτή την κατάσταση, παρότι επιβραδύνει τη διαδικασία, αλλά τα παλιά εργαλεία αποθαρρύνουν όποιον έρχεται από έξω.

Αυτό είναι ένα παράδειγμα από πολλά που εμποδίζουν τη σωστή DX. Ένας τρόπος για να αποτρέψετε αυτό είναι να έχετε έναν καθορισμένο πρωταγωνιστή στην ομάδα ανάπτυξης λογισμικού και ανάπτυξης. Πολλές μικρές οργανώσεις δεν έχουν έναν ηγέτη DX, αλλά οι μεγάλες, επιτυχημένες οργανώσεις έχουν. Αυτοί οι επαγγελματίες παρακολουθούν πράγματα όπως το πόσο χρόνο χρειάζεται ένας νέος dévelopερ για να ρυθμίσει το περιβάλλον. Και αν δύο εβδομάδες είναι πολύ χρόνος, βρίσκουν τρόπο να μειώσουν αυτόν τον χρόνο στο μισό.

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

Επίσης, η IDC αναμένει ότι η αγορά λογισμικού αυτοματοποίησης δοκιμών με τη δύναμη του AI θα συνεχίσει να αυξάνεται με ρυθμό 31,2% μέχρι το 2027, οπότε βεβαιωθείτε ότι εκμεταλλεύεστε αυτή τη τεχνολογία στο έπακρο.

Μέτρηση και προειδοποιητικά σημάδια

Υπάρχουν πολλά μέτρα που μπορείτε να παρακολουθήσετε όταν αξιολογείτε πώς το τεχνικό χρέος επηρεάζει την ομάδα σας. Κάποια βασικά είναι το “χρόνος για να διορθώσετε” ή “χρόνος για να δημιουργήσετε”. Λέτε ότι παρατηρείτε ένα σφάλμα και ξέρετε πώς να το διορθώσετε. Κάποια εργαλεία μπορούν να παρακολουθήσουν τον χρόνο που passer από τη γραφή του κώδικα μέχρι την παραγωγή. Για παράδειγμα, θα ήταν δυνατό να δείτε ότι ένα πολύ μικρό patch πήρε δύο εργάσιμες ημέρες για να διορθωθεί και να αποσταλεί, όταν η ομάδα σας χρειάζεται να μπορεί να το κάνει σε ώρες. Μπορείτε επίσης να παρακολουθήσετε αναλογίες, όπως ο αριθμός των διορθώσεων σφαλμάτων σε σχέση με τις ολοκληρωμένες λειτουργίες.

Υπάρχουν επίσης τρόποι για να αναγνωρίσετε όταν τα προβλήματα ηθικής επηρεάζουν την απόδοση της ομάδας σας. Οι ηγέτες DX μπορούν να διεξάγουν έρευνες κάθε τρίμηνο για να καθορίσουν πόσο ευτυχισμένος είναι ένας dévelopερ που εργάζεται σε ένα έργο ή ένα μέρος του. Μπορούν να διεισδύσουν και να ρωτήσουν για συγκεκριμένες περιοχές όπως η διαδικασία CI. Και μπορείτε πάντα να παρακολουθήσετε την αποχώρηση ή την ανατροπή στην ομάδα σας. Αν παρατηρήσετε ότι οι άνθρωποι συνεχώς φεύγουν, μπορεί να νιώθουν ότι οι ανησυχίες τους δεν ακούγονται.

Εργαλεία με AI

Τα εργαλεία τεχνητής νοημοσύνης αναμένεται να κάνουν τους προγραμματιστές και τους μηχανικούς παραγωγικότερους και να επιταχύνουν την κυκλοφορία προϊόντων, όμως το τεχνικό χρέος ανακόπτει αυτή την πρόοδο. Μπορεί να χρησιμοποιείτε το GitHub Copilot για αλλαγές στον κώδικα, να υποβάλλετε ένα pull request και να περιμένετε ώρες για το αποτέλεσμα της CI. Στο μεταξύ, ο προγραμματιστής στρέφεται σε άλλη εργασία ή ελέγχει το email του. Αυτή η συνεχής αλλαγή πλαισίου πλήττει την παραγωγικότητα.

Οι dévelopερ θέλουν να εργάζονται σε προϊόντα όπου μπορούν να εστιάσουν μόνο στον κώδικα. Τα εργαλεία είναι εκεί για να τους βοηθήσουν να το φέρουν στην παραγωγή, όχι να είναι ένα συνεχές εμπόδιο. Το AI μπορεί να σώσει χρόνο, αλλά είναι μέχρι τις ομάδες μηχανικών να ορίσουν τους δικούς τους κανόνες για την αποδεκτή сложность. Για να το κάνουν αυτό, πρώτα βεβαιωθείτε ότι οποιοσδήποτε κώδικας που προστίθεται στο κύριο κλάδο έχει ένα αποδεκτό επίπεδο τεχνικού χρέους. Πριν από αυτό, έχετε μια ανοιχτή συζήτηση και πάρτε συμφωνία από την ομάδα μηχανικών για το αποδεκτό όριο του τεχνικού χρέους και της ποιότητας του κώδικα. Βεβαιωθείτε ότι όλοι γνωρίζουν ότι το να πηγαίνετε πάνω από αυτό το σημείο απαιτεί άμεση επιδιόρθωση. Μόλις ορίσετε αυτούς τους κανόνες, το AI έρχεται σε παιχνίδι.

Υπάρχει μια περίπτωση για πράκτορες AI με μηχανικούς που ενεργούν ως διοργανωτές. Μια έρευνα της Capgemini από 1.100 εκτελεστές σε μεγάλες επιχειρήσεις έχει αποκαλύψει ότι 82% σχεδιάζουν να ενσωματώσουν πράκτορες AI μέσα στα επόμενα τρία χρόνια, και ήδη επηρεάζουν το μέλλον της εργασίας. Μπορεί να κοιτάζετε μια αναφορά σφάλματος και να δείτε ότι είναι αρκετά μικρή για να χειριστεί ένας πράκτορας AI από την αρχή μέχρι την ανασκόπηση του κώδικα, σώζοντας χρόνο στην ομάδα σας και απελευθερώνοντάς την για να χειριστεί πιο σύνθετη δουλειά. Ωστόσο, μερικές φορές όταν ακολουθούμε τυφλά αυτά τα εργαλεία, υπάρχουν συμβιβασμοί που το AI αγωνίζεται να λάβει υπόψη.

Αυτό είναι όταν μια ανθρώπινη γνώμη γίνεται ο καθοριστικός παράγοντας.

Συγκλίνηση του τεχνικού χρέους με τους στόχους

Πώς μπορείτε να συγκλίνετε τη μείωση του τεχνικού χρέους με τους στόχους που προσπαθείτε να επιτύχετε ή μετρήσιμους αποτελέσματα; Αυτό επαναφέρει το αποδεκτό τεχνικό χρέος, και μερικές φορές στις επιχειρήσεις, πρέπει να αποστέλλετε γρήγορα. Μπορείτε να το κάνετε γνωρίζοντας ότι ένα προϊόν δεν κλιμακώνεται, και μπορεί να υπάρχουν προβλήματα απόδοσης καθώς περνάει ο καιρός. Συχνά, ένας dévelopερ θα κάνει μια σημείωση να επιστρέψει σε αυτό αργότερα, όταν θα υπάρχει χρόνος για να αντιμετωπίσει αυτά τα προβλήματα, αλλά σπάνια συμβαίνει. Και όταν αυτή η κακή κουλτούρα λαμβάνει τον έλεγχο, στην οποία πρέπει να αποστέλλετε αύριο, η επίδραση του χρέους γίνεται άφθονη.

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

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

Τεχνικό χρέος με τόκο

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

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

Ο Ernesto Tagwerker είναι ο ιδρυτής και τεχνικός διευθυντής της OmbuLabs. Η εταιρεία βοηθά τις εταιρείες Fortune 500 να ανακαλύψουν κρυφές ευκαιρίες στα δεδομένα τους και να δημιουργήσουν λύσεις που βασίζονται στο AI και που έχουν πραγματική επίδραση. Από τα κλασικά μοντέλα ML έως τα πιο προηγμένα συστήματα AI, από την ιδέα έως το τελικό προϊόν, η OmbuLabs δημιουργεί λύσεις που επικεντρώνονται στους στόχους του πελάτη.