XP μέθοδος για τη Διαχείριση Έργων Λογισμικού

Σχετικά έγγραφα
Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

Scrum Μέθοδος για τη Διαχείριση Έργων Λογισμικού

Kanban μέθοδος για τη Διαχείριση Έργων Λογισμικού

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

XP μέθοδος για τη Διαχείριση Έργων Λογισμικού

Lean μέθοδος για τη Διαχείριση Έργων Λογισμικού

Scrum Μέθοδος για τη Διαχείριση Έργων Λογισμικού

Scrum Μέθοδος για τη Διαχείριση Έργων Λογισμικού

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

Ενότητα εκπαίδευσης και κατάρτισης για τις δεξιότητες ηγεσίας

ΗΛΕΚΤΡΟΝΙΚΗ ΑΠΟΔΕΛΤΙΩΣΗ

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

Άδειες Χρήσης. Μοντέλο προαγωγής προγραμμάτων αγωγής υγείας μέσω της φυσικής αγωγής. Χρηματοδότηση. Σκοποί ενότητας. Οι παρακάτω θεωρίες

«ΕΥΕΛΙΚΤΟ ERP. ΥΛΟΠΟΙΗΣΗ ΕΝΟΣ ΜΙΚΡΟΥ ΣΥΣΤΗΜΑΤΟΣ ERP»

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Οι αρχές της Διαχείρισης Μέσων σε Περίπτωση Κρίσης

Παναής Κασσιανός, δάσκαλος Διευθυντής του 10ου Ειδικού Δ.Σ. Αθηνών (Μαρασλείου)

H Ναταλί Σαμπά στο babyspace.gr

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

Βασικά Στοιχεία Διαχείρισης Έργων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΕ PASCAL: ΑΠΟ ΤΑ ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ ΚΑΙ ΤΑ ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ ΣΤΙΣ ΓΛΩΣΣΕΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ

TopHost: Scrum Introduction & Rules

1. ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΑΝΑΛΥΣΗ ΦΥΛΛΩΝ ΕΡΓΑΣΙΑΣ (Ή ΚΑΙ ΑΛΛΟΥ ΔΙΔΑΚΤΙΚΟΥ ΥΛΙΚΟΥ) ΑΞΙΟΛΟΓΗΣΗ ΤΩΝ ΜΑΘΗΤΩΝ

Τεχνολογία Λογισμικού

Υγιείς Εργασιακές Σχέσεις, Σύγχρονες Επιχειρήσεις

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

ΣΥΝΑΝΤΗΣΗ ΜΕ ΤΟΝ ΣΧΟΛΙΚΟ ΣΥΜΒΟΥΛΟ κ. ΒΛΑΧΟ ΔΗΜΗΤΡΙΟ. Θέμα συζήτησης: Πως μαθαίνουμε καλύτερα

6. Διαχείριση Έργου. Έκδοση των φοιτητών

Οδηγός διαφοροποίησης για την πρωτοβάθµια

ΔΙΟΙΚΗΣΗ ΑΝΘΡΩΠΙΝΟΥ ΔΥΝΑΜΙΚΟΥ. Ηγεσία

ΕΚΠΑΙΔΕΥΤΙΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ Is είναι βιώσιμη η επιχείρηση

Διδακτική της Πληροφορικής

Συναισθήματα και η Διαχείρισή τους

ΑΞΙΟΛΟΓΗΣΗ (THE MATRIX)

ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

A μέρος Σεμιναρίου. Λευκωσία Οκτωβρίου 2008 Μαρία Παναγή- Καραγιάννη

Χρήστος Μαναριώτης Σχολικός Σύμβουλος 4 ης Περιφέρειας Ν. Αχαϊας Η ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΣΚΕΦΤΟΜΑΙ ΚΑΙ ΓΡΑΦΩ ΣΤΗΝ Α ΔΗΜΟΤΙΚΟΥ ΣΧΟΛΕΙΟΥ

ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ Κλάδος: ΠΕ Πληροφορικής

Ταυτότητα εκπαιδευτικού σεναρίου. Γνώσεις και πρότερες ιδέες των μαθητών. Σκοπός και στόχοι

Σημειώσεις στο μάθημα «Στοιχεία Προγραμματισμού σε Γραφικό Περιβάλλον»

