Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Ομάδες TEAMS Δρ. Μαρία Ι. Ανδρέου. Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 2 Περιεχόμενα Οργάνωση Ομάδας (Team organization) Democratic team approach.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Ομάδες TEAMS Δρ. Μαρία Ι. Ανδρέου. Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 2 Περιεχόμενα Οργάνωση Ομάδας (Team organization) Democratic team approach."— Μεταγράφημα παρουσίασης:

1 Ομάδες TEAMS Δρ. Μαρία Ι. Ανδρέου

2 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 2 Περιεχόμενα Οργάνωση Ομάδας (Team organization) Democratic team approach Classical chief programmer team approach Beyond chief programmer and democratic teams Synchronize-and-stabilize teams Extreme programming teams People capability maturity model Επιλογή κατάλληλου τρόπου οργάνωσης ομάδας

3 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 3 Team Organization Έστω ότι ένα προϊών πρέπει να ολοκληρωθεί με 3 μήνες, αλλά χρειάζεται 1 person-year of programming Λύση:  Αν ένας programmer μπορεί να γράψει το code για αυτό το προϊών σε 1 year, τότε τέσσερις programmers μπορούν να το κάνουν σε 3 μήνες Nonsense!  Τέσσερις programmers θα χρειαστούν πολύ πιθανόν κοντά στον ένα χρόνο για να τελειώσουν αυτό το έργο  Η ποιότητα του προϊόντος που θα προκύψει είναι συχνά χειρότερη από αυτή που θα είχε το προϊών αν έγραφε το code ένας programmer

4 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 4 Διαμοιρασμός Εργασιών (Task Sharing) Αν ένας αγρότης μπορεί να φυτέψει ένα στρέμμα φράουλες σε 10 μέρες, τότε δέκα αγρότες μπορούν να φυτέψουν την ίδια έκταση σε 1 μέρα Ένας ελέφαντας μπορεί να γεννήσει ένα ελεφαντάκι σε 22 μήνες, αλλά 22 ελέφαντες ΔΕΝ μπορούν να αναπαράγουν ένα ελεφαντάκι σε 1 μήνα

5 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 5 Task Sharing (συνέχ.) Σε αντίθεση με την διαδικασία αναπαραγωγής των ελεφάντων, ΕΊΝΑΙ πιθανό να διαμοιράσουμε την εργασία της κωδικοποίησης ανάμεσα στα μέλη μιας ομάδας. Σε αντίθεση επίσης με την διαδικασία φυτέματος φραουλών, τα μέλη της ομάδας πρέπει να έχουν αλληλεπίδραση με ένα ουσιαστικό και αποδοτικό τρόπο

6 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 6 Οργάνωση Ομάδας Κωδικοποίησης (Programming Team Organization) Παράδειγμα:  Έστω ότι η Sheila και ο Harry code δυο modules, έστω τα m1 και m2 Τι μπορεί να πάει στραβά;  Από κοινού η Sheila και ο Harry ίσως κωδικοποιήσουν το m1, και να αγνοήσουν το m2  Η Sheila ίσως κωδικοποιήσει το m1 και ο Harry το m2. Όταν το m1 calls m2 του περνά 4 parameters, αλλά το m2 χρειάζεται 5 parameters (διαφορετικός αριθμός παραμέτρων)  ή, η σειρά των παραμέτρων στα m1 και m2 μπορεί να είναι διαφορετική  ή, η σειρά μπορεί να είναι η ίδια, αλλά the data types μπορεί να διαφέρουν λίγο

7 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 7 Programming Team Organization (συνέχ.) Αυτό δεν έχει να κάνει καθόλου με τεχνικές ικανότητες ή τεχνικές αρμοδιότητες  Η οργάνωση ομάδων είναι διοικητικό θέμα (managerial issue)

8 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 8 Προβλήματα Επικοινωνίας (Communications Problems) Παράδειγμα προθεσμία για την παράδοση του (deadline) πλησιάζει και το code δεν είναι σχεδόν  Υπάρχουν τρία κανάλια επικοινωνίας ανάμεσα σε τρεις programmers που δουλεύουν σε ένα project. Έστω ότι η προθεσμία για την παράδοση του (deadline) πλησιάζει και το code δεν είναι σχεδόν έτοιμο “Προφανής” λύση:  Προσθήκη ενός τέταρτου programmer στην ομάδα

