Λοιπον, ειναι αλήθεια. Η ομάδα του dotNETZone.gr έψαξε και βρήκε, μετά από πολλές περιπέτειες, τη μυστική ανάλυση-πρόταση του Απόλυτου Ξερόλα, R&D Manager της Τρια Κιλά Κώδικα Α.Ε. για το pair programming! (Οχι θα μας ξέφευγε). Μετά λοιπόν από την αντιμετώπιση που είχε από τον κ. Εμπειρο Παραγωγικό στο Επεισόδιο 27, ο Απόλυτος Ξερόλας ΔΙΑΒΑΣΕ. Και διάβασε προσεκτικά. Και κατάλαβε. Ιδού τι κατάλαβε.
Pair programming: Ανάλυση σε βάθος
1. Σκοπός
Σκοπός του pair programming είναι να δημιουργήσει ένα κλίμα συνεργασίας και επικοινωνίας μεταξύ των developers.Ετσι λέει το βιβλίο που διάβασα - ολόκληρο αυτή τη φορά. Επειδή όμως ο συγγραφέας το έχει ΠΡΟΧΕΙΡΟΓΡΑΨΕΙ, επινόησα μερικές δικές μου πρακτικές παραλλαγές τις οποίες θα βρείτε φοβερά αποτελεσματικές και θα μοιραστώ μαζί σας σε αυτό το έγγραφο, free of charge. Ακούς εκεί pair programming είναι δύο προγραμματιστές στον ίδιο υπολογιστή! Που ζούμε!
1.1. Programming with YOUR pair
Αν ο / η developer είναι δεσμευμένος/η / παντρεμένος/η, τότε φέρνουμε το έτερόν του/της ήμισυ στην εταιρία. Ετσι επιτυγχάνεται ένα pair programming κατά τη διάρκεια του οποίου ο ένας προσπαθεί να γράψει κώδικα και ο άλλος γκρινιάζει διαρκώς για το μισθό, τα έξοδα, τα παιδιά, τα πατάκια στο παρκέ, τα ψάρια που βρώμισαν στο ψυγείο επειδή τα άφησες μια βδομάδα αχρηστε κλπ. Ιδανικό για ένα σύντομο χρονικό διάστημα, κατά το οποίο αυξάνεται η ικανότητα του developer να παραμένει αναπόσπαστος από εξωτερικές επιδράσεις. Και εγώ δικαιούμαι αύξηση μια και ανέβασα την παραγωγικότητα.
1.2. Programming with SOMEBODY ELSE's pair
Επειδή βαριέμαι να γίνομαι politically correct, θεωρώ από εδώ και στο εξής τον developer αρσενικού φύλου και υποθέστε εσείς μόνοι σας οτι θα μπορούσε να είναι και θηλυκού. (Κανω πολύ ώρα να βρω το "/" στο πληκτρολόγιο εξάλλου). Φέρνουμε λοιπόν το έτερον ήμισυ ενός ΑΛΛΟΥ developer και το βάζουμε να κάτσει δίπλα στο ΔΙΚΟ ΜΑΣ developer. Εχουμε συννενοηθεί από πριν με το έτερον ήμισυ ωστε να κάνει διαρκώς κολακευτικά σχόλια όπως "μα τι όμορφος κώδικας είναι αυτός", "πω,πω, αυτό το πρασινάκι στα comments του πάει μούρλια", "μου αρέσει ο τρόπος που ονομάζεις τις μεταβλητές σου" και άλλα τέτοια εμετικά. Αποτέλεσμα: Ο ΑΛΛΟΣ developer καταλαμβάνεται από μια ανείπωτη ζήλια και προσπαθεί να γράψει ακόμα καλύτερο κώδικα φοβούμενος οτι θα του φάνε το ταίρι. Εγώ παίρνω αύξηση για τους λόγους που προανέφερα.
1.3 Pair programming ALONE
Ναι! Γίνεται! Αυτό ήταν που έλεγα και στον κ. Εμπειρο Παραγωγικό (σ.σ: βλ. επεισόδιο 27) και νόμιζε οτι τον κοροϊδεύω! Βαζουμε έναν developer να δουλεύει ταυτόχρονα σε 2 PC. Κανει τη δουλειά 2 developers, τον πληρώνουμε μία φορά και ειμαστε όλοι ευχαριστημένοι. Και παίρνω και αύξηση ίση με το μισθό του δεύτερου developer.
1.4 EXTREME pair programming
Περικυκλώνουμε τον developer με PC (όσα χωράνε) και τον βάζουμε να δουλέψει σε όλα μαζί ταυτόχρονα. Η λογική είναι οτι θα πρέπει να δουλεύει σε ένα PC όσο τα άλλα κάνουν compile. Ετσι μπορούμε να αγοράζουμε φθηνά 486 μια και δεν θα μας νοιάζει πόση ώρα θα παίρνει το compile, εξάλλου ο developer θα είναι συνεχώς απασχολημένος και δεν θα προλαβαίνει να διαμαρτυρηθεί. Η αύξηση μου είναι σίγουρη λόγω του οτι κατάφερα να μειώσω τα λειτουργικά έξοδα.
2. Παρενέργειες
Παρακαλώ πολύ ΠΟΤΕ μην διανοηθείτε να βάλετε μαζί την Τούλα και το Ζαχαρία να κάνουν pair programming. Αν παρ'ελπίδα κάτι τέτοιο πρέπει να συμβεί, τότε προσπαθήστε η απόσταση μεταξύ των καρεκλών τους να είναι οπωσδήποτε μεγαλύτερη από πεντε οικοδομικά τετράγωνα. Αν παρ'ελπίδα το κανετε, φροντίστε να μου έχετε δώσει αύξηση εκ των προτέρων.
3. Αποτελεσματικότητα
Σύμφωνα με την ανωτέρω μελέτη, θεωρώ οτι η μέγιστη αποτελεσματικότητα του pair programming θα επιτευθεί στην Τρια Κιλά Κώδικα Α.Ε αν επιχειρηθεί με τη συμμετοχή του κ. Ψηλομύτη Μεμάστερ και της Τούλας, στο σενάριο 1.2. Ετσι θα κάνουμε οικονομία στα PC μια και η Τούλα δεν έχει δώσει σαφείς ενδειξεις οτι χρησιμοποιεί ούτως η άλλως το δικό της (την τελευταία φορά που κοίταξα κοιτούσε την οθόνη και ρωτούσε "υπολογιστή, υπολογιστή, με βλέπεις τώρα;") και ο κ. Ψηλομύτης θα πετύχει επιτέλους την αναγνώριση που του αξίζει δικαιωματικά, έχοντας διπλα του κάποιον που θα μπορούσε επιτέλους να εκμεταλλευτεί τον (μονοψήφιο αριθμό) γνώσεών του. Και, φυσικά, εγώ θα πάρω αύξηση.
Απόλυτος Ξερόλας
R&D Manager
Τρια Κιλά Κώδικα Α.Ε.