Εμπιστεύομαι τον εαυτό μου! Είμαι παρόν στη ζωή. Εμπιστεύομαι τη ζωή! Είμαι εγώ και είμαι καλά. Επιλέγω να κοιτάζω με όμορφο τρόπο τον εαυτό μου

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Ασκήσεις φυσικής και Δυσλεξία

Δεν υπάρχουν καλοί και κακοί μαθητές.

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

Σχέδια μαθημάτων για την δημιουργία συναρτήσεων υπολογισμού του ΜΚΔ και του ΕΚΠ στην MSWLogo

ΤΑ ΞΩΤΙΚΑ. Από τον George Tilton. Απόδοση από τον ΣΤΕΦΑΝΟ ΑΤΣΑΛΟ.

«Γκρρρ,» αναφωνεί η Ζέτα «δεν το πιστεύω ότι οι άνθρωποι μπορούν να συμπεριφέρονται έτσι μεταξύ τους!»

Διεκδικητική Συμπεριφορά - Εκπαίδευση και χρησιμότητα

Σχεδίαση Βάσεων Δεδομένων

Βασικά Στοιχεία Διαχείρισης Έργων

Μανώλης Ισχάκης - Πνευματικά δικαιώματα - για περισσότερη εκπαίδευση

ΔΙΔΑΚΤΙΚΕΣ ΠΑΡΕΜΒΑΣΕΙΣ ΣΤΙΣ ΜΑΘΗΣΙΑΚΕΣ ΔΥΣΚΟΛΙΕΣ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ 6 ΟΥ ΕΞΑΜΗΝΟΥ (5 Ο ΜΑΘΗΜΑ)

Ανάπτυξη εφαρμογών σε κινητά και ταμπλέτες: ανάγκες και προϋποθέσεις. Κώστας Φλώκος Γενικός Διευθυντής Upcom

ΜΙΛΩΝΤΑΣ ΣΤΑ ΠΑΙΔΙΑ ΓΙΑ ΤΗΝ ΟΙΚΟΝΟΜΙΚΗ ΚΡΙΣΗ. ΕΛΕΥΘΕΡΙΑ ΚΑΒΒΑΔΙΑ Σύμβουλος Ψυχικής Υγείας

Αύξηση της αναγνωρισιµότητας µίας πράσινης επιχείρησης Υποενότητα 2

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

THE ECONOMIST ΟΜΙΛΙΑ STEVE WELLS GLOBAL FUTURIST, COO, FAST FUTURE, UK

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

Βιωματικό εργαστήριο ασκήσεων επαγγελματικής συμβουλευτικής με τη χρήση των αρχών της Θετικής Ψυχολογίας

Οι Έξυπνες Ενέσεις Ενδυνάμωσης για την Καθημερινότητά μας!

Α.Ε.Ι. Πειραιά Τ.Τ. Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Διαχείριση Έργων Αυτοματισμού και Πληροφορικής

Προσόντα με υψηλή αξία για τους εργοδότες σε σχέση με την αναπηρία

Δράση 18. Συμβουλευτική υποστήριξη ανάπτυξης κοινωνικής επιχειρηματικότητας. Ομαδικά Εργαστήρια

Περί Λογοκλοπής. 1. Τι είναι η λογοκλοπή;

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΔΙΑΔΙΚΑΣΙΑ ΜΕΤΑΒΑΣΗΣ ΣΤΟ CLOUD COMPUTING ΜΑΘΗΣΙΑΚΟΙ ΣΤΟΧΟΙ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Ευχάριστο διάβασμα στο σπίτι. Αναστασία Χ Γιαννακού Ειδική Παιδαγωγός Καθηγήτρια Ευρωπαϊκού Πανεπιστημίου

ΔΥΝΑΤΟΤΗΤΕΣ ΚΑΙ ΠΡΟΟΠΤΙΚΕΣ ΤΟΥ ΕΠΑΓΓΕΛΜΑΤΟΣ ΠΟΥ ΘΕΛΩ ΝΑ ΑΚΟΛΟΥΘΗΣΩ.

Η. Διαδικασία διαμεσολάβησης