9 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 9 Communications Problems (συνέχ.) Όμως οι άλλοι τρεις πρέπει να του εξηγήσουν με λεπτομέρεια  Τι πρέπει να γίνει  Τι δεν έχει γίνει ακόμα Brooks’s Law  Προσθήκη νέου programming personnel σε μια ομάδα όταν το product is late έχει σαν αποτέλεσμα να κάνει το product να προχωρά ακόμα πιο αργά

10 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 10 Team Organization Ομάδες χρησιμοποιούνται σε όλη την διαδικασία παραγωγής software  Και ιδικά κατά την διάρκεια του implementation  Θα συζητήσουμε θέματα σε σχέση με programming teams. Παρόμοια με αυτά ισχύουν σε όλες τις ομάδες σε οποιαδήποτε άλλη φάση της ανάπτυξης του software Δυο ακραίες (extreme) προσεγγίσεις στην οργάνωση ομάδας  Δημοκρατικές Ομάδες (Democratic teams) (Weinberg, 1971)  Ομάδες (teams) με Chief programmer (Brooks, 1971; Baker, 1972)

11 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 11 Democratic Team Approach Basic underlying concept — egoless programming Programmers μπορεί να είναι προσκολλημένοι στον κώδικα τους μετά τον εαυτό τους  Μπορεί να ονομάζουν τα modules που γράφουν μετά τον εαυτό τους  Βλέπουν τα modules τους σαν επέκταση του εαυτού τους

12 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 12 Democratic Team Approach (συνέχ.) Αν ένας programmer βλέπει ένα module σαν επέκταση του εγώ (ego) του, αυτός/αυτή ΔΕΝ θα βρει όλα τα errors στο code “του”/“της”  Αν υπάρχει error, το ονομάζει bug   Το fault θα μπορούσε να προληφθεί αν το code φυλαγόταν έναντι των “bug”  “Shoo-Bug” aerosol spray

13 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 13 Democratic Team Approach (συνέχ.) Προτεινόμενη λύση (Proposed Solution) Egoless programming  Επαναδομήσει του κοινωνικού περιβάλλοντος (Restructure the social environment)  Restructure programmers’ values  Ενθάρρυνση team members να βρίσκουν faults στο code  ένα fault πρέπει να θεωρείται φυσικό και αποδεχτό γεγονός  The team σαν σύνολο δημιουργεί ήθος (ethos), ταυτότητα στην ομάδα (group)  Τα Modules θα “ανήκουν” στο team σαν σύνολο  ένα group μέχρι 10 egoless programmers συνιστά μια δημοκρατική ομάδα (democratic team)

14 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 14 Δυσκολίες στην Democratic Team Approach Η διοίκηση (Management) μπορεί να έχει δυσκολίες  Democratic teams είναι δύσκολο να εισαχθούν σε ένα μη δημοκρατικό (undemocratic) περιβάλλον (environment)

15 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 15 Προτερήματα της Democratic Team Approach Democratic teams είναι πολύ παραγωγικές Δουλεύουν καλύτερα σε δύσκολα προβλήματα Λειτουργούν καλά σε περιβάλλοντα έρευνας (research environment) Πρόβλημα:  Democratic teams προκύπτουν αυτοβούλως

16 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 16 Classical Chief Programmer Team Approach Έστω μια ομάδα 6- ατόμων  Δεκαπέντε 2-person κανάλια επικοινωνίας  Συνολικά ο αριθμός των καναλιών επικοινωνίας με 2-, 3-, 4-, 5-, και 6- άτομα είναι 57  Αυτή η ομάδα ΔΕΝ μπορεί να κάνει δουλεία 6 person- months σε 1 μήνα

17 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 17 Classical Chief Programmer Team έξι programmers, αλλά μόνο 5 γραμμές επικοινωνίας

