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

Η διαχείριση εξαρτήσεων είναι ένα από τα ζητήματα με τα οποία όλοι παλεύουν καθημερινά, αλλά λίγοι οργανισμοί αντιμετωπίζουν συστηματικά. Όταν δεν ελέγχεται, προκύπτουν καθυστερήσεις, εμφανίζονται φαινομενικά ανεξήγητα εμπόδια, πραγματοποιούνται έκτακτες συσκέψεις για την «κατάσβεση πυρκαγιών» και, τελικά, τα έργα είτε καθυστερούν είτε δεν φτάνουν ποτέ.
Αντίθετα, όταν οι εξαρτήσεις εντοπίζονται, οπτικοποιούνται και διαχειρίζονται αποτελεσματικά, οι ομάδες εργάζονται πιο αυτόνομα , οι προθεσμίες παύουν να αποτελούν ρίσκο και η συνεργασία μεταξύ των τμημάτων γίνεται πολύ πιο ομαλή. Σε αυτό το άρθρο, θα εξετάσουμε λεπτομερώς ποιες είναι οι εξαρτήσεις σε έργα και ψηφιακά προϊόντα, τους διαφορετικούς τύπους που υπάρχουν και πώς να τις διαχειριστούμε στην πράξη χρησιμοποιώντας ευέλικτες προσεγγίσεις, πλαίσια όπως το Kanban και εργαλεία όπως το Jira ή λογισμικό διαχείρισης έργων.
Τι εννοούμε με τον όρο εξάρτηση στη διαχείριση έργων και προϊόντων;
Στο πλαίσιο των έργων και της ανάπτυξης προϊόντων, μια εξάρτηση είναι μια σχέση αναγκαιότητας μεταξύ δύο στοιχείων της εργασίας: μιας εργασίας, μιας ομάδας, ενός τεχνικού στοιχείου ή ακόμα και ενός εξωτερικού προμηθευτή. Για να ξεκινήσει, να προχωρήσει ή να τελειώσει κάτι, πρέπει πρώτα να συμβεί κάτι άλλο.
Από πολύ πρακτική άποψη, μια εξάρτηση μπορεί να είναι είτε μια λειτουργική απαίτηση (για παράδειγμα, η ύπαρξη καλαθιού αγορών σε έναν ιστότοπο) είτε μια καθαρά τεχνική απαίτηση (να υπάρχει ένα έτοιμο API, πρόσβαση σε ένα περιβάλλον ή η ανάπτυξη μιας έκδοσης). Ακόμα και όταν ο "δράστης" που καταναλώνει το αποτέλεσμα δεν είναι ένα άτομο αλλά μια άλλη υπηρεσία, εξακολουθούμε να την αναφέρουμε ως εξάρτηση.
Στη διαχείριση έργων, μια εργασία συχνά περιγράφεται ως εξαρτημένη όταν η εκτέλεσή της εξαρτάται από την ολοκλήρωση, την έναρξη ή την πρόοδο μιας άλλης εργασίας. Εάν η «Εργασία Β» χρειάζεται την «Εργασία Α» για να φτάσει σε ένα συγκεκριμένο σημείο για να προχωρήσει, τότε έχετε μια εξάρτηση.
Οι εξαρτήσεις δεν είναι απλώς μια ενόχληση: αποτελούν πραγματικούς κινδύνους . Αυξάνουν την πιθανότητα καθυστερήσεων, υπερβάσεων κόστους, ακόμη και ακύρωσης μιας πρωτοβουλίας πριν καν φτάσει στην παραγωγή. Εξ ορισμού, κάθε εξάρτηση αποτελεί κίνδυνο με μια συγκεκριμένη πιθανότητα και αντίκτυπο που πρέπει να διαχειρίζεται και όχι να αγνοείται.
Τύποι εξαρτήσεων: μια πλήρης επισκόπηση
Για την αποτελεσματική διαχείριση των εξαρτήσεων, πρέπει πρώτα να ταξινομηθούν και να ονομαστούν . Η βιβλιογραφία διαχείρισης έργων και η πρακτική προϊόντων συνήθως διακρίνουν διάφορους άξονες: ανάλογα με τη φύση τους (λογική, βασισμένη σε πόρους, εξωτερική, προτιμησιακή), ανάλογα με τη σχέση μεταξύ των εργασιών και ανάλογα με το οργανωτικό πεδίο εφαρμογής.
Τμήματα ανάλογα με τη φύση τους
Οι λογικές ή αιτιακές εξαρτήσεις είναι εκείνες που ακολουθούν μια αναπόφευκτη ακολουθία βημάτων . Δεν μπορείτε να βάψετε έναν τοίχο αν δεν τον έχετε κατασκευάσει πρώτα. Δεν μπορείτε να δοκιμάσετε ένα χαρακτηριστικό αν δεν έχει αναπτυχθεί πρώτα. Είναι οι πιο διαισθητικές.
Οι εξαρτήσεις πόρων προκύπτουν όταν πολλαπλές εργασίες ή έργα ανταγωνίζονται για τον ίδιο περιορισμένο πόρο : ένα βασικό άτομο, ένας μόνο σχεδιαστής, μια μόνο ομάδα υποστήριξης, μια μηχανή δοκιμών κ.λπ. Η πρόοδος της εργασίας καθορίζεται όχι τόσο από τη λογική σειρά, αλλά από την πραγματική διαθεσιμότητα αυτών των πόρων.
Οι προτιμώμενες εξαρτήσεις είναι εκείνες που προκύπτουν από εσωτερικές διαδικασίες ή βέλτιστες πρακτικές , αλλά δεν είναι απολύτως απαραίτητες για την ολοκλήρωση του παραδοτέου. Για παράδειγμα, μια επιπλέον συντακτική αξιολόγηση ή ένα επιπλέον βήμα διασφάλισης ποιότητας που η ομάδα αποφασίζει να διατηρήσει επειδή μειώνει τα σφάλματα, παρόλο που το έργο θα μπορούσε να "κλείσει" επίσημα χωρίς αυτό.
Οι εξωτερικές εξαρτήσεις προκύπτουν όταν η ομάδα συνδέεται με παράγοντες που δεν ελέγχει : έναν προμηθευτή που πρέπει να παραδώσει υλικό, ένα νομικό τμήμα που πρέπει να εγκρίνει μια σύμβαση, καιρικές συνθήκες που επηρεάζουν ένα έργο ή μια πύλη πληρωμών τρίτου μέρους που πρέπει να πιστοποιήσει την υπηρεσία της.
Εξαρτήσεις εργασιών: κλασικές χρονικές σχέσεις
Όταν κατεβαίνουμε στο επίπεδο σχεδιασμού, οι εξαρτήσεις εργασιών συνήθως μοντελοποιούνται με τέσσερις βασικές σχέσεις που θα δείτε σε χρονοδιαγράμματα ή γραφήματα Gantt:
Σε μια σχέση "Ολοκλήρωση-σε-Έναρξη" (FS), η διάδοχη εργασία δεν μπορεί να ξεκινήσει μέχρι να ολοκληρωθεί η προηγούμενη εργασία. Αυτή είναι η πιο συνηθισμένη σχέση και αυτή που χρησιμοποιείται από προεπιλογή από τα περισσότερα εργαλεία.
Σε μια σχέση ολοκλήρωσης-με-τέλος (FF), η επόμενη εργασία δεν μπορεί να ολοκληρώσει την εργασία της μέχρι να ολοκληρωθεί επίσης η προηγούμενη εργασία . Αυτό συμβαίνει συχνά όταν μια εργασία είναι στην πραγματικότητα το άθροισμα πολλών αλληλεξαρτώμενων υποεργασιών.
Στην περίπτωση της λειτουργίας "Έναρξη-σε-Έναρξη" (SS), και οι δύο εργασίες πρέπει να ενεργοποιηθούν παράλληλα . Η επόμενη εργασία δεν μπορεί να ξεκινήσει πριν από την προκάτοχό της, παρόλο που στη συνέχεια προχωρούν με τον δικό τους ρυθμό.
Η σχέση αρχής-τέλους (SF), λιγότερο συχνή αλλά εξακολουθεί να υπάρχει, υποδηλώνει ότι η εργασία Α δεν μπορεί να θεωρηθεί ολοκληρωμένη μέχρι να ξεκινήσει η εργασία Β. Ένα τυπικό παράδειγμα είναι μια αλλαγή βάρδιας στην εξυπηρέτηση πελατών: ένα άτομο δεν μπορεί να φύγει μέχρι να φτάσει το επόμενο.
Εσωτερικές, εξωτερικές και ενδοομαδικές εξαρτήσεις
Εκτός από τη φύση τους, είναι σημαντικό να γίνει διάκριση μεταξύ των εσωτερικών εξαρτήσεων εντός του έργου (μεταξύ εργασιών ή πόρων που ελέγχει η ίδια η ομάδα) και των εξωτερικών εξαρτήσεων, οι οποίες εξαρτώνται από τρίτους.
Σε μεσαίους και μεγάλους οργανισμούς, οι αλληλεξαρτήσεις μεταξύ ομάδων αποκτούν ολοένα και μεγαλύτερη σημασία: όταν πολλές ομάδες, τμήματα ή προμηθευτές πρέπει να συντονιστούν για να επιτύχουν ένα κοινό αποτέλεσμα. Αυτό περιλαμβάνει αλληλεξαρτήσεις μεταξύ ομάδων προϊόντων, μεταξύ ομάδων και διαλειτουργικών ομάδων (HR, Προμηθειών, Νομικών) και μεταξύ τεχνικών ομάδων, όπως back-end, front-end, mobile και λειτουργιών.
Προληπτική έναντι αντιδραστικής διαχείρισης εξαρτήσεων
Ο τρόπος με τον οποίο ένας οργανισμός αντιμετωπίζει τις εξαρτήσεις κάνει τη διαφορά μεταξύ μιας κουλτούρας «καταπολέμησης πυρκαγιών» και ενός πολύ πιο υγιούς περιβάλλοντος. Μπορούμε να μιλήσουμε για δύο βασικές στρατηγικές : την προληπτική και την αντιδραστική.
Η αντιδραστική διαχείριση περιλαμβάνει την ανταπόκριση σε μια εξάρτηση μόνο όταν αυτή παρουσιάσει σφάλμα : όταν λείπει ένα δικαίωμα, μια πρόσβαση, ένα στοιχείο ή ένα API και η ομάδα έχει κολλήσει. Αυτή είναι η τυπική κατάσταση συνεχούς διακοπής λειτουργίας, επανασχεδιασμού εν κινήσει και σπασμένων δεσμεύσεων.
Η προληπτική διαχείριση, από την άλλη πλευρά, περιλαμβάνει την αφιέρωση προσπάθειας από την αρχή στον εντοπισμό και τον σχεδιασμό εξαρτήσεων . Οι ανάγκες προβλέπονται, η χωρητικότητα δεσμεύεται, οι δεσμεύσεις μεταξύ των ομάδων διευκρινίζονται και οι κίνδυνοι εντοπίζονται πριν γίνουν προβλήματα.
Παρόλο που θα υπάρχει πάντα ένα αντιδραστικό στοιχείο (δεν μπορείτε να προβλέψετε τα πάντα), μια υγιής στρατηγική διαχείρισης εξαρτήσεων πρέπει να έχει ένα ισχυρό προληπτικό στοιχείο : ανάλυση, ιεράρχηση προτεραιοτήτων, προετοιμασία εναλλακτικών σεναρίων και καθιέρωση επαναλαμβανόμενων συμβάντων για την αναθεώρηση της κατάστασης αυτών των εξαρτήσεων.
Οπτικοποίηση εξαρτήσεων: από το Kanban έως τους πίνακες στο Jira
Το πρώτο σοβαρό βήμα στη διαχείριση των εξαρτήσεων είναι να γίνουν ορατές σε όλους . Ό,τι δεν φαίνεται δεν διαχειρίζεται· υποφέρεται. Εδώ μπαίνουν στο παιχνίδι οι πρακτικές Kanban, οι πίνακες προγραμμάτων και διάφορες απεικονίσεις.
Σε ένα σύστημα Kanban, μία από τις θεμελιώδεις πρακτικές είναι η οπτικοποίηση της εργασίας . Αυτό περιλαμβάνει το να γίνεται πολύ σαφές ποιες εργασίες εξαρτώνται από άλλες, καθώς και εκείνες που μπλοκάρουν άλλες ομάδες. Η σαφής επισήμανση των στοιχείων που "περιμένουν εξαρτήσεις" βοηθά στην αποφυγή εκπλήξεων.
Σε εργαλεία όπως το Jira, μια πολύ πρακτική προσέγγιση είναι η αξιοποίηση του πεδίου "συνδέσεις προβλημάτων" για τη σύνδεση εργασιών που μπλοκάρουν η μία την άλλη . Μπορείτε να χρησιμοποιήσετε σχέσεις "μπλοκαρίσματος" ή "εξαρτάται από", διαφοροποιώντας μεταξύ ισχυρών εξαρτήσεων (που εμποδίζουν την έναρξη της εξαρτημένης εργασίας) και ασθενέστερων (επιτρέποντας παράλληλη πρόοδο ενώ η άλλη επιλύεται).
Εάν η εργασία που θα έπρεπε να επιλύσει την εξάρτηση δεν υπάρχει ακόμη, μπορείτε να επιλέξετε να επισημάνετε το πρόβλημα με έναν συγκεκριμένο δείκτη που υποδεικνύει αυτήν την εκκρεμή ανάγκη. Αυτή η ετικέτα θα σας επιτρέψει στη συνέχεια να ομαδοποιήσετε και να εμφανίσετε αυτές τις ανεπίλυτες εξαρτήσεις σε πίνακες, χάρτες πορείας, εκκρεμότητες ή πίνακες.
Με αυτές τις πληροφορίες, είναι δυνατό να δημιουργηθεί ένας πίνακας εξάρτησης όπου η μία διάσταση αντιπροσωπεύει τις ομάδες ή τις ομάδες του οργανισμού και η άλλη αντιπροσωπεύει το χρονοδιάγραμμα. Αυτό δείχνει ποιος εξαρτάται από ποιον και πότε, διευκολύνοντας την κατανομή χωρητικότητας και τη διαπραγμάτευση προτεραιοτήτων.
Πριν από την ευρεία υιοθέτηση της απομακρυσμένης εργασίας, αυτοί οι πίνακες συχνά σχεδιάζονταν σε φυσικούς πίνακες. Σήμερα, τα πρόσθετα και οι ενότητες της Jira, όπως τα Advanced Roadmaps, BigPicture και Structure, επιτρέπουν την οπτική αναπαράσταση αυτών των δικτύων εξάρτησης σε υβριδικά ή πλήρως απομακρυσμένα περιβάλλοντα.
Μαθήματα κρατήσεων και πίνακας κρατήσεων στο Kanban
Μόλις έχετε μια συνολική εικόνα των εξαρτήσεων σε επίπεδο προϊόντος ή οργανισμού, μπορείτε να προχωρήσετε ένα βήμα παραπέρα και να εφαρμόσετε την έννοια των κλάσεων κράτησης , από τη μέθοδο Kanban, για να αντιστοιχίσετε διαφορετικά επίπεδα υπηρεσίας στην επίλυση εξαρτήσεων.
Μια κλάση κράτησης χρησιμοποιείται για την ταξινόμηση της εργασίας ανάλογα με την προτεραιότητα, τον επείγοντα χαρακτήρα ή τον απαιτούμενο χρόνο παράδοσης. Για να χρησιμοποιηθεί αυτή η προσέγγιση με εξαρτήσεις, χρησιμοποιείται ένα ημερολόγιο για την κατανομή θέσεων χωρητικότητας που είναι αφιερωμένες στην επίλυσή τους, είτε ανά ημέρες, εβδομάδες είτε επαναλήψεις (για παράδειγμα, Sprints σε ομάδες Scrum).
Συνήθως υπάρχουν τρεις κύριοι τύποι αποθεμάτων. Πρώτον, υπάρχουν οι εγγυημένοι πόροι, οι οποίοι έχουν ειδικά δεσμευμένη χωρητικότητα για να διασφαλίσουν ότι, εάν προκύψει ανάγκη, θα είναι διαθέσιμοι σε μια συγκεκριμένη ημερομηνία. Αυτά συνήθως αντιστοιχούν σε απρόβλεπτες αλλά κρίσιμες εργασίες.
Δεύτερον, οι δεσμευμένες εξαρτήσεις: πρόκειται για εργασίες που έχουν ήδη ένα δεσμευμένο χρονικό πλαίσιο ολοκλήρωσης. Χρησιμοποιούνται συχνά για ισχυρές εξαρτήσεις των οποίων η επίλυση επιτρέπει σε μια άλλη ομάδα να ξεκινήσει την εργασία.
Τέλος, οι εξαρτήσεις σε κατάσταση αναμονής εμπίπτουν σε μια κατηγορία όπου θα αντιμετωπιστούν μόνο εάν υπάρχει επαρκής χωρητικότητα . Αυτές είναι συνήθως εξαρτήσεις που μπορούν να αποφευχθούν προσωρινά, να αναβληθούν ενώ σημειώνεται πρόοδος σε άλλα μέρη της εργασίας.
Αυτό το μοντέλο μοιάζει πολύ με τον τρόπο που οι αεροπορικές εταιρείες διαχειρίζονται τα εισιτήριά τους: υπάρχουν πολύ ακριβές εγγυημένες θέσεις, τυπικές κρατήσεις και εισιτήρια σε λίστα αναμονής που εξαρτώνται από το αν υπάρχει υπεράριθμη κράτηση. Μια θέση σε λίστα αναμονής μπορεί ακόμη και να αλλάξει κατάσταση με την πάροδο του χρόνου , μεταβαίνοντας από «λίστα αναμονής» σε «κρατημένη» ή «εγγυημένη» καθώς πλησιάζει μια ημερομηνία-στόχος και ο κίνδυνος αυξάνεται.
Εκδηλώσεις για την αναθεώρηση εξαρτήσεων και τον συντονισμό ομάδων
Η ύπαρξη ενός πίνακα κρατήσεων ή ενός πίνακα εξαρτήσεων δεν αρκεί αν δεν ενσωματωθεί σε τακτικές διαδικασίες αναθεώρησης . Είναι σημαντικό να υπάρχει, εντός της τρέχουσας ροής εργασίας, τουλάχιστον ένα συμβάν όπου αυτές οι εξαρτήσεις αναθεωρούνται και γίνονται προσαρμογές.
Δεν χρειάζεται να είναι μια νέα συνάντηση. Μπορεί να ενσωματωθεί ως σταθερό σημείο στην ημερήσια διάταξη υπαρχουσών συναντήσεων: για παράδειγμα, σε μια συνάντηση σχεδιασμού επαναλήψεων, σε έναν σχεδιασμό PI τύπου SAFe ή σε μια συνεδρία συντονισμού μεταξύ ομάδων.
Αυτό που είναι πραγματικά σημαντικό είναι όλα τα μέρη που εμπλέκονται στη δημιουργία και την επίλυση εξαρτήσεων να είναι παρόντα κατά τη διάρκεια αυτής της αναθεώρησης . Χωρίς αυτήν την προσωπική (ή διαπροσωπική) συζήτηση, είναι εύκολο να προκύψουν ψευδείς προσδοκίες, μονομερείς δεσμεύσεις και υποσχέσεις που δεν μπορούν να τηρηθούν.
Καλές και κακές εξαρτήσεις: σύγχρονες και ασύγχρονες
Μπορεί να ακούγεται αντιφατικό, αλλά δεν είναι όλες οι εξαρτήσεις κακές. Ορισμένες εξαρτήσεις ενισχύουν την υγιή συνεργασία , ενώ άλλες δημιουργούν σιλό και συνεχή τριβή. Ένας χρήσιμος τρόπος για να τις διακρίνουμε είναι να μιλήσουμε για σύγχρονες και ασύγχρονες εξαρτήσεις.
Οι ασύγχρονες εξαρτήσεις είναι εκείνες στις οποίες οι ομάδες δεν εργάζονται ταυτόχρονα ή με ρυθμό. Μια ομάδα Scrum που σκοπεύει να ενσωματώσει στο τρέχον Sprint της μια ανάπτυξη που θα κάνει μια άλλη ομάδα στο επόμενο Sprint ή ένα επείγον αίτημα για πρόσβαση σε έναν πόρο που εξαρτάται από μια τρίτη, υπερφορτωμένη ομάδα, είναι παραδείγματα προβληματικών ασύγχρονων εξαρτήσεων.
Από την άλλη πλευρά, οι σύγχρονες εξαρτήσεις προκύπτουν όταν η εργασία λαμβάνει χώρα εντός του ίδιου χρονικού πλαισίου . Για παράδειγμα, αρκετές ομάδες μοιράζονται ένα περιβάλλον ανάπτυξης και δοκιμών ή μια κοινή βιβλιοθήκη λογισμικού ανοιχτή σε συνεισφορές από οποιονδήποτε προγραμματιστή στην εταιρεία.
Αυτού του είδους οι εξαρτήσεις ενθαρρύνουν τους ανθρώπους να συνεργάζονται ενεργά και να μοιράζονται το περιβάλλον τους . Χωρίς αυτές, θα ήταν ευκολότερο για κάθε ομάδα να απομονωθεί στο δικό της «silo». Και τα «silo», εκτός του ότι περιορίζουν τη συνολική προοπτική, τείνουν να διαβρώνουν την ενσυναίσθηση μεταξύ των τμημάτων και να περιπλέκουν τη λήψη αποφάσεων σε οργανωτικό επίπεδο.
Η μακροπρόθεσμη στρατηγική θα πρέπει να στοχεύει στην ελαχιστοποίηση των ασύγχρονων εξαρτήσεων και στην ενίσχυση των σύγχρονων, ευνοώντας ομάδες με μεγαλύτερη αυτονομία από άκρο σε άκρο και πιο ανοιχτές πρακτικές συνεργασίας.
Σχεδιασμός οργανισμών και ομάδων για τη μείωση των εξαρτήσεων
Η οργανωτική δομή επηρεάζει άμεσα τον αριθμό και τον τύπο των εξαρτήσεων. Καθώς ένα προϊόν αναπτύσσεται και οι ομάδες πολλαπλασιάζονται, εμφανίζονται περισσότερες τριβές, επικαλύψεις και σημεία συμφόρησης . Συνήθως, τα προβλήματα αρχίζουν να εμφανίζονται με μόλις δύο ομάδες και εντείνονται με κάθε νέα ομάδα που δημιουργείται.
Σε κάθετα ολοκληρωμένους, προσανατολισμένους στο προϊόν οργανισμούς, ο στόχος είναι συνήθως η δημιουργία διεπιστημονικών ομάδων που είναι όσο το δυνατόν πιο αυτόνομες , σε μεγάλο βαθμό ευθυγραμμισμένες με την τοπολογία "ομάδες ευθυγραμμισμένες με τη ροή" που περιγράφεται στις Τοπολογίες Ομάδας. Αυτές οι ομάδες είναι υπεύθυνες για έναν επιχειρηματικό τομέα ή υποτομέα από την αρχή μέχρι το τέλος.
Ακόμη και με αυτόνομες ομάδες, εξακολουθούν να απαιτούνται μοχλοί ευθυγράμμισης για να διασφαλιστεί η συνέπεια του προϊόντος και να αποτραπεί η κατάρρευση της συνεργασίας των ομάδων: περιπτώσεις διαιτησίας παγκόσμιου οδικού χάρτη, εκδηλώσεις κοινού σχεδιασμού εμπνευσμένες από τον PI Planning, πίνακες προγραμμάτων που οπτικοποιούν εξαρτήσεις, κοινά συστήματα σχεδιασμού και κοινότητες πρακτικής, μεταξύ άλλων μηχανισμών.
Στην πράξη, πολλές εταιρείες καταλήγουν σε υβριδικά μοντέλα όπου δεν μπορούν να βρεθούν όλες οι δεξιότητες σε κάθε ομάδα . Εμφανίζονται διαλειτουργικές ομάδες, που καλύπτουν τον Σχεδιασμό Προϊόντος, τα Δεδομένα, τη Διασφάλιση Ποιότητας, την Κινητό, το Back-end ή τις Λειτουργίες, οι οποίες εξυπηρετούν πολλαπλές ομάδες προϊόντων, εισάγοντας πρόσθετες εξαρτήσεις που πρέπει να διαχειρίζονται αποτελεσματικά.
Τμήματα με διαλειτουργικές ομάδες: Ανθρώπινο Δυναμικό, Προμήθειες, Νομικά...
Εκτός από τους τεχνικούς τομείς, πολλές ομάδες βασίζονται σε διαλειτουργικές εταιρικές ομάδες, όπως τα τμήματα Ανθρώπινου Δυναμικού, Προμηθειών ή Νομικών Υπηρεσιών. Αυτές οι εξαρτήσεις συχνά εκδηλώνονται ως βασικές προσλήψεις, ανάπτυξη ικανοτήτων μέσω εξωτερικών προμηθευτών, διαχείριση προϋπολογισμού ή νομικές αξιολογήσεις.
Όταν μια ομάδα χρειάζεται να υπογράψει ή να ενισχύσει το ρόστερ της και δεν ελέγχει αυτή τη ροή , ο χρόνος της στην αγορά επηρεάζεται και η προβλεψιμότητα υποφέρει. Μπορούν να ενεργοποιηθούν διάφοροι παράγοντες για τον μετριασμό αυτών των καταστάσεων.
Μια επιλογή είναι η ανάθεση ορισμένων δραστηριοτήτων που παραδοσιακά διαχειρίζονται οι Διευθύνσεις Ανθρώπινου Δυναμικού ή Προμηθειών σε ομάδες (για παράδειγμα, μέρος της διαδικασίας επιλογής ή της επιχειρησιακής σχέσης με τους προμηθευτές), με σαφή διακυβέρνηση αλλά λιγότερη γραφειοκρατία.
Ένας άλλος τρόπος είναι η διαπραγμάτευση των προϋπολογισμών υπηρεσιών, έτσι ώστε κάθε ομάδα να έχει ένα αυτόνομο περιθώριο απόφασης σχετικά με το ποια προφίλ ή υπηρεσίες θα προσλάβει και πότε, εντός των συμφωνημένων ορίων.
Είναι επίσης δυνατό να χρησιμοποιηθεί η περιστασιακή ενσωμάτωση εμπειρογνωμόνων HR, Purchasing ή Legal εντός των ομάδων για την επιτάχυνση της λήψης κρίσιμων αποφάσεων , ειδικά σε περιόδους ισχυρής ανάπτυξης ή σχετικών στρατηγικών αλλαγών.
Τυπικές τεχνικές εξαρτήσεις: back-end, λειτουργίες και κινητές συσκευές
Σε πιο τεχνικό επίπεδο, υπάρχουν τρεις ιδιαίτερα συνηθισμένες πηγές εξαρτήσεων: ξεχωριστές ομάδες back-end , απομονωμένες ομάδες επιχειρήσεων (Ops) και ανεξάρτητες κινητές ομάδες.
Όταν μια κεντρική ομάδα back-end εξυπηρετεί πολλαπλές ομάδες front-end, δημιουργεί μια δύσκολη στη διαχείριση σχέση πελάτη-προμηθευτή . Η ομάδα back-end πρέπει να δημιουργήσει API για όλους, να εξισορροπήσει τις εξωτερικές προτεραιότητες που δεν ελέγχει και να αντέξει την πίεση. Εν τω μεταξύ, οι ομάδες προϊόντων αντιμετωπίζουν καθυστερήσεις και απογοήτευση επειδή δεν γνωρίζουν πότε θα είναι έτοιμες οι δυνατότητες που χρειάζονται.
Ως ανακουφιστικά μέτρα, οι προγραμματιστές back-end μπορούν να ενσωματωθούν προσωρινά σε ομάδες , μπορούν να οριστούν σαφείς συμβάσεις διεπαφής μεταξύ back-end και front-end ή μπορούν να εξελιχθούν αρχιτεκτονικές μικρουπηρεσιών όπου κάθε ομάδα είναι υπεύθυνη για τις δικές της υπηρεσίες, αποδεχόμενη ότι θα εμφανιστούν νέες εξαρτήσεις, αλλά πολύ πιο διαχειρίσιμες.
Στην περίπτωση των ομάδων επιχειρήσεων, η εξάρτηση συνήθως επικεντρώνεται στη διαχείριση του περιβάλλοντος και της ανάπτυξης . Οι ομάδες ολοκληρώνουν την ανάπτυξή τους, αλλά χρειάζονται Επιχειρήσεις για να αναπτυχθούν σε κάθε περιβάλλον. Εάν οι Επιχειρήσεις είναι υπερφορτωμένες, οι εκδόσεις συσσωρεύονται, η ιεράρχηση προτεραιοτήτων είναι αδιαφανής και ο κίνδυνος καθυστερημένης ή βιαστικής παράδοσης αυξάνεται.
Για τη βελτίωση σε αυτόν τον τομέα, μπορεί να εφαρμοστεί μια οπτική διαχείριση της ροής παράδοσης τύπου Kanban, οι ιστορίες χρηστών που αφορούν συγκεκριμένες τις απαιτήσεις των Επιχειρήσεων μπορούν να ενσωματωθούν στο ανεκτέλεστο έργο των ομάδων και μπορούν να προσφερθούν "εργοστάσια λογισμικού ως υπηρεσίας" που αυτοματοποιούν ένα μεγάλο μέρος της διαδικασίας.
Ακόμα κι έτσι, το πραγματικά σημαντικό άλμα έρχεται όταν υιοθετείται μια ώριμη κουλτούρα DevOps , όπου η ανάπτυξη και οι λειτουργίες συνεργάζονται στενά, οι δοκιμές και οι αναπτύξεις είναι αυτοματοποιημένες και οι ομάδες έχουν τη δυνατότητα να φέρνουν με ασφάλεια τις αλλαγές τους στην παραγωγή.
Κάτι παρόμοιο συμβαίνει και με τις ανεξάρτητες ομάδες κινητής τηλεφωνίας: οι ιδιαίτερα εξειδικευμένες δεξιότητές τους (iOS, Android, σχεδιασμός για κινητά, οδηγίες πλατφόρμας) οδηγούν πολλούς οργανισμούς να τις ομαδοποιούν σε μία μόνο ομάδα, η οποία καταλήγει να εξυπηρετεί πολλαπλές ομάδες. Αυτό δημιουργεί ουρές, περίπλοκη ιεράρχηση προτεραιοτήτων και σημεία συμφόρησης όταν όλες οι ομάδες ζητούν αλλαγές μέσω κινητού ταυτόχρονα.
Μια πιθανή στρατηγική είναι να διατηρηθούν αυτές οι κινητές ομάδες με μια λογική ομάδας εξερεύνησης που συνοδεύει τις ομάδες, μοτίβα σήμανσης, επαναχρησιμοποιήσιμα στοιχεία και καλές πρακτικές, και να διαλυθεί αυτή η μονάδα όταν το λειτουργικό εύρος των κινητών εξισωθεί με την έκδοση ιστού.
Διαχείριση εξαρτήσεων λογισμικού: βιβλιοθήκες, πλαίσια και ασφάλεια
Πέρα από την οργάνωση, στην ανάπτυξη λογισμικού η λέξη εξάρτηση αναφέρεται συνήθως σε εξωτερικές βιβλιοθήκες, πλαίσια και στοιχεία που χρειάζεται η εφαρμογή σας για να λειτουργήσει. Εδώ μιλάμε για διαχειριστές εξαρτήσεων όπως Maven, Gradle, npm ή Composer.
Η κακή διαχείριση αυτών των εξαρτήσεων μπορεί να οδηγήσει σε διενέξεις εκδόσεων , προβλήματα ενσωμάτωσης, μακροπρόθεσμες δυσκολίες συντήρησης ή ευπάθειες ασφαλείας. Γι' αυτό είναι τόσο σημαντικό να χρησιμοποιείτε εργαλεία που αυτοματοποιούν τη λήψη, την επίλυση εκδόσεων και τις ελεγχόμενες ενημερώσεις.
Συνιστάται να διατηρείτε τις εξαρτήσεις αρκετά ενημερωμένες , επιτυγχάνοντας μια ισορροπία μεταξύ ασφάλειας και σταθερότητας. Οι έμμονες ενημερώσεις μπορούν να προκαλέσουν απροσδόκητα σφάλματα, αλλά οι σπάνιες ενημερώσεις καθιστούν το έργο ευάλωτο σε γνωστά τρωτά σημεία ή κακόβουλες εκδόσεις στο npm.
Είναι επίσης καλή πρακτική να ελαχιστοποιείτε τον αριθμό των εξαρτήσεων: πριν προσθέσετε μια νέα βιβλιοθήκη, αξίζει να αναρωτηθείτε αν πραγματικά προσθέτει αξία ή αν είναι κάτι που θα μπορούσε να αντιμετωπιστεί πιο απλά. Κάθε προστιθέμενη εξάρτηση σημαίνει περισσότερη επιφάνεια συντήρησης, πιθανές διενέξεις και, σε πολλές περιπτώσεις, αντίκτυπο στην απόδοση.
Όλα αυτά θα πρέπει να συνοδεύονται από σαφή τεκμηρίωση σχετικά με το ποιες εξαρτήσεις χρησιμοποιούνται, με ποιες εκδόσεις και για ποιο σκοπό, καθώς και από αυστηρές αυτοματοποιημένες δοκιμές για την επαλήθευση ότι μια ενημέρωση δεν διακόπτει την υπάρχουσα λειτουργικότητα. Τα εργαλεία ανάλυσης ασφάλειας βοηθούν επίσης στην ανίχνευση γνωστών τρωτών σημείων στις προστιθέμενες εξαρτήσεις.
Πρακτικές συμβουλές για τη διαχείριση εξαρτήσεων σε έργα
Στην καθημερινή διαχείριση έργων, υπάρχουν ορισμένες πρακτικές που διευκολύνουν σημαντικά τον έλεγχο των εξαρτήσεων . Αρκετά εργαλεία (Asana, Wrike, Jira, κ.λπ.) συμφωνούν στη σύσταση ορισμένων προσεγγίσεων.
Καταρχάς, είναι σημαντικό να οργανώσετε τις εργασίες σε ένα ισχυρό εργαλείο διαχείρισης έργων που σας επιτρέπει να μοντελοποιείτε τις εξαρτήσεις εργασιών, να οπτικοποιείτε χρονοδιαγράμματα και να βλέπετε γρήγορα τι έχει αποκλειστεί και γιατί. Αυτό μειώνει τον κίνδυνο παράβλεψης σημαντικών συνδέσεων.
Η σαφής απεικόνιση των εξαρτήσεων, χρησιμοποιώντας γραφήματα Gantt, οδικούς χάρτες ή πίνακες Kanban , είναι επίσης πολύ χρήσιμη . Η προβολή της σειράς εκτέλεσης και των σημείων αποκλεισμού βοηθά την ομάδα να κατανοήσει καλύτερα γιατί ορισμένες εργασίες έρχονται πριν ή μετά από αυτές και πώς επηρεάζουν τους συναδέλφους της.
Μια άλλη κρίσιμη πτυχή είναι η παρακολούθηση πιθανών κινδύνων που σχετίζονται με εξαρτήσεις. Στις αρχικές φάσεις του σχεδιασμού του έργου, συνιστάται η καταιγίδα ιδεών για συγκεκριμένους κινδύνους εξάρτησης : υπερφόρτωση βασικού προσωπικού, εξωτερικοί προμηθευτές, εκκρεμείς άδειες ή εκκρεμείς επιχειρηματικές αποφάσεις.
Τέλος, η ανοιχτή επικοινωνία μεταξύ των ενδιαφερόμενων μερών είναι απαραίτητη. Η επικοινωνία δεν είναι ποτέ περιττή όταν αντιμετωπίζουμε εξαρτήσεις: αν κάποιος γνωρίζει ότι θα καθυστερήσει σε μια εργασία από την οποία εξαρτώνται άλλοι, είναι καλύτερο να τον ειδοποιήσει το συντομότερο δυνατό, ώστε όλοι οι άλλοι να μπορέσουν να προσαρμόσουν τα σχέδιά τους και να αποφύγουν να πληγούν σοβαρά.
Επίδραση των εξαρτήσεων στην επιτυχία του έργου
Η εξειδίκευση στη διαχείριση εξαρτήσεων έχει άμεσο αντίκτυπο στην επιτυχία ενός έργου. Αφενός, επιτρέπει πιο ολοκληρωμένο έλεγχο και καλύτερα ενημερωμένο στρατηγικό σχεδιασμό , καθώς ο διαχειριστής του έργου μπορεί να δει πώς όλα τα κομμάτια ταιριάζουν μεταξύ τους και να ορίσει μια ρεαλιστική σειρά εργασίας.
Από την άλλη πλευρά, βελτιώνει σημαντικά τη διαχείριση του χρόνου και την πρόληψη καθυστερήσεων . Κατανοώντας τις κρίσιμες ακολουθίες εργασιών και τις εξαρτήσεις τους, οι προθεσμίες μπορούν να προσαρμοστούν με μεγαλύτερη ακρίβεια, να ιεραρχηθούν οι πραγματικά κρίσιμες εργασίες και να εντοπιστούν άμεσα οι συνέπειες της μετακίνησης μιας εργασίας.
Επιπλέον, η καλή διαχείριση εξαρτήσεων βοηθά στη μείωση των σφαλμάτων και στη βελτιστοποίηση των πόρων . Αποφεύγει την επανάληψη της προσπάθειας, ελαχιστοποιεί την περιττή επανεπεξεργασία και δημιουργεί μια σειρά εκτέλεσης που περιορίζει το περιθώριο για δαπανηρά λάθη.
Όλα αυτά έχουν ως αποτέλεσμα μεγαλύτερη ευελιξία και προσαρμοστικότητα: όταν οι αλλαγές είναι αναπόφευκτες, η ύπαρξη ενός σαφούς χάρτη εξαρτήσεων σάς επιτρέπει να αναδιοργανώσετε το σχέδιο με λιγότερες επιπτώσεις , προβλέποντας τις επιπτώσεις και αναδιαμορφώνοντας τις προτεραιότητες με περισσότερη κρίση.
Συνολικά, η αποτελεσματική διαχείριση των εξαρτήσεων μεταξύ εργασιών, ομάδων και τεχνικών στοιχείων καθίσταται βασικός παράγοντας επιτυχίας τόσο σε μεμονωμένα έργα όσο και σε συνεχή ανάπτυξη σύνθετων ψηφιακών προϊόντων. Οι οργανισμοί που δίνουν προτεραιότητα σε αυτόνομες ομάδες, σαφή οπτικοποίηση, τελετουργίες συντονισμού και ισχυρή τεχνική κουλτούρα μειώνουν τα σημεία συμφόρησης, βελτιώνουν τον χρόνο κυκλοφορίας τους στην αγορά και επιτρέπουν στις ομάδες τους να εργάζονται με λιγότερες τριβές και μεγαλύτερη εστίαση στην παροχή πραγματικής αξίας στον τελικό χρήστη.