ΦΥΛΛΟ ΠΑΡΑΤΗΡΗΣΗΣ ΤΑΞΗΣ: ΕΝΑ ΜΟΝΤΕΛΟ ΓΙΑ ΠΕΙΡΑΜΑΤΙΣΜΟ (2 η

TEACCH: ΘΕΡΑΠΕΙΑ & ΕΚΠΑΙΔΕΥΣΗ ΠΑΙΔΙΩΝ ΜΕ ΑΥΤΙΣΜΟ & ΔΙΑΤΑΡΑΧΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ. Β. Α. Παπαγεωργίου Παιδοψυχίατρος

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

Διαμορφωτική Αξιολόγηση του Μαθητή: Από τη Θεωρία στη Χάραξη Πολιτικής. Λεωνίδας Κυριακίδης, Τμήμα Επιστημών της Αγωγής, Πανεπιστήμιο Κύπρου

Θεοδωράκης, Γ., & Χασάνδρα, Μ. (2006). Θεσσαλονίκη. Εκδ. Χριστοδουλίδη

ECVET WORKSHOP Κωστή Παλαμά 6-8, Αθήνα, τηλ ,

1. Άδειας Ασκήσεως του Επαγγέλματος του Ψυχολόγου.

Αντιμετωπίζω προκλήσεις

Προτιμήσεις εκπαιδευτικών στην επίλυση προβλημάτων με συμμετρία. Στόχος έρευνας

ΣΥΜΒΟΥΛΕΥΤΙΚΗ ΠΩΛΗΣΗ

Σχολείο Δεύτερης Ευκαιρίας. Ιωαννίνων. Αριθμητικός Γραμματισμός. Εισηγήτρια : Σεντελέ Καίτη

Παρουσιάσεις με Αντίκτυπο (High Impact Presentations) Χαρίκλεια Τσαλαπάτα 19/10/2015

ΕΥΡΩΠΑΪΚΗ ΚΟΙΝΩΝΙΚΗ ΕΡΕΥΝΑ

ΔΕΞΙΟΤΗΤΕΣ ΖΩΗΣ ΣΤΟ ΜΑΘΗΜΑ ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ. Σακελλαρίου Κίμων Πανεπιστήμιο Θεσσαλίας ΤΕΦΑΑ, Τρίκαλα

ΝΙΚΟΣ ΤΑΣΟΣ. Θετικής-Τεχνολογικής Κατεύθυνσης

της ΜΑΡΙΑΝΝΑΣ ΑΒΕΡΚΙΟΥ Παιδαγωγός MEd, Εκπαίδευση Παιδιών με Ειδικές Ανάγκες Διδάκτωρ Πανεπιστημίου Αθηνών, Φιλόλογος

Δημ. Σχ. Μεγάλης Παναγίας Σχολικό έτος: ΤΑΞΗ: Ε1 Δημοτικού. Υπεύθυνος εκπαιδευτικός: Κίκας Ιωάννης

Προαγωγή της Μάθησης στα Παιχνίδια. Επίλυση Προβλημάτων

ΠΑΡΟΥΣΙΑΣΗ: ΕΙΡΗΝΗ ΡΗΓΟΥ ΟΡΓΑΝΩΣΙΑΚΗ ΨΥΧΟΛΟΓΟΣ

ΜΕΡΟΣ Β: Προσωπική στάση

Χάρτινη αγκαλιά. Σχολή Ι.Μ.Παναγιωτόπουλου, Β Γυμνασίου

ΗΛΕΚΤΡΟΝΙΚΗ ΑΠΟΔΕΛΤΙΩΣΗ

Μάθηση σε νέα τεχνολογικά περιβάλλοντα

Ανάπτυξη δεξιοτήτων ζωής στη ΦΑ & τον Αθλητισμό

Πανεπιστήμιο Κύπρου. Πανηγύρι Τεχνολογίας

Ενότητα εκπαίδευσης και κατάρτισης για τις δεξιότητες ηγεσίας. Αξιολόγηση Ικανοτήτων

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

Transcript:

XP μέθοδος για τη Διαχείριση Έργων Λογισμικού Ενότητα 1- XP- ορολογία και αρχές Δρ. Δημήτριος Τσέλιος Καθηγητής Εφαρμογών Τμήμα Μηχανικών Πληροφορικής Τ.Ε.- ΤΕΙ Θεσσαλίας Μεταπτυχιακό Πρόγραμμα Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές 1

XP και εναγκαλισμός της Αλλαγής (1) Συχνά οι προγραμματιστές διαμαρτύρονται για τους χρήστες τους. Σύμφωνα με αυτούς, οι χρήστες δεν ρωτούν ποτέ γι αυτό που θέλουν και κάνουν δύσκολη τη ζωή των προγραμματιστών όταν συνεχώς αλλάζουν οι απόψεις. Οι προγραμματιστές γνωρίζουν ότι όταν γίνονται οι αλλαγές σε έναν κώδικα που έχει ήδη γραφεί, τότε δημιουργούνται τα bugs. Οι περισσότερες αλλαγές φέρουν περισσότερα λάθη. 2

XP και εναγκαλισμός της Αλλαγής (2) Αυτό είναι ένα από τα προβλήματα που έρχεται να επιλύσει η μέθοδος XP (extreme programming) η οποία είναι Agile μεθοδολογία. Όπως και η Scrum διαθέτει πρακτικές, αξίες και αρχές. Τα εργαλεία μπορούν πράγματι να βοηθήσουν αλλά θα πρέπει η ομάδα να αποκτήσει το σωστό mindset. 3

XP και εναγκαλισμός της Αλλαγής (3) Οι 10 κύριες XP πρακτικές 4

Οι κύριες πρακτικές του XP (1) Υπάρχουν 13 κύριες πρακτικές εργαλεία που βοηθούν τις ομάδες στην ανάπτυξη λογισμικού και στην δημιουργία κώδικα που επιτρέπει την αλλαγή. Οι 10 από αυτές χωρίζονται σε 4 κατηγορίες: προγραμματισμός, ολοκλήρωση, σχεδιασμός και ομαδική εργασία. 5

Οι κύριες πρακτικές του XP (2) Εργαλεία προγραμματισμού Test first programming, γνωστός και ως test driven ανάπτυξη. Σύμφωνα με αυτή δημιουργούνται αυτοματοποιημένα tests που συχνά ονομάζονται unit tests. Τα units αντιστοιχούν σε συνήθεις δομικές μονάδες προγραμματισμού όπως τάξεις, μέθοδοι, ρουτίνες, συναρτήσεις κλπ. Το test first διασφαλίζει ότι κάθε unit δουλεύει σωστά. Αυτό έχει ιδιαίτερα θετική επίδραση σε αλληλοσυνδεόμενα units. Ο κώδικας γίνεται πιο εύκολος στο να χρησιμοποιηθεί πάλι. 6

Οι κύριες πρακτικές του XP (3) Εργαλεία προγραμματισμού Pair programming, μια τεχνική που βασίζεται στην εργασία δύο προγραμματιστών ταυτόχρονα σε μια θέση εργασίας. Ο ένας γράφει τον κώδικα και ο άλλος ελέγχει. Έτσι δημιουργούνται λιγότερα λάθη. Μειώνεται η κόπωση μέσω της εναλλαγής ρόλων. Έτσι δημιουργείται περισσότερος και καλύτερος κώδικας. 7

Οι κύριες πρακτικές του XP (4) Τεχνικές ολοκλήρωσης Η μια τεχνική είναι το 10 minute build. Η ομάδα δημιουργεί ένα αυτοματοποιημένο build για όλο τον κώδικα που τρέχει κάτω από τα 10 λεπτά. Το build τρέχει όλα τα tests και παράγει μια αναφορά με τα ποια test περνούν ή αποτυγχάνουν. Καλό είναι για το build να τρέχει συχνά και να έχουμε συνεχή ενημέρωση για την ποιότητα του λογισμικού. 8

Οι κύριες πρακτικές του XP (5) Τεχνικές ολοκλήρωσης Η δεύτερη τεχνική είναι η continuous integration που ένας τρόπος για να δουλεύει μια ομάδα πάνω στον ίδιο κώδικα ταυτόχρονα. Η ομάδα έχει ένα σύστημα ελέγχου της έκδοσης (version) με κεντρικό σύνολο αρχείων. Ο κάθε προγραμματιστής παίρνει από το αποθετήριο ένα αντίγραφο του κώδικα, κάνει τις τροποποιήσεις και στη συνέχεια το επιστρέφει. Πολλές φορές όμως δημιουργούνται conflicts αν δεν υπάρχει κεντρικός έλεγχος. Μια λύση είναι ένας συνεχής build server. Κάποιες ομάδες χρησιμοποιούν ένα φυσικό build token, που περνάει από το ένα ζευγάρι προγραμματιστών, στο επόμενο. 9

Οι κύριες πρακτικές του XP (6) Πρακτικές σχεδιασμού Οι XP ομάδες χρησιμοποιούν την επαναληπτική ανάπτυξη. Έτσι όπως το Scrum έτσι και το XP έχει ανάλογους επαναληπτικούς κύκλους. Ο weekly κύκλος χρησιμοποιεί εβδομαδιαίες επαναλήψεις και εργάζεται το εργαλείο των stories (ίδια με τα user stories). Κάποιες φορές υπάρχει ένα μείγμα του XP με το Scrum που ονομάζεται Scrum-XP hybrid. 10

Οι κύριες πρακτικές του XP (7) Πρακτικές σχεδιασμού Οι XP ομάδες χρησιμοποιούν επίσης το quarterly κύκλο που επιτρέπει μακροπρόθεσμο σχεδιασμό. Τότε οι XP ομάδες χρησιμοποιούν τα themes που είναι μεγαλύτερες ιδέες που δένουν μαζί πολλές ιστορίες. Κάποιες XP ομάδες χρησιμοποιούν για το σχεδιασμό το slack. Σύμφωνα με αυτή την πρακτική η ομάδα τοποθετεί της δραστηριότητες που θεωρούνται δευτερεύουσες στο τέλος του επαναληπτικού κύκλου. Με αυτό τον τρόπο όταν η ομάδα έρθει αντιμέτωπη με αναπάντεχα προβλήματα τότε αφήνει στην άκρη της slack stories για να δουλέψουν με πιο σημαντικές εργασίες. 11

Οι κύριες πρακτικές του XP (9) Πρακτικές ομαδικής εργασίας Η πιο απλή και κατανοητή τεχνική είναι η sit together. Πολλοί θεωρούν ότι οι πραγματιστές δουλεύουν καλύτερα απομονωμένοι. Όμως η ομαδική εργασία έχει αποδειχθεί ότι είναι πιο αποτελεσματική. Έτσι δημιουργούνται ειδικοί χώροι για τη συνεύρεσή των ομάδων. Μια άλλη τεχνική είναι η informative workspace σύμφωνα με την οποία το εργασιακό περιβάλλον είναι έτσι φτιαγμένο για να ενημερώνονται όλοι για τα έργα. 12

Οι κύριες πρακτικές του XP (10) Πρακτικές ομαδικής εργασίας Συνήθη εργαλεία σε αυτούς τους χώρους είναι το burndown διάγραμμα και το task board. Οι information radiators είναι τα εργαλεία που οπτικοποιούν και μεταδίδουν την πληροφορία σε όποιον διέρχεται από τον χώρο. Osmotic επικοινωνία είναι η μετάδοση πληροφοριών για το έργο που γίνεται είτε μέσω γραφημάτων είτε μέσω συζητήσεων. Αυτοί οι χώροι εργασίας είναι χρήσιμοι γιατί η πληροφορία πρέπει να είναι προσβάσιμη σε όλους και όχι μόνο στον μάνατζερ. 13

Γιατί οι ομάδες αντιστέκονται στην συλλογή και πως οι πρακτικές μπορούν να βοηθήσουν (1) Κάθε διαχειριστής έργου κατανοεί τη δυσαρέσκεια που προκαλεί η αλλαγή 14

Γιατί οι ομάδες αντιστέκονται στην συλλογή και πως οι πρακτικές μπορούν να βοηθήσουν (2) Κανένας δεν επιθυμεί την αλλαγή του κώδικα που έγραψε, επειδή κάποιος άλλαξε γνώμη. Έτσι δημιουργείται η αντιπάθεια των προγραμματιστών για τους χρήστες του λογισμικού τους. Οι αλλαγές ενοχλούν τις ομάδες ειδικά όταν συμβαίνουν αργά στο έργο. Οι αλλαγές όμως ζητούνται όχι για να ενοχλήσουν την ομάδα αλλά γιατί το απαιτούν οι ανάγκες των πελατών. 15

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

Γιατί οι ομάδες αντιστέκονται στην συλλογή και πως οι πρακτικές μπορούν να βοηθήσουν (4) Οι XP ομάδες που πετυχαίνουν κάτι ανάλογο το ονομάζουν embracing change. Δεν βλέπουν την αλλαγή ως διάβολο αλλά φτιάχνουν καλό λογισμικό ανταποκρινόμενες στο feedback των πελατών. Δεν αποδέχονται απλά τις αλλαγές αλλά τις επιζητούν. Ο εναγκαλιασμός τις αλλαγής έχει δυο πλευρές. Την αλλαγή του φυσικού αντικειμένου και την αλλαγή του ίδιου του κώδικα. 17

Πως λοιπόν βοηθούν οι XP πρακτικές τις ομάδες; (1) Σχεδιασμός: αν οι ομάδες σχεδιάζουν επαναληπτικά, στο τέλος του κάθε κύκλου δέχονται σταθερά feedback. Έτσι αποδέχονται τις αλλαγές πιο εύκολα. Λειτουργία ομάδας: τα προβλήματα αντιμετωπίζονται πιο εύκολα αν υπάρχουν άνθρωποι γύρω σου για βοήθεια. Επίσης δίνεται η ευκαιρία στον καθένα να έχει τον έλεγχο των αλλαγών όταν συμβαίνει. 18

Πως λοιπόν βοηθούν οι XP πρακτικές τις ομάδες; (2) Ολοκλήρωση: αν η ομάδα δουλεύει με βάση τις αλλαγές, θα βρει τα προβλήματα ολοκλήρωσης πιο γρήγορα σε κάποιον κύκλο επανάληψης και θα τα διορθώσει και όχι στο τέλος του έργου. Προγραμματισμός: για να επιτευχθεί η αποδοχή της αλλαγής δημιουργείται ένα πακέτο από unit tests που τρέχουν κάθε φορά, που γίνεται ολοκλήρωση του κώδικα. Έτσι αν μια αλλαγή δημιουργεί πρόβλημα θα βρεθεί γρήγορα από το αντίστοιχο unit test. 19

Οι αξίες των XP βοηθούν την ομάδα να αλλάξει το mindset (1) Πολλές ομάδες στην αρχή, παρότι χρησιμοποιούν πρακτικές XP, δεν παίρνουν τα αναμενόμενα αποτελέσματα γιατί δεν αλλάζουν τη στάση τους έναντι της αλλαγής. Παίρνουν συνήθως αποτελέσματα της μορφής better than not doing. Θα πρέπει ο κώδικας να είναι απλός και έτοιμος για αλλαγή. Η απλότητα σημαίνει συνήθως λιγότερα bugs. Αλλά από πού έρχονται τα bugs; Συνήθως έρχονται από το rework που οδηγεί στο defect injection. Η αιτία όμως για όλα αυτά είναι το Big Requirements Up Front (BRUF). 20

Οι αξίες των XP βοηθούν την ομάδα να αλλάξει το mindset (2) Πολλές ομάδες που ακολουθούν το BRUF έχουν επιτυχία με την πρώτη και συχνά την δεύτερη έκδοση. Αυτό είναι φυσικό γιατί η ομάδα έχει αρκετή πληροφορία για να φτιάξει κάτι αξιόλογο. Όμως με 2 3 εκδόσεις υπάρχει αρκετή ανάδραση από τους πελάτες οι οποίοι ζητούν αλλαγές. Το XP επίσης αλλάζει τον τρόπο με τον οποίο σκέφτεται η ομάδα για την ποιότητα. Ποιότητα δεν είναι απλά η αποφυγή των bugs, αλλά ορίζεται ως η ικανοποίηση των αναγκών των πελατών. 21

Οι αξίες των XP βοηθούν την ομάδα να αλλάξει το mindset (3) Το XP αναγκάζει τις ομάδες να μάθουν πως γίνονται οι συζητήσεις με τους πελάτες ή να σκέφτονται σαν πελάτες. Το XP αποφεύγει το CΥΑ που υπάρχει σε κάθε σύνολο προδιαγραφών. Οι πρακτικές λειτουργούν μόνο όταν η ομάδα πραγματικά πιστεύει σε αυτές. Το XP είναι ένας άλλος τρόπος σκέψης για πολλούς τεχνικούς και developers. Αυτοί συνήθως αντιδρούν όταν οι πρακτικές τους ζητούν να αλλάξουν τον τρόπο με τον οποίο φτιάχνουν των κώδικα. 22

Οι αξίες των XP βοηθούν την ομάδα να αλλάξει το mindset (4) Αρνητική αντίδραση σε νέες τεχνικές προγραμματισμού 23

Οι αξίες των XP βοηθούν την ομάδα να αλλάξει το mindset (5) Πολλές ομάδες θεωρούν τεχνικές όπως το pair programming ή το test driven development καλές πρακτικές της μορφής nice to haves. Τις θεωρούν πολυτέλειες, και όταν προκύψουν δυσκολίες και καθυστερήσεις τις εγκαταλείπουν. Αυτές οι ομάδες δεν διαθέτουν το σωστό mindset για εφαρμογή του XP και ένα αναγνωριστικό τους είναι η ύπαρξη checklist με τις XP πρακτικές που χρησιμοποιούν ή το ποσοστό εφαρμογής του XP. 24

Ένα αποτελεσματικό mindset ξεκινά με τις XP αξίες (1) Επικοινωνία: κάθε μέλος της ομάδας γνωρίζει τη δουλειά που κάνει οποιοδήποτε από τα μέλη της ομάδας. Απλότητα: οι developers εστιάζουν στο γράψιμο απλών λύσεων. Ανάδραση: συχνά και σταθερά tests και κύκλοι ανάδρασης που ελέγχουν την ποιότητα του προϊόντος. 25

Ένα αποτελεσματικό mindset ξεκινά με τις XP αξίες (2) Θάρρος: κάθε μέλος της ομάδας μπορεί να κάνει τις καλύτερες επιλογές για το έργο ακόμη και αν αυτό σημαίνει ότι πρέπει να απορρίψει αποτυχημένες λύσεις ή να προσεγγίσει τα πράγματα διαφορετικά. Σεβασμός: κάθε μέλος της ομάδας είναι σημαντικό και πολύτιμο. Συχνά οι ομάδες ξεκινούν με καλές προθέσεις αλλά σιγά σιγά εγκαταλείπουν τις τεχνικές XP. 26

Ένα αποτελεσματικό mindset ξεκινά με τις XP αξίες (3) Επίσης οι ομάδες υιοθετούν τις πρακτικές που είναι τεχνικά κατανοητές προσπερνώντας τις αξίες. Οι πρακτικές είναι ξεκάθαρες και εύκολα κάποιος φαντάζεται τον εαυτό του να τις εφαρμόζει. Οι αξίες είναι πιο θεωρητικές και δύσκολα κατανοούνται από τις ομάδες. Σε αυτήν την κατάσταση, ένα μερίδιο ευθύνης έχουν και οι εκπαιδευτές που θεωρούν ότι είναι πιο εύκολο να εκπαιδεύσεις κάποιον σε εργαλεία και τεχνικές. 27

Ένα αποτελεσματικό mindset ξεκινά με τις XP αξίες (4) Όταν οι ομάδες αποκτήσουν το ορθό mindset, τότε κατέχουν τις αξίες και τότε οι πρακτικές αποκτούν νόημα. Παράδειγμα: η ορθή χρήση των build token για τη συνεχή ολοκλήρωση. 28

Κάποιες ερωτήσεις για να δούμε αν η ομάδα έχει mindset συμβατό με το XP Είναι η ομάδα πραγματικά OK με το να φτιάχνει λογισμικό και να το πετάει επειδή έμαθε ότι δεν δουλεύει; Αν το αφεντικό ζητάει ένα πιο σφικτό deadline, η ομάδα πιστεύει ότι τα unit tests είναι ο πιο γρήγορος τρόπος για να το τηρήσει ακόμη και αν αυτό σημαίνει περισσότερος κώδικας; Αν ένας άπειρος προγραμματιστής αναλάβει μια εργασία, είναι η υπόλοιπη ομάδα OK δίνοντάς του τη δικαιοδοσία να την τελειώσει; Είναι η ομάδα OK ακόμη και αν ο προγραμματιστής αποτυγχάνει και μαθαίνει από αυτό; 29

Κατανοώντας τις XP αρχές που θα βοηθήσουν την ομάδα να αγκαλιάσει την Αλλαγή (1) Οι αρχές του XP Humanity: θυμηθείτε πως το λογισμικό είναι φτιαγμένο από ανθρώπους και υπάρχει μια ισορροπία μεταξύ των αναγκών του κάθε μέλους της ομάδας και των αναγκών του έργου. Economics: κάποιος πληρώνει για το έργο, και ο καθένας πρέπει να έχει στο μυαλό του τον προϋπολογισμό. Mutual benefit: ψάξτε πρακτικές που είναι επωφελείς για όλους. Self-similarity: το μοτίβο των εβδομαδιαίων κύκλων είναι το ίδιο με το μοτίβο του μηνιαίου και του ημερήσιου. 30

Κατανοώντας τις XP αρχές που θα βοηθήσουν την ομάδα να αγκαλιάσει την Αλλαγή (2) Improvement: κάντε το καλύτερο σήμερα και προσπαθήστε για ακόμη καλύτερο αύριο. Diversity: οι διαφορετικές απόψεις και προοπτικές οδηγούν σε καλύτερες λύσεις. Reflection: οι καλές ομάδες γνωρίζουν τι δουλεύει και τι όχι. Flow: σταθερή παράδοση σημαίνει συνεχή αναπτυσσόμενη εργασία. Opportunity: κάθε πρόβλημα που αντιμετωπίζει η ομάδα είναι ευκαιρία για μάθηση. 31

Κατανοώντας τις XP αρχές που θα βοηθήσουν την ομάδα να αγκαλιάσει την Αλλαγή (3) Redundancy: ακόμη και αν κάτι θεωρηθεί περιττό, οδηγεί σε καλύτερη ποιότητα. Failure: μπορείτε να μάθετε πολλά από το λάθη. Quality: δεν μπορείς να παραδίδεις γρήγορα αποδεχόμενος χαμηλής ποιότητας προϊόν. Accepted responsibility: αν κάποιος είναι υπεύθυνος για κάτι τότε θα πρέπει να έχει την δικαιοδοσία να το κάνει. 32

Κατανοώντας τις XP αρχές που θα βοηθήσουν την ομάδα να αγκαλιάσει την Αλλαγή (4) Baby steps: μικρά βήματα προς τη σωστή κατεύθυνση. Είναι δύσκολη η αποδοχή όλων αυτών των αρχών αλλά οι πρακτικές χωρίς τις αξίες και τις αρχές δεν έχουν νόημα. 33

Οι XP αρχές βοηθούν στην κατανόηση του Σχεδιασμού (1) 34

Οι XP αρχές βοηθούν στην κατανόηση του Σχεδιασμού (2) Οι XP αρχές βοηθούν στην κατανόηση των πρακτικών και το αντίστροφο. Οι ομάδες XP χρησιμοποιούν stories και εάν δείτε ένα story που χρησιμοποιείται από τις XP ομάδες μοιάζει με το story που χρησιμοποιούν οι ομάδες Scrum. 35

Οι XP αρχές βοηθούν στην κατανόηση του Σχεδιασμού (3) 36

Οι XP αρχές βοηθούν στην κατανόηση του Σχεδιασμού (4) Τα stories μπορούν επίσης να χρησιμοποιηθούν από κάποιες XP αρχές. Economics: οι πελάτες επιλέγουν τα stories και έτσι η ομάδα του έργου εστιάζει στο κρίσιμο story με υψηλή αξία. Failure: τα stories είναι μικρά και ανεξάρτητα. Αν η ομάδα υλοποιεί ένα story και το στείλει στον πελάτη, τότε εύκολα μπορεί να το διορθώσει αν αποτύχει. 37

Οι XP αρχές βοηθούν στην κατανόηση του Σχεδιασμού (6) Accepted responsibility: ο προγραμματιστής διαβάζει την κάρτα και εκτιμά πόσο μπορεί να χρειαστεί για να υλοποιήσει το story. Κύκλοι ανάδρασης Και οι δύο μέθοδοι χρησιμοποιούν το feedback και έχουν παρόμοιες αξίες. Το XP είναι όμως περισσότερο εστιασμένο στο feedback. Ο κύκλος ανάδρασης είναι μικρότερος. 38

Όταν η ομάδα έχει το σωστό mindset για το XP, τότε οι πρακτικές φαίνονται αποτελεσματικές 39

Βιβλιογραφία Learning Agile, Andrew Stellman & Jennifer Greene, O Reilly, 2015, σελίδες 175-218 40