Στο πλαίσιο του συνεδρίου Agile Greece Summit, το οποίο θα λάβει χώρα στην Αθήνα το χρονικό διάστημα 20-21 Σεπτεμβρίου, το NetFAX είχε την ευκαιρία να συζητήσει με τον Marcus Hammarberg, σύμβουλο, Lean/Agile coach και keynote speaker του συνεδρίου για έννοιες που βρίσκονται στο επίκεντρο των ομάδων ανάπτυξης λογισμικού σήμερα, όπως είναι το Agile και το Lean Software Management.
Εδώ και 15 χρόνια ο Marcus Hammarberg, ασχολείται με το agile και το lean software development. Εργαζόμενος ως σύμβουλος έχει βοηθήσει επαγγελματίες, ομάδες και ολόκληρους οργανισμούς να βελτιώσουν τη ροή παράδοσης της αξίας. Έχει αναλάβει διάφορα πόστα στην καριέρα του, από μεγάλες τράπεζες και ασφαλιστικούς οργανισμούς, έως startups και εταιρείες λιανικής. Ο Marcus, ωστόσο, είναι κι ένας εξαιρετικός προγραμματιστής, διδάσκοντας τις έννοιες που τον βοήθησαν να γίνει καλύτερος σε αυτόν τον τομέα. Τέλος αποτελεί κι έναν από τους δύο συγγραφείς του βιβλίου “Kanban in Action”, το οποίο έχει μεταφραστεί ήδη σε πέντε γλώσσες.
Σε τι διαφέρει η μεθοδολογία lean από τις παραδοσιακές διαδικασίες στην ανάπτυξη λογισμικού;
To Lean εστιάζει στη ροή της αξίας και της μάθησης, από το να διασφαλίζει ότι όλοι στην ομάδα θα έχουν κάτι να κάνουν, όπως γίνεται στις παραδοσιακές μεθόδους. Κάτι που μπορεί να ακούγεται προφανές, ωστόσο έρχεται σε αντίθεση με τον τρόπο λειτουργίας των περισσότερων εταιρειών σήμερα. Ένα παράδειγμα: Έχετε ακούσει ποτέ τις κλασικές συζητήσεις για το ποσοστό του χρόνου που δαπανάται σε διάφορα prοjects; Με μια τοποθέτηση π.χ. του τύπου, «Α, ασχολείσαι 40% στο project B, άρα έχεις 20% για να τρέξεις το project A και άλλο 10% για να υποστηρίξεις το σύστημα». Σας ακούγεται οικείο αυτό; Εδώ δίνεται εστίαση στο πώς θα εξασφαλιστεί ότι κάποιος δουλεύει και δεν κάθεται ούτε λεπτό. Ωστόσο, στην πραγματικότητα είναι αρκετό πιθανό κάποιος να είναι ήδη απασχολημένος όταν του ζητηθεί να κάνει κάτι επιπλέον. Και αυτό το κάτι επιπλέον θα πρέπει να περιμένει. Έτσι είναι σχεδιασμένο, άλλωστε, το σύστημά μας.
Τι πρέπει να προσέξει ένας οργανισμός που σκοπεύει να τρέξει ένα lean software development project;
Καταρχάς να διασφαλίσει ότι όλοι θα έχουν τις ίδιες μετρικές (που θα έχουν σημασία) και να τις χρησιμοποιήσει αυτές ως σημείο αναφοράς για την συμπεριφορά των συμμετεχόντων στο project. Επιπλέον, θα πρέπει ο στόχος να γίνει απτός και κατανοητός από όλους που συμμετέχουν στο project και την εταιρεία. Τέλος, θα πρέπει να σχηματοποιηθούν, να αλλάξουν αν χρειάζεται και να βελτιστοποιηθούν οι διαδικασίες ώστε να υποστηρίξουν μια ταχύτερη, καλύτερη και ομαλότερη ροή αξίας.
Ποια είναι τα μαθήματα που πήρατε από την ενσωμάτωση της μεθοδολογίας Lean στο projects ανάπτυξης λογισμικού; Ποιες είναι οι σημαντικότερες προκλήσεις σε αυτό; Τι συμβουλές θα δίνατε στους προγραμματιστές;
Το βασικότερο μάθημα που πήρα αφορά τη δύναμη των αρχών που βρίσκονται πίσω από το Agile και το Lean. Αυτές οι αρχές λένε πολύ λίγα πράγματα για το πώς πρέπει να δουλέψουμε, εννοώντας με αυτό ότι μπορούμε να βρούμε τρόπους να το κάνουμε που θα μας ταιριάζουν καλύτερα. Αυτό αποτελεί ευχή και κατάρα ταυτόχρονα, γιατί όταν ξεκινάμε κάτι χρειαζόμαστε κατευθυντήριες γραμμές. Μόλις αρχίζουμε, ωστόσο, να λειτουργούμε οι αρχές της ταχύτερης ροής μπορούν να μας καθοδηγήσουν στο να «παραβούμε» τις πρακτικές, όπου χρειάζεται.
Αλλά συχνά οι πρακτικές γίνονται κανόνες που μετατρέπονται σε δόγματα για να καταλήξουμε γρήγορα στην αδυναμία αλλαγής του τρόπου που ενεργούμε, «γιατί ο coach μας το είπε έτσι». Θα συμβούλευα, λοιπόν, τους προγραμματιστές να κατανοήσουν τις αρχές του Lean και του Agile και στη συνέχεια να αναζητήσουν εκείνο τον τρόπο εφαρμογής τους που θα τους ταιριάζει καλύτερα, και που θα είναι πιο κοντά σε αυτό που κάνουν.
Όσον αφορά τις προκλήσεις, στις περισσότερες εταιρείες υπάρχουν συστήματα, καθιερωμένες αξίες και κουλτούρα που έρχονται σε αντίθεση με τις αρχές του Lean. Για παράδειγμα, έχω γνωρίσει μεσόβαθμα στελέχη, τα οποία έπαιρναν bonus ανάλογα με το πόσο απασχολημένοι ήταν οι υπάλληλοί τους. Και όχι το πόσο αξία παρήγαγαν. Αυτοί οι μάνατζερ δεν ενδιαφέρονταν καθόλου για τη βελτιστοποίηση της ροής, ούτε καταλάβαιναν την ανάγκη χαλάρωσης που είχε το σύστημα, όπως και το ότι δεν πρέπει να λειτουργεί αυτό εμπλέκοντας συνέχεια το 100% των πόρων του.
Πώς πιστεύετε ότι θα εξελιχθεί η μεθοδολογία Lean στο μέλλον;
Θα αποτελέσει πηγή έμπνευση για εμάς να δούμε το πώς η τεχνολογία θα μας επιτρέψει να επικεντρωθούμε στις δραστηριότητες προστιθέμενης αξίας, παραμερίζοντας τη συνεχή πίεση που απαιτείται σήμερα. Για παράδειγμα, το serverless concept σημαίνει ότι δεν θα χρειάζεται να νοιαζόμαστε για τον εκάστοτε server κατά την εκτέλεση του κώδικά μας. Απλά θα αναπτύσσουμε το κώδικα και το serverless περιβάλλον θα διασφαλίζει ότι ο κώδικας θα τρέχει παντού. Ανυπομονώ, λοιπόν, να δω το πώς η καινοτομία θα μας βοηθήσει να ολοκληρώνουμε τη δουλειά μας με λιγότερο κόπο και σε συντομότερο χρόνο.