Πρακτικές του ΑΠ
-  Πλάνο της κάθε έκδοσης 
 - 
Τα στοιχεία που μπορούν να μεταβληθούν είναι:
ο χρόνος, το κόστος, η ποιότητα και το εύρος του έργου.
Τα επιχειρηματικά στελέχη αποφασίζουν σχετικά με
	
	-  το εύρος, 
	
 -  τις προτεραιότητες, 
	
 -  τι θα περιέχει η έκδοση, 
	
 -  ημερομηνίες των εκδόσεων.
	
 
Τα στελέχη ανάπτυξης έχουν τον τελικό λόγο για:
	
	-  το χρόνο που απαιτεί κάθε στοιχείο, 
	
 -  τα αποτελέσματα των επιχειρηματικών αποφάσεων,
	
 -  τη διεργασία ανάπτυξης
	
 -  το λεπτομερή χρονικό προγραμματισμό
	
 
 -  Μικρές εκδόσεις 
 - 
Κάθε έκδοση του λογισμικού πρέπει να είναι η μικρότερη δυνατή έτσι
ώστε να είναι μικρός ο αντίστοιχος χρονικός κύκλος.
 -  Μεταφορά (metaphor) 
 - 
Χρήση μιας μεταφοράς που εκφράζει την αρχιτεκτονική του συστήματος.
 -  Απλό σχέδιο 
 - 
Το σχέδιο πρέπει να είναι το απλούστερο δυνατό με την προϋπόθεση να:
	
	-  Τρέχει όλους τους ελέγχους
	
 -  Να μην περιέχει διπλά στοιχεία
	
 -  Να εκφράζει κάθε σκοπό που έχει σημασία για τους προγραμματιστές
	
 -  Να έχει τις λιγότερες δυνατές κλάσεις και μεθόδους
	
 
 -  Έλεγχος 
 - 
Για κάθε λειτουργία του προγράμματος πρέπει να υπάρχει ο αντίστοιχος
έλεγχος.
Οι έλεγχοι γράφονται σε συνεργασία με τον πελάτη.
 -  Αναπαραγοντοθέτηση (refactoring) 
 - 
Σχέδια και αντίστοιχες υλοποιήσεις που μπορούν να βελτιωθούν,
χωρίς να αλλάξουν οι λειτουργικές προδιαγραφές,
ξαναγράφονται.
 -  Προγραμματισμός σε ζευγάρια 
 - 
Ένα ζευγάρι μοιράζεται τον υπολογιστή.
Όταν το ένα μέλος πληκτρολογεί, το άλλο ελέγχει:
	
	-  Θα δουλέψει το σύνολο της προσέγγισης;
	
 -  Υπάρχουν έλεγχοι που δεν έχουν υλοποιηθεί;
	
 -  Μήπως μπορεί το σύστημα να απλοποιηθεί;
	
 
Τα ζευγάρια αλλάζουν δυναμικά.
 -  Συλλογική ιδιοκτησία (collective ownership) 
 - 
Ο κώδικας ανήκει σε όλα τα μέλη της ομάδας.
Κάθε ένας έχει δικαίωμα να βελτιώσει οποιοδήποτε τμήμα του και όλοι
είναι υπεύθυνοι για την ποιότητα του συνόλου του κώδικα.
 -  Συνεχής ολοκλήρωση 
 - 
Τα τμήματα του κώδικα ενώνονται τακτικά μεταξύ τους.
 -  Εβδομάδα 40 ωρών 
 - 
Οι υπερωρίες είναι δείγμα προβλημάτων στο έργο.
 -  Πελάτης στο χώρο της εργασίας 
 - 
Εκπρόσωπος του πελάτη βρίσκεται στο χώρο της ανάπτυξης.
Βοηθά στο σχεδιασμό, τους ελέγχους και τις προδιαγραφές.
 -  Πρότυπα κώδικα 
 - 
Με βάση τα πρότυπα ο κώδικας μπορεί να είναι ιδιοκτησία
όλης της ομάδας.
 
Σημείωση
Γιατί η λέξη refactoring αποδίδεται ως αναπαραγοντοθέτηση και όχι ... ;
Βλέπε την ανάλυση του κ. Κώστα Βαλεοντή,
προέδρου της ΕΛΕΤΟ και μια σχετική
συζήτηση που προηγήθηκε και ακολούθησε.