Τι είναι agile

Agile είναι μία καινοτομική προσέγγιση στον τρόπο που αναπτύσσεται ένα προϊόν και στον τρόπο με τον οποίο εργάζονται όσοι το αναπτύσσουν. Οι αρχές του agile περιγράφονται στο Agile Manifesto.

Agile τρόπος ανάπτυξης: Πολύ γρήγορα (το πολύ σε ένα μήνα) παραδίδεται προς χρήση μία λειτουργική έκδοση του προϊόντος. Στη συνέχεια, πολύ συχνά (το αργότερο κάθε μήνα) παραδίδεται μία νέα έκδοση του προϊόντος, με τις αλλαγές και τις προσθήκες που κρίθηκαν ως οι πιο σημαντικές.

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

Agile τρόπος εργασίας: Για οτιδήποτε έχει σχέση με το προϊόν (τις προδιαγραφές, την υλοποίηση μέχρι και την υποστήριξη της λειτουργίας) την πλήρη ευθύνη έχει μία μικρή και σταθερή ομάδα, που ασχολείται αποκλειστικά με το προϊόν και έχει όλες τις απαιτούμενες δεξιότητες. 

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

Τι πετυχαίνουμε παραδίδοντας μία λειτουργική έκδοση του προϊόντος πολύ νωρίς και πολύ συχνά

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

Το προϊόν μπορεί να χρησιμοποιηθεί από πολύ νωρίς (έστω και με περιορισμένες λειτουργίες) και να φέρει έσοδα και κέρδη.

Οι πελάτες μπορούν πολύ νωρίς να δουν το ίδιο προϊόν (έστω κι αν έχει λίγες λειτουργίες), να κρίνουν αν είναι αυτό που ανέμεναν και, έγκαιρα, να ζητήσουν σημαντικές αλλαγές.

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

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

Το ηθικό όλων των συντελεστών (ομάδα ανάπτυξης, πελάτες, εμπλεκόμενοι) όταν βλέπουν κάτι να λειτουργεί και να χρησιμοποιείται, ανεβαίνει και δημιουργεί θετικό momentum.

Τι πετυχαίνουμε όταν όλη την ευθύνη για το προϊόν την έχει μία ομάδα

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

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

Τι είναι συνηθισμένο στον παραδοσιακό (plan-driven) τρόπο ανάπτυξης ...

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

Ακολουθεί μία μεγάλη φάση ανάπτυξης, με βάση το πλάνο υλοποίησης και τις αναλυτικές προδιαγραφές. 

Η επιτυχία του έργου μετριέται με το κατά πόσο τηρήθηκε το πλάνο υλοποίησης και οι προδιαγραφές.

Το προϊόν παραδίδεται στους πραγματικούς χρήστες και πελάτες του, στο τέλος του έργου.

... και ποιο είναι το πρόβλημα με τον παραδοσιακό τρόπο ανάπτυξης

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

Άρα, ένα πολύ μικρό ποσοστό του χρόνου και του κόστους του έργου (αυτό που αφορά τις αρχικές αποφάσεις, τις προδιαγραφές και το πλάνο) έχει τη μέγιστη συνεισφορά για το εάν τελικά το προϊόν τελικά θα φέρει αξία ή όχι  στους πελάτες του. 

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

Σχόλια