ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΚΑΙ AGILE

Του Νίκου Μεγγούδη, Scrum Master, Stoiximan

“Για κάθε πολύπλοκο πρόβλημα υπάρχει μια λύση η οποία είναι ξεκάθαρη, απλή και εσφαλμένη.” H.L. Mencken

Αν ένα σύστημα είναι απλό, περίπλοκο ή πολύπλοκο εξαρτάται συχνά από ποια οπτική το βλέπουμε. Έχοντας δύο προσεγγίσεις όπως το Stacey matrix και το Cynefin framework μπορούμε να καταλάβουμε το επίπεδο της πολυπλοκότητας. Η ανάπτυξη λογισμικού έχει μέσα της μεγάλη πολυπλοκότητα. Η πολυπλοκότητα αυτή έχει να κάνει με το τι χρειάζεται να υλοποιηθεί (What), πώς θα υλοποιηθεί (How) και ποιος θα το υλοποιήσει (Who). Άλλος ένας παράγοντας είναι το μέγεθος της εταιρείας, η συνεχόμενη ανάπτυξη, και πώς η πρότερη εμπειρία, η τεχνολογία, οι διαδικασίες, η κουλτούρα και η επικοινωνία μπορούν να υποστηριχθούν με την ανάπτυξη αυτή. Αναγνωρίζοντας το επίπεδο της πολυπλοκότητας ενός συστήματος μπορούμε να επιλέξουμε και τα κατάλληλα εργαλεία λειτουργίας.

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

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

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

Η ικανότητα της προσαρμογής μάθησης και εξέλιξης ειναι απο τις ιδιότητες των οργανικών μοντέλων. Στην Stoiximan οι Agile μεθοδολογίες είναι αυτές που μας επιτρέπουν να αντιμετωπίζουμε την πολυπλοκότητα που υπάρχει στις ομάδες της ανάπτυξης λογισμικού. Να αντιμετωπίζουμε τις συνεχείς αλλαγές σε έναν κόσμο που είναι όλο και πιο ασταθής, αβέβαιος και πολύπλοκος. Έχοντας το Scrum σαν την κύρια μεθοδολογία η οποία είναι βασισμένη στον Εμπειρισμό, στην διαδικασία δηλαδή του να έχουμε διαφάνεια (transparency) και μέσω αυτής να μπορούμε να ελέγχουμε (inspect) και να προσαρμόζουμε (adapt) το προϊόν, τις ομάδες, τις διαδικασίες και τα εργαλεία ανά τακτά χρονικά διαστήματα.

Άλλη μια ιδιότητα των οργανικών μοντέλων είναι το regulatory feedback. Στην Stoiximan, σε σχέση με τις διαδικασίες και την λειτουργία αυτό παίρνει δυναμική μέσω ανοικτών καναλιών επικοινωνίας και συζητήσεων σε όλα τα επίπεδα της εταιρείας, όπου όλοι μπορούν να προσφέρουν. Αυτό από μόνο του δίνει ποικιλία απόψεων που με την σειρά της βοηθάει στην ολοκληρωμένη συλλογή αναγκών. Όσον αφορά το προϊόν, με το Scrum framework έχουμε την δυνατότητα να το αναλυουμε σε μικρά κομμάτια, να ελαττώνουμε την πολυπλοκότητά του και τους αγνώστους παράγοντες που μπορεί να υπάρχουν και να υλοποιούμε αυτά τα μικρά κομμάτια για να είμαστε σε θέση να τα ελέγξουμε και να τα εκθέσουμε στους ενδιαφερόμενους με σκοπό το άμεσο και ουσιαστικό feedback.

Κάποια από τα στοιχεία που βοηθάνε να ανταπεξέλθουμε στην πολυπλοκότητα είναι τα παρακάτω:

  1. Cross functionality, έχοντας μια διατομεακή προσέγγιση μπορούμε να ανταπεξέλθουμε καλύτερα στα προβλήματα που γεννάνε τα πολύπλοκα συστήματα.
  2. Self organisation, αυτο-οργάνωση ως βασική πρακτική λειτουργία των ομάδων.
  3. Diversity, ποικιλομορφία ως ιδιότητα των οργανικών μοντέλων, βοηθάει ένα σύστημα να ισορροπεί καθώς αυτό αλλάζει, προσφέροντας ευελιξία και καινοτομία. Η ποικιλομορφία ολοκληρώνει ένα σύστημα και το κάνει βιώσιμο.
  4. Transparency, βασικό στοιχείο για να μπορούμε να έχουμε τις σωστές πληροφορίες.
  5. Empowerment & Delegation, για να μπορεί να αναπτυχθεί τόσο ποιοτικά όσο και ποσοτικά ένας οργανισμός.

References:
Scrum Guide
Management 3.0
Becoming a Technical Leader The Psychology of Technology
The Fifth Discipline

LATEST

Discover #LifeatQualco!

Recognised for our dedication to excellence, QUALCO was honoured as one of the best workplaces in tech and the best workplaces for women in 2023!