Το velocity γεννήθηκε ως ένα πρακτικό εργαλείο πρόβλεψης. Ένα μέτρο ικανότητας μιας ομάδας να ολοκληρώνει δουλειά σε ένα sprint. Στην πράξη όμως, σε πολλούς οργανισμούς, μετατράπηκε σε κάτι πολύ διαφορετικό: ένα proxy για performance. Και εκεί ξεκινά το πρόβλημα.
Στο Scrum, το velocity δεν σχεδιάστηκε για να συγκρίνει ομάδες, ούτε για να αξιολογεί ανθρώπους. Σχεδιάστηκε για να βοηθά την ίδια την ομάδα να κατανοεί τον ρυθμό της. Είναι εσωτερικό metric. Όταν γίνεται εξωτερικό KPI, αλλοιώνεται.
Ας δούμε όμως τι συμβαίνει στην πράξη.
Μια ομάδα ολοκληρώνει κατά μέσο όρο 30 story points ανά sprint. Η διοίκηση το βλέπει και θέτει στόχο: «να πάμε στα 40». Την επόμενη περίοδο, η ομάδα «βελτιώνεται». Το velocity ανεβαίνει. Όμως τι πραγματικά συνέβη;
Συχνά, όχι αυτό που νομίζουμε.
Η ομάδα αρχίζει να “σπάει” τα stories σε μικρότερα κομμάτια με μεγαλύτερη εκτίμηση. Τα 3 point stories γίνονται 5. Τα 5 γίνονται 8. Το velocity ανεβαίνει χωρίς ωστόσο καμία πραγματική αύξηση παραγωγικότητας. Το metric βελτιώνεται. Η αξία όχι απαραίτητα.
Σε άλλη περίπτωση, μια ομάδα αποφεύγει τεχνικά δύσκολες εργασίες (π.χ. refactoring ή αρχιτεκτονικές βελτιώσεις), γιατί «δεν δίνουν velocity». Προτιμά εύκολα, μετρήσιμα tasks. Το αποτέλεσμα; Βραχυπρόθεσμη αύξηση velocity, μακροπρόθεσμη αύξηση technical debt.
Κάπως έτσι το velocity αρχίζει να λειτουργεί ως αντικίνητρο.
Υπάρχει και ένα τρίτο, πιο ύπουλο φαινόμενο. Όταν συγκρίνονται ομάδες. Μια ομάδα με velocity 50 θεωρείται «καλύτερη» από μια με 25. Αγνοείται όμως ότι τα story points είναι σχετικοί δείκτες. Κάθε ομάδα τα ορίζει διαφορετικά. Είναι σαν να συγκρίνεις θερμοκρασίες σε Κελσίου και Φαρενάιτ χωρίς μετατροπή.
Η σύγκριση είναι μαθηματικά άκυρη, ωστόσο οργανωσιακά είναι διαδεδομένη.
Το πιο κρίσιμο όμως είναι άλλο. Το velocity δεν μετρά αξία. Μετρά output. Όχι outcome.
Μια ομάδα μπορεί να παραδίδει πολλά features (υψηλό velocity), αλλά αυτά να μην χρησιμοποιούνται ποτέ από τους χρήστες. Από την άλλη, μια ομάδα με χαμηλότερο velocity μπορεί να παραδίδει λιγότερα αλλά κρίσιμα features που αλλάζουν τη συμπεριφορά των πελατών. Στο πρώτο σενάριο έχεις δραστηριότητα. Στο δεύτερο έχεις αποτέλεσμα.
Κι όμως, τα dashboards συνήθως δείχνουν μόνο το πρώτο.
Το velocity, όταν χρησιμοποιείται σωστά, είναι ένα εργαλείο αυτογνωσίας της ομάδας. Βοηθά στο forecasting, στη σταθερότητα, στην κατανόηση της δυναμικής. Όταν όμως γίνεται εργαλείο ελέγχου, μετατρέπεται σε πηγή στρέβλωσης.
Και εδώ εμφανίζεται ένα γνώριμο μοτίβο. Όταν ένα metric γίνεται στόχος, παύει να είναι καλό metric.
Οι ώριμοι οργανισμοί δεν ρωτούν «πόσο velocity έχεις;». Ρωτούν:
- Πόση αξία παραδόθηκε;
- Πόσο γρήγορα μάθαμε;
- Πόσο μειώσαμε την αβεβαιότητα;
- Πόσο βιώσιμο είναι το σύστημά μας;
Το velocity δεν είναι performance indicator. Είναι operational signal.
Η σύγχυση μεταξύ των δύο δεν είναι απλώς μεθοδολογικό λάθος. Είναι στρατηγικό ρίσκο. Γιατί οδηγεί ομάδες να βελτιστοποιούν το λάθος πράγμα. Και σε σύνθετα συστήματα, το να βελτιστοποιείς το λάθος πράγμα… είναι ο πιο γρήγορος δρόμος προς την αποτυχία.
Βιβλιογραφία
- Schwaber, K., & Sutherland, J. — The Scrum Guide
- Forsgren, N., Humble, J., Kim, G. — Accelerate: The Science of Lean Software and DevOps
- Goodhart, C. — Problems of Monetary Management: The U.K. Experience (Goodhart’s Law)
- Cohn, M. — Agile Estimating and Planning
- Poppendieck, M. & T. — Lean Software Development
