Στη διαχείριση του έργου, ποια είναι η διαφορά μεταξύ της αυξανόμενης και της επαναληπτικής εξέλιξης;


Απάντηση 1:

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

Η δωδέκατη ετήσια έκθεση της Πολιτείας Agile διαπίστωσε ότι ένας από τους πέντε κορυφαίους λόγους για την υιοθέτηση των μεθοδολογιών της Agile ήταν η επιτάχυνση της παράδοσης λογισμικού που αυξήθηκε σε 75% το 2018. Ενώ ο Iterative Planning, με 88% αύξηση, ήταν η δεύτερη πιο απασχολούμενη Agile Technique το 2018.

Τι είναι η επαναληπτική ανάπτυξη Agile;

Οι ευέλικτες μέθοδοι ανάπτυξης λογισμικού περιγράφονται πιο συχνά ως επαναληπτική και σταδιακή ανάπτυξη. Η επαναληπτική στρατηγική είναι ο ακρογωνιαίος λίθος των πρακτικών της Agile, οι σημαντικότερες από τις οποίες είναι η SCRUM, η DSDM και η FDD. Η γενική ιδέα είναι να χωρίσουμε την ανάπτυξη του λογισμικού σε ακολουθίες επαναλαμβανόμενων κύκλων (επαναλήψεις). Κάθε επανάληψη εκδίδεται με καθορισμένο χρονικό διάστημα γνωστό ως χρονοδιακόπτη. Ένα single timebox διαρκεί συνήθως 2-4 εβδομάδες.

Το Agile iterative Model εξηγείται ίσως καλύτερα από τον Craig Larman στο βιβλίο του Agile and Iterative Development - A Guide's Guide. Ο Larman εξηγεί ότι το μοντέλο λειτουργεί σε τροχό ADTC (Ανάλυση, Σχεδίαση, Κωδικός, Δοκιμή). Αυτό σημαίνει ότι κάθε κύκλος επανάληψης ενσωματώνει την ανάλυση του σχεδίου, του σχεδιασμού, του κώδικα του και ταυτόχρονα του τεστ. Ο τροχός ADTC αναφέρεται πιο τεχνικά ως ο κύκλος PDCA (Σχέδιο, Σχεδιασμός, Έλεγχος, Ρύθμιση). Η ομάδα Agile εφαρμόζει τον κύκλο PDCA σε κάθε επανάληψη ξεχωριστά με τον ακόλουθο τρόπο:

P (Σχέδιο) - Σχεδιασμός επανάληψης

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

D (Σχεδίαση) - Εκτέλεση επανάληψης

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

C (Έλεγχος) - Αναθεώρηση επανάληψης

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

A (Ρύθμιση) - Αναδρομική επανάληψη

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

Οι επαναλήψεις επαναλαμβάνονται για βελτιστοποιήσεις και αυτοσχεδιασμούς και τα διδάγματα από προηγούμενους κύκλους εφαρμόζονται στον επόμενο κύκλο. Μέχρις ότου ένα πλήρως λειτουργικό λογισμικό είναι έτοιμο να χτυπήσει την αγορά.

Για να διαβάσετε περισσότερα σχετικά με τις επαναλήψεις στο Agile, παρακαλούμε ανατρέξτε στο blog μου στο nTask με το What Is the Agile iterative Approach και πού χρησιμοποιείται;


Απάντηση 2:

Η αύξηση σημαίνει ότι καταργείτε τις συνολικές λύσεις σε μικρά κομμάτια (βήματα) και ολοκληρώνετε μια αύξηση σε μια χρονική στιγμή αντί να προσπαθείτε να αναπτύξετε την πλήρη λύση όλα με τη μία.

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

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