Return to site

My article on NetWeek

Back in October, the editor of NetWeek magazine, George Fetokakis asked me to write an article about Agile Project Management for the "Viewpoint" column (last page of the magazine, usually reserved for non-vendor related analysis on broader IT issues).
broken image
The article I sent entitled "Why is Agile Project Management so Popular? Answer: Because it works better", in greek "Γιατί το Agile Project Management είναι τόσο δημοφιλές; Απάντηση: Διότι είναι πιο αποτελεσματικό" was a polemic in favour of Agile PM and Scrum, and was published on the November issue of the magazine.
The article was published on the Nov-23rd issue. This the article that was published (online version here).
broken image
For the Record...
As is usually done in this case, the article I sent was (with my permission) cut and slightly changed. The end result appeared to be less "fanatic" :), than the original article. Below is the original article I sent, towards which I feel better.

Agile Project Management: Γιατί είναι τόσο δημοφιλές;

Απάντηση: Διότι είναι πιο αποτελεσματικό

Στο συμπέρασμα αυτό καταλήγει και η τελευταία, μεταξύ άλλων, παγκόσμια έρευνα[1] του Standish Group για τα ποσοστά επιτυχίας των Software Projects, όπου η υπεροχή των Agile μεθοδολογιών σε σχέση με το παραδοσιακό Waterfall είναι συντριπτική.

Η εικόνα αυτή συμβαδίζει με το διογκούμενο κύμα υιοθέτησης του Agile. Τα προσδοκώμενα οφέλη είναι η μείωση του time-to-market των προϊόντων λογισμικού, η δυνατότητα γρήγορης προσαρμογής στις μεταβαλλόμενες συνθήκες των αγορών, η βελτίωση της ποιότητας του παραγόμενου λογισμικού και η αύξηση της παραγωγικότητας των ομάδων ανάπτυξης.

 Τι είναι Agile Project Management

Οι βασικές αρχές λειτουργίας του Scrum, του δημοφιλέστερου Agile μεθοδολογικού πλαισίου είναι:

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

Η επιτυχία του Agile Project Management βασίζεται κυρίως στην αντιμετώπιση των αδυναμιών του μοντέλου Waterfall. Tο Agile λύνει άμεσα και οριστικά προβλήματα όπως:

  • Τις καθυστερήσεις στα έργα λογισμικού λόγω ανεπαρκών λειτουργικών προδιαγραφών
  • Τη δυσκολία ενσωμάτωσης αλλαγών των προδιαγραφών χωρίς αλλαγή του χρονοδιαγράμματος
  • Την ανάπτυξη λειτουργικότητας χαμηλής επιχειρησιακής αξίας
  • Την εμφάνιση μη ελεγχόμενων προβλημάτων ποιότητας του λογισμικού, συχνά κατά τη φάση των Ελέγχων Αποδοχής (UAT).
Do’s and Don’t’s

Η υιοθέτηση του Agile προϋποθέτει μία συνειδητή απόφαση του οργανισμού για στροφή προς την ευελιξία, την ποιότητα, τη συνεργατικότητα και την αυτο-οργάνωση. Ταυτόχρονα, ο οργανισμός θα πρέπει να εγκαταλείψει πρακτικές όπως το micro-management, η αυστηρή ιεραρχία, ο αναλυτικός χρονοπρογραμματισμό σε βάθος χρόνου, και η μέτρηση της προόδου του έργου με βάση χρονικά ορόσημα, οι οποίες είναι αντίθετες με τις βασικές αρχές του Agile.

Συνεπώς, χρησιμοποιώντας Agile Project Management:

  • Δεν θα καταγράφετε αναλυτικά όλες τις προδιαγραφές στην αρχή του έργου. Δεν θα παραδίδετε σχετικό documentation
  • Δεν θα σχεδιάζετε το σύνολο του συστήματος πριν ξεκινήσετε την ανάπτυξη του κώδικα
  • Δεν θα καταστρώνετε αναλυτικό χρονοδιάγραμμα εργασιών για το σύνολο του έργου
  • Δεν θα αναθέτετε την ευθύνη για την εκτέλεση μίας εργασίας σε πρόσωπο διαφορετικό από αυτό που την εκτελεί
  • Δεν θα σπαταλάτε το χρόνο σας σε μή παραγωγικά meeting
  • Δεν θα δυσκολεύεστε να αλλάξετε τις προδιαγραφές χωρίς επιβάρυνση του χρονοδιαγράμματος ή του κόστους
  • Δεν θα περιμένετε μέχρι τον έλεγχο αποδοχής του συστήματος για να δείτε το λογισμικό να (ή αν) λειτουργεί
  • Δεν θα αναπτύσσετε λειτουργικότητα χαμηλής αξίας για τον πελάτη
  • Δεν θα αφήνετε τους τεχνικούς να παίρνουν business αποφάσεις, ή τους ανθρώπους του business να παίρνουν τεχνικές αποφάσεις

Αντίθετα, χρησιμοποιώντας Agile Project Management:

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

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

[1]Agile: Successful 39%, Challenged 52%, Failed 9%. Waterfall: Successful 11%, Challenged 60%, Failed 29%. Πηγή: http://www.infoq.com/articles/standish-chaos-2015