18 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 18 Classical Chief Programmer Team (συνέχ.) Η βασική ιδέα πίσω από αυτή την περίπτωση  Αναλογία: ο αρχηγός μιας χειρουργικής επέμβασης (chief surgeon) κατευθύνει την επέμβαση και βοηθείται από Άλλους χειρουργούς Αναισθησιολόγους Νοσοκόμες Άλλους ιδικούς, όπως καρδιολόγους και νευρολόγους Δυο σημαντικές πτυχές  Ειδικότητες (Specialization)  Ιεραρχία (Hierarchy)

19 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 19 Classical Chief Programmer Team (συνέχ.) Ο Chief programmer  Επιτυχημένος manager ΚΑΙ highly skilled programmer  Κάνει το architectural design  Κατανέμει το coding ανάμεσα στα team members  Γράφει the critical (or complex) sections of the code  Διαχειρίζεται τα θέματα επικοινωνίας  Εξετάζει την δουλειά των άλλων team members  Είναι προσωπικά υπεύθυνος για κάθε line of code

20 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 20 Classical Chief Programmer Team (συνέχ.) Ο Back-up programmer  Απαραίτητος μόνο επειδή ο chief programmer είναι άνθρωπος  Ο back-up programmer πρέπει να είναι με κάθε τρόπο τόσο ικανός όσο και ο chief programmer, και  Πρέπει να ξέρει για το project όσα και ο chief programmer  κάνει black-box test case planning και άλλες εργασίες που είναι ανεξάρτητες του design process

21 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 21 Classical Chief Programmer Team (συνέχ.) Η Programming secretary  Ένα highly skilled, well paid, central member of the chief programmer team  Έχει ευθύνη να διατηρεί the program production library (documentation of the project), που περιλαμβάνει: Source code listings JCL Test data  Οι Programmers δίνουν το source code τους στην secretary η οποία είναι υπεύθυνη να Τον μετατρέψει σε machine-readable form Compilation, linking, loading, execution, and running test cases (1971, remember!)

22 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 22 Classical Chief Programmer Team (συνέχ.) Programmers  Δεν κάνουν τίποτα άλλο παρά program  Όλες οι άλλες πτυχές διαχειρίζονται από την programming secretary

23 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 23 The New York Times Project Chief programmer team concept  First used in 1971  By IBM  To automate the clippings data bank (“morgue“) of the New York Times Chief programmer—F. Terry Baker

24 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 24 The New York Times Project (συνέχ.) 83,000 source lines of code (LOC) γράφτηκαν σε 22 calendar months, και αντιπροσώπευαν 11 person-years Μετά τον πρώτο χρόνο, μόνο το file maintenance system είχε γραφτεί (12,000 LOC) Το περισσότερο code γράφτηκε τους τελευταίους 6 μήνες 21 faults εντοπίσθηκαν τις πρώτες 5 βδομάδες του acceptance testing

25 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 25 The New York Times Project (συνέχ.) 25 επιπλέον faults εντοπίσθηκαν τον πρώτο χρόνο της λειτουργίας του Principal programmers κατά μέσο όρο κάνουν ένα detected fault και 10,000 LOC το χρόνο το file maintenance system, παραδόθηκε 1 week μετά το τέλος του coding, λειτουργούσε 20 months πριν συμβεί a single failure Σχεδόν μισά από τα subprograms (συχνά 200 to 400 lines of PL/I) διορθώθηκαν στο first compilation

26 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 26 The New York Times Project (συνέχ.) Όμως, μετά από αυτή την φανταστική επιτυχία, ΚΑΜΙΑ ΑΛΛΗ συγκρίσιμη με αυτή ΔΕΝ έχει συμβεί για το chief programmer team concept

27 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 27 Γιατί το NYT Project είχε τέτοια επιτυχία; Prestige project for IBM  Πρώτη πραγματική προσπάθεια για την PL/I (αναπτύχθηκε από την IBM)  IBM, έχει πληθώρα software experts, και χρησιμοποίησε τους καλύτερους Very strong technical backup  PL/I compiler writers βοηθούσαν τους programmers  JCL experts assisted with the job control language

28 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 28 Γιατί το NYT Project είχε τέτοια επιτυχία; (συνέχ.) F. Terry Baker  Superprogrammer  Superb manager and leader  His skills, enthusiasm, and personality “carried” the project Προτερήματα της chief programmer team approach  δουλεύει  Πληθώρα επιτυχών projects έχουν χρησιμοποιήσει παραλλαγές του CPT

29 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 29 Λόγοι για τους οποίους το Classical CPT ΔΕΝ είναι πρακτικό Ο chief programmer πρέπει να είναι highly skilled programmer ΚΑΙ επιτυχημένος manager Υπάρχουν πολλοί highly skilled programmers Υπάρχουν πολλοί επιτυχημένοι managers Οι ικανότητες που χρειάζονται για ένα highly skilled programmer δεν είναι συνηθισμένο να τις έχει ένας επιτυχημένος manager, και αντίθετα

30 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 30 Λόγοι για τους οποίους το Classical CPT ΔΕΝ είναι πρακτικό (συνέχ.) Ο back-up programmer πρέπει να είναι τόσο καλός όσο ο chief programmer  Αλλά πρέπει να πάρει a back seat (και πιο μικρό μισθό) περιμένοντας κάτι να συμβεί στον chief programmer  Top programmers, top managers δεν θα το έκαναν αυτό η programming secretary δεν κάνει τίποτα άλλο από γραφειάκι δουλεία (paperwork) όλη μέρα  Software professionals μισούν την γραφειάκι δουλεία Το Classical CPT δεν είναι πρακτικό, δηλ. Δεν εφαρμόζεται στην πράξη

31 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 31 Πέραν από τις CP and Democratic Teams Χρειαζόμαστε τρόπους να οργανώνουμε ομάδες που να  Κάνουν χρήση των προτερημάτων των democratic teams και των chief programmer teams, και  Να μπορούν να διαχειρίζονται ομάδες των 20 (ή των 120) programmers Το πλεονέκτημα των democratic teams  Θετική διάθεση στην εύρεση faults Χρήση και του CPT με code walkthroughs or επιθεώρηση

32 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 32 Πέραν από τις CP and Democratic Teams (συνέχ.) Ενδεχόμενος κρυφός κίνδυνος Ο chief programmer είναι προσωπικά υπεύθυνος για κάθε line of code  Πρέπει λοιπόν να λαμβάνει μέρος στις αξιολογήσεις (reviews!) Ο chief programmer είναι επίσης team manager  Γιαυτό ΔΕΝ πρέπει να λαμβάνει μέρος στα reviews!

33 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 33 Πέραν από τις CP and Democratic Teams (συνέχ.) Λύση  Ελάττωση του managerial ρόλου του chief programmer

34 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 34 Πέραν από τις CP and Democratic Teams (συνέχ.) Είναι πιο εύκολο να βρούμε ένα team leader παρά ένα chief programmer Κάθε υπάλληλος είναι υπόλογος σε μόνο ένα manager—lines of responsibility are clearly delineated Ο team leader είναι υπεύθυνος για την τεχνική (technical) management

35 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 35 Πέραν από τις CP and Democratic Teams (συνέχ.) Θέματα προϋπολογισμού και νομικά θέματα ΔΕΝ εκτελούνται από τον team leader Ο team leader λαμβάνει μέρος στα reviews — ο team manager δεν επιτρέπετε να το κάνει Ο team manager λαμβάνει μέρος σε regular team meetings για να εκτιμά the technical skills των team members

36 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 36 Μεγάλα (Larger) Projects Η ΜΗ τεχνική πλευρά είναι παρόμοια  Για ακόμα πιο μεγάλα products, προσθέτουμε περισσότερα επίπεδα (layers) Figure 4.5

37 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 37 Πέραν από τις CP and Democratic Teams (συνέχ.) Αποκέντρωση της decision-making process, όπου χρειάζεται  Χρήσιμο όταν η democratic team is good

38 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 38 Synchronize-and-Stabilize Teams Χρησιμοποιείται στην Microsoft Το Products συνίσταται από 3 or 4 sequential builds Small parallel teams  3 to 8 developers  3 to 8 testers (work one-to-one with developers)  Στην team δίνετε ολόκληρο το task specification  Μπορούν να κάνουν design του task όπως θέλουν

39 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 39 Synchronize-and-Stabilize Teams (συνέχ.) Γιατί αυτή η προσέγγιση δεν δημιουργεί hacker- induced chaos;  Daily synchronization step  ανεξάρτητα components πάντα δουλεύουν μαζί

40 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 40 Synchronize-and-Stabilize Teams (συνέχ.) Κανόνες (Rules)  Οι Programmers πρέπει να τηρούν κατά γράμμα τον χρόνο εισαγωγής του code into the database for that day’s synchronization Αναλογία  Αφήνουμε τα παιδία να κάνουν ότι θέλουν όλη μέρα …  … αλλά στις 9 μ.μ. πρέπει να είναι στο κρεβάτι τους

41 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 41 Synchronize-and-Stabilize Teams (συνέχ.) Δουλεύει αυτή η προσέγγιση σε όλες τις εταιρίες;  Ίσως αν οι software professionals είναι τόσο καλοί όσο αυτοί της Microsoft Εναλλακτική ματιά  το synchronize-and-stabilize model είναι απλά ένας τρόπος που επιτρέπει group of hackers να αναπτύξουν large products  Η επιτυχία της Microsoft οφείλετε στο superb marketing παρά στην ποιότητα του software

42 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 42 Extreme Programming Teams Χαρακτηριστικά του XP  Όλο το code γράφεται από two programmers που μοιράζονται ένα computer  “Pair programming”

43 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 43 Προτερήματα του Pair Programming Οι Programmers δεν πρέπει να ελέγχουν το δικό τους code  Ένας programmer σχεδιάζει τα test cases, και ο άλλος κάνει τα tests στο code Αν ένας programmer φύγει, ο άλλος έχει ικανοποιητική γνώση για να συνεχίσει την εργασία με ένα άλλο pair programmer Ένας άπειρος programmer μπορεί να μάθει από το μέλος της ομάδας του που έχει περισσότερη εμπειρία Centralized computers προάγουν egoless programming

44 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 44 People Capability Maturity Model Η καλύτερες πρακτικές για διαχείριση και ανάπτυξη του εργοδυναμικού μιας εταιρίας Κάθε επίπεδο ωριμότητας έχει τα δικά του κλειδιά (KPAs)  Level 2: Staffing, επικοινωνία και συντονισμός, training και development, περιβάλλον εργασίας, performance management, coordination  Level 5: συνεχής βελτίωση ικανοτήτων, organizational performance alignment, continuous workforce innovation

45 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 45 People Capability Maturity Model (contd) P–CMM είναι ένα πλαίσιο για βελτίωση των διαδικασιών για διοίκηση και ανάπτυξη του ανθρώπινου δυναμικού μιας εταιρίας ΚΑΜΙΑ συγκεκριμένη προσέγγιση για οργάνωση ομάδων δεν έχει υιοθετηθεί

46 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 46 Επιλογή της κατάλληλης Team Organization ΔΕΝ υπάρχει μια λύση στο πρόβλημα του team organization Ο “σωστός” τρόπος εξαρτάτε από  The product  The outlook of the leaders of the organization  Previous experience with various team structures

47 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 47 Επιλογή της κατάλληλης Team Organization (συνέχ.) Πολύ λίγη έρευνα έγινε σε software team organization  team organization έχει βασιστεί σε μελέτες για group dynamics γενικά Χωρίς σχετικά πειραματικά αποτελέσματα, είναι δύσκολο να καθορίσουμε ποιο είναι το optimal team organization για ένα συγκεκριμένο product

48 Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 48 Επιλογή της κατάλληλης Team Organization (συνέχ.) Figure 4.7


Κατέβασμα ppt "Ομάδες TEAMS Δρ. Μαρία Ι. Ανδρέου. Τεχνολογία Υπολογισμού Δρ. Μαρία Ι. Ανδρέου 2 Περιεχόμενα Οργάνωση Ομάδας (Team organization) Democratic team approach."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google