Σε πρόσφατη διεθνής μελέτη του Standish Group για τα ποσοστά επιτυχίας των software projects, η υπεροχή των Agile μεθοδολογιών σε σχέση με το παραδοσιακό Waterfall είναι συντριπτική. Η εξήγηση γι’ αυτό είναι απλή….

Η μείωση του χρόνου «time-to-market» των προϊόντων λογισμικού, η δυνατότητα γρήγορης προσαρμογής στις μεταβαλλόμενες συνθήκες των αγορών, η βελτίωση της ποιότητας του παραγόμενου λογισμικού και η αύξηση της παραγωγικότητας των ομάδων ανάπτυξης, συμβάλουν στην ολοένα και μεγαλύτερη υιοθέτηση των Agile μεθοδολογιών. Τι είναι, ωστόσο, το Agile Project Management; Απάντηση σε αυτό το ερώτημα μπορούν να δώσουν οι βασικές αρχές λειτουργίας του Scrum, του δημοφιλέστερου Agile μεθοδολογικού πλαισίου, που είναι οι εξής:

1. Οι προδιαγραφές καταγράφονται με τη μορφή σεναρίων χρήσης, σε μία και μοναδική λίστα.
2. Το business αποφασίζει τόσο για τις προδιαγραφές όσο και για τη σειρά υλοποίησής τους.
3. Τα σενάρια χρήσης υλοποιούνται ένα-προς-ένα, σε επαναλαμβανόμενους κύκλους ανάπτυξης, σταθερής διάρκειας 1-4 εβδομάδων.
4. Στο τέλος κάθε κύκλου ανάπτυξης παρουσιάζεται η νέα έκδοση του λογισμικού, η οποία είναι έτοιμη για παραγωγική λειτουργία.

Η επιτυχία του Agile Project Management βασίζεται κυρίως στην αντιμετώπιση των αδυναμιών του μοντέλου Waterfall. Tο Agile λύνει άμεσα και οριστικά προβλήματα όπως είναι οι καθυστερήσεις στα έργα λογισμικού λόγω ανεπαρκών λειτουργικών προδιαγραφών, η δυσκολία ενσωμάτωσης αλλαγών των προδιαγραφών χωρίς αλλαγή του χρονοδιαγράμματος, η ανάπτυξη λειτουργικότητας χαμηλής επιχειρησιακής αξίας και η εμφάνιση μη ελεγχόμενων προβλημάτων ποιότητας του λογισμικού – συχνά κατά τη φάση των ελέγχων αποδοχής (UAT).

Do’s and Don’ts
Η υιοθέτηση του Agile προϋποθέτει μια συνειδητή απόφαση του οργανισμού για στροφή προς την ευελιξία, την ποιότητα, τη συνεργατικότητα και την αυτοοργάνωση. Ταυτόχρονα, ο οργανισμός θα πρέπει να εγκαταλείψει πρακτικές όπως είναι το micro-management, η αυστηρή ιεραρχία, ο αναλυτικός χρονοπρογραμματισμός σε βάθος χρόνου και η μέτρηση της προόδου του έργου με βάση χρονικά ορόσημα, πρακτικές οι οποίες είναι αντίθετες με τις βασικές αρχές του Agile. Συνοψίζοντας, χρησιμοποιώντας Agile Project Management:

* Δεν θα καταγράφετε αναλυτικά όλες τις προδιαγραφές στην αρχή του έργου. Δεν θα παραδίδετε σχετικό documentation. * Δεν θα σχεδιάζετε το σύνολο του συστήματος πριν ξεκινήσετε την ανάπτυξη του κώδικα, * Δεν θα καταστρώνετε αναλυτικό χρονοδιάγραμμα εργασιών για το σύνολο του έργου, * Δεν θα αναθέτετε την ευθύνη για την εκτέλεση μιας εργασίας σε πρόσωπο διαφορετικό από αυτό που την εκτελεί, * Δεν θα σπαταλάτε το χρόνο σας σε μη παραγωγικά meeting, * Δεν θα δυσκολεύεστε να αλλάξετε τις προδιαγραφές, χωρίς επιβάρυνση του χρονοδιαγράμματος ή του κόστους, * Δεν θα περιμένετε μέχρι τον έλεγχο αποδοχής του συστήματος για να δείτε το λογισμικό να (ή αν) λειτουργεί, * Δεν θα αναπτύσσετε λειτουργικότητα χαμηλής αξίας για τον πελάτη, * Δεν θα αφήνετε τους τεχνικούς να παίρνουν business αποφάσεις ή τους ανθρώπους του business να παίρνουν τεχνικές αποφάσεις. Eπιπλέον: * Θα παραδίδετε λογισμικό έτοιμο για παραγωγική λειτουργία κάθε 1-4 εβδομάδες, * Θα αναπτύσσετε τις λειτουργικές απαιτήσεις μία- προς-μία, ξεκινώντας από αυτές που παράγουν την επιχειρησιακή μεγαλύτερη αξία, * Θα αφήνετε το business να αποφασίζει το “τι” θα υλοποιηθεί και την ομάδα ανάπτυξης το “πώς”, * Θα διατηρείτε την ευχέρεια να αλλάξετε τις προδιαγραφές, ανάλογα με τις ανάγκες του business ή της αγοράς, * Θα παράγετε τόσο documentation όσο είναι απαραίτητο, * Θα αυξάνετε την παραγωγικότητα της ομάδας ανάπτυξης μέσα από την αυτοοργάνωση και τη συνεργατικότητα, * Θα διαχειρίζεστε ενεργητικά την ποιότητα του παραγόμενου λογισμικού, * Θα θεωρείτε την παραγόμενη επιχειρησιακή αξία ως κριτήρια επιτυχίας των έργων σας.

Agile Community
Η χώρα μας διαθέτει ένα ιδιαίτερα ενεργό Community από Agile Enthusiasts (agilegreece.org), το οποίο διοργανώνει, μεταξύ άλλων, το ετήσιο διεθνές συνέδριο Agile Greece Summit.