Διοίκηση Έργων Πληροφορικής - Τηλεπικοινωνιών ΔΗΜΗΤΡΑ ΤΖΙΓΚΟΥ Λ Ε Υ Κ Α Δ Α 2 0 1 2
(1/2) Ένα έργο (project) Πληροφορικής είναι ένα σύνολο από δραστηριότητες, δηλαδή εργασίες που η υλοποίηση τους απαιτεί χρόνο, χρήμα, μέσα, πόρους σε προσωπικό, μηχανήματα, υλικά κ.λπ. Οι δραστηριότητες είναι λογικά αλληλεξαρτημένες μεταξύ τους, με την έννοια ότι μερικές από αυτές μπορούν να ξεκινήσουν μόνο όταν έχουν πραγματοποιηθεί κάποιες άλλες ή - σε άλλες περιπτώσεις - μόνο αν έχει περάσει κάποια χρονική περίοδος από το ξεκίνημα μιας ή περισσοτέρων δραστηριοτήτων. Εκτός όμως από δραστηριότητες σ' ένα έργο είναι ενδεχόμενο να έχουμε και γεγονότα, δηλαδή ένα καθορισμένο επίτευγμα από το οποίο ξεκινάει ή καταλήγει μια ή περισσότερες δραστηριότητες. Βασικός σκοπός του σχεδιασμού (planning) ενός έργου είναι ο προσδιορισμός των δραστηριοτήτων που το αποτελούν ο καθορισμός των σχέσεων αλληλεξάρτησής τους, και τέλος, μια γραφική απεικόνιση, αναπαράσταση, ολόκληρης της πορείας των δραστηριοτήτων του έργου.
(2/2) Με άλλα λόγια, ο σχεδιασμός είναι στην πραγματικότητα μια προσπάθεια να γίνει η κατασκευή ενός γραφικού μοντέλου ολόκληρου του έργου, που θα παρέχει πληροφορίες χρήσιμες για την λήψη αποφάσεων πάνω στην διαχείριση και τον έλεγχο της προόδου των εργασιών. Μέχρι το τέλος του Β' Παγκόσμιου Πολέμου η μόνη γραφική απεικόνιση της πορείας των εργασιών ενός έργου ήταν το διάγραμμα Gantt. Αμέσως μετά τον πόλεμο όμως, και κύρια κατά την δεκαετία 1955-1965, αναπτύχθηκαν ειδικές τεχνικές, που αποδείχθηκαν πολύ αποτελεσματικές για έργα μεγάλης διάρκειας και με αριθμό από δραστηριότητες. Από τις ειδικές αυτές τεχνικές η πιο γνωστή κατηγορία τεχνικών είναι αυτή της δικτυωτής ανάλυσης, όπου ολόκληρο το έργο παριστάνεται σαν ένα δίκτυο από δραστηριότητες και - σε μερικές περιπτώσεις - γεγονότων. Τις πλέον εύχρηστες τεχνικές της δικτυωτής ανάλυσης αναλύουμε στην συνέχεια, αφού όμως πρώτα παρουσιάσουμε την διαγραμματική τεχνική Gantt, μια και ακόμη και σήμερα η τεχνική αυτή χρησιμοποιείται με μεγάλη επιτυχία στα έργα Πληροφορικής.
3.2 Τεχνική Gantt (1/8) Μέχρι το 1955 το διάγραμμα Gantt αποτελούσε ουσιαστικά τον μόνο εύχρηστο τρόπο για τον χρονικό προγραμματισμό και την παρακολούθηση της προόδου των εργασιών ενός σύμπλοκου έργου. Σχεδιάσθηκε γύρω στο 1910 από τον Henry L. Gantt με σκοπό να βελτιώσει τον σχεδιασμό (planning) και τον έλεγχο (control) της προόδου μιας σειράς εργασιών του στρατού των Η.Π.Α. Στο διάγραμμα Gantt η χρονική διάρκεια που διαρκεί μια δραστηριότητα παριστάνεται με μια οριζόντια ευθεία γραμμή. Το μήκος του ευθύγραμμου τμήματος είναι ανάλογο της χρονικής διάρκειας της δραστηριότητας. Έτσι οι διάφορες δραστηριότητες απεικονίζονται με την μορφή ευθυγράμμων παραλλήλων τμημάτων κάτω από μια ορισμένη χρονική κλίμακα (π.χ. ημέρες, εβδομάδες, μήνες ή έτη). Επιπλέον στο ίδιο διάγραμμα μπορούμε εκτός από τον προγραμματισμό των εργασιών να παρουσιάσουμε και την πρόοδο τους.
3.2 Τεχνική Gantt (2/8) Για παράδειγμα το Σχήμα που ακολουθεί δείχνει με την μορφή διαγράμματος Gantt το χρονοδιάγραμμα των εργασιών ενός μικρού έργου πληροφορικής (ανάπτυξης ενός μικρού πακέτου λογισμικού). Ο οριζόντιος άξονας παριστάνει τον χρόνο, ενώ ο κάθετος τις δραστηριότητες του έργου. Τέλος, τα γραμμωτά ευθύγραμμα τμήματα παριστάνουν τον αρχικό χρονοπρογραμματισμό των εργασιών, ενώ τα έντονα την πορεία που ακολουθήθηκε στην πράξη. Στο συγκεκριμένο διάγραμμα εύκολα διαπιστώνουμε ότι υπάρχουν σημαντικές αποκλίσεις από τον αρχικό σχεδιασμό, κύρια για τις δραστηριότητες.
3.2 Τεχνική Gantt (3/8) Τα βήματα που ακολουθούμε για την κατασκευή ενός διαγράμματος Gantt είναι τα ακόλουθα: Βήμα 1: Γίνεται η ανάλυση του έργου σε επιμέρους δραστηριότητες. Βήμα 2: Εκτιμάται η χρονική διάρκεια κάθε δραστηριότητας. Βήμα 3: Τοποθετούνται οι δραστηριότητες στο διάγραμμα, σύμφωνα με την προγραμματισμένη χρονική αλληλουχία που προσδιορίσθηκε στο Βήμα 2. Βήμα 4: Αν υπάρχει καταληκτική ημερομηνία ολοκλήρωσης του έργου, τότε διορθώνεται ανάλογα (αν χρειάζεται) ο χρονικός προγραμματισμός των εργασιών, ώστε το έργο να ολοκληρώνεται μέσα στα προβλεπόμενα χρονικά πλαίσια.
3.2 Τεχνική Gantt (4/8) (1/2) Το διάγραμμα Gantt έχει μια σειρά από πλεονεκτήματα, τα σπουδαιότερα των οποίων είναι: Σχεδιάζεται εύκολα και δεν απαιτεί ξεχωριστές γνώσεις για να γίνει κατανοητό. Ο σχεδιασμός του δεν απαιτεί εξειδικευμένο προσωπικό. Επιτρέπει την απρόσκοπτη παρακολούθηση της προόδου των εργασιών. Επειδή ο οριζόντιος άξονας παριστάνει τον χρόνο μπορεί να χρησιμοποιηθεί για την απεικόνιση του ημερολογίου εκτέλεσης των εργασιών.
3.2 Τεχνική Gantt (5/8) (2/2) Αν ο αριθμός των δραστηριοτήτων που απεικονίζει είναι μικρός, τότε παρέχει και την δυνατότητα γραφικής απεικόνισης σχέσεων αλληλεξάρτησης μεταξύ των δραστηριοτήτων. Αν εμπλουτισθεί με ορόσημα σταδιοδείκτες (milestones), τότε μπορεί να χρησιμοποιηθεί και για την περιγραφή του χρόνου παράδοσης προϊόντων (deliverables) ή της ολοκλήρωσης κάποιας σημαντικής φάσης του έργου. Ειδικά όμως για τον εμπλουτισμό του διαγράμματος Gantt με σταδιοδείκτες - ορόσημα θα αναφερθούμε πιο αναλυτικά παρακάτω, αμέσως μετά την παρουσίαση των μειονεκτημάτων που παρουσιάζει η χρήση των διαγραμμάτων Gantt.
3.2 Τεχνική Gantt (6/8) (1/3) Εκτός από τα πλεονεκτήματα το διάγραμμα Gantt παρουσιάζει και αρκετά μειονεκτήματα, όπως: Το διάγραμμα δείχνει μόνο τον χρόνο έναρξης και λήξης κάθε δραστηριότητας του έργου, χωρίς να δείχνει και τις υπάρχουσες σχέσεις αλληλεξάρτησης μεταξύ όλων των δραστηριοτήτων. Από πλευράς διαχείρισης του έργου το μειονέκτημα αυτό σημαίνει: α) Η λογική που υπάρχει πίσω από την αλληλουχία των δραστηριοτήτων του έργου, δεν γίνεται φανερή σε άλλο άτομο εκτός του σχεδιαστή του διαγράμματος Gantt. Κατά συνέπεια τα μέλη της ομάδας που έχουν αναλάβει επιμέρους εργασίες θα πρέπει να ενημερώνονται συνέχεια για το τι παριστάνει το διάγραμμα κάθε φορά. β) Δεν δείχνει ποιες δραστηριότητες είναι ανεξάρτητες μεταξύ τους (δηλαδή συντρέχουν) και ποιες όχι. Συνεπώς δεν μπορεί να γίνει εκτίμηση για τις πιθανές συνέπειες, που θα είχε πάνω στη διάρκεια του έργου, καθυστέρηση ολοκλήρωσης κάποιας δραστηριότητας. γ) Εφόσον δεν υπάρχουν πληροφορίες για τις σχέσεις αλληλεξάρτησης, δεν υπάρχει ουσιαστική βοήθεια στο συντονισμό των εργασιών, για τον αποτελεσματικό έλεγχο της προόδου των εργασιών.
3.2 Τεχνική Gantt (7/8) (2/3) Έτσι όπως εμφανίζονται οι πληροφορίες στο διάγραμμα Gantt, είναι δύσκολο να εξαχθεί ακριβής εκτίμηση για την συνολική πορεία του έργου. Συγκεκριμένα το διάγραμμα δείχνει ότι κάποια χρονική στιγμή Τ, μερικές δραστηριότητες εκτελούνται σύμφωνα με τον αρχικό προγραμματισμό των εργασιών, άλλες καθυστερούν ενώ κάποιες άλλες έχουν γίνει νωρίτερα από ότι είχε αρχικά εκτιμηθεί. Συνολικά όμως για όλο το έργο δεν έχουμε πληροφορίες (αφού δεν λαμβάνονται υπόψη οι σχετικές αλληλεξάρτησης μεταξύ των δραστηριοτήτων)..
3.2 Τεχνική Gantt (8/8) (3/3) Το διάγραμμα Gantt δεν δείχνει τις κρίσιμες δραστηριότητες και τα κρίσιμα γεγονότα, δηλαδή τις δραστηριότητες και τα γεγονότα εκείνα που καθορίζουν αποφασιστικά την χρονική διάρκεια του έργου, με την έννοια ότι η παραμικρή καθυστέρηση υλοποίησής τους συνεπάγεται αντίστοιχη καθυστέρηση στο πέρας του έργου. Πολλές φορές δεν μπορεί να γίνει εκτίμηση της διάρκειας μιας δραστηριότητας γιατί αυτή εξαρτάται από πολλούς αστάθμητους παράγοντες (π.χ. απεργίες, κακές καιρικές συνθήκες κ.λπ.). Το διάγραμμα Gantt δεν παρέχει την δυνατότητα να λαμβάνονται υπόψη οι αστάθμητοι αυτοί παράγοντες. Σε περίπτωση που το έργο αποτελείται από μεγάλο αριθμό δραστηριοτήτων (π.χ. εκατοντάδες), οπότε οι σχέσεις αλληλεξάρτησης μεταξύ τους είναι πολλές και ο συντονισμός των εργασιών δύσκολος, η χρήση του διαγράμματος Gantt ελάχιστα έχει να προσφέρει στη διεύθυνση του έργου.
3.3 Διάγραμμα Gantt με ορόσημα Τα ορόσημα σταδιοδείκτες (milestones) χρησιμοποιήθηκαν στα διαγράμματα Gantt γύρω στα 1940 ακριβώς για να αμβλύνουν τις συνέπειες από την αδυναμία του διαγράμματος, να εμφανίσει δηλαδή κάποια σημαντικά (κρίσιμα) γεγονότα σ' ένα έργο. Το επόμενο Σχήμα δείχνει το χρονοδιάγραμμα των εργασιών που αιτούνται για την ανάπτυξη ενός μικρού Πληροφορικού Συστήματος. Τα ορόσημα, δηλαδή τα ειδικά τριγωνικά σύμβολα, παριστάνουν γεγονότα που έχουν ξεχωριστή σημασία στην πρόοδο των εργασιών. Για παράδειγμα, αν χρησιμοποιούμε κάποια από τις πολλές μεθοδολογίες Ανάλυσης και Σχεδιασμού Πληροφοριακών Συστημάτων τότε τα γεγονότα αυτά θα είναι - ceteris paribus - οι αναθεωρήσεις (reviews), οι κρίσιμοι έλεγχοι (critical reviews) τα παραδοτέα προϊόντα κ.λπ. Αυτή η μορφή του διαγράμματος Gantt έχει μεγάλη χρήση στις πρώτες φάσεις της ανάπτυξης του Π.Σ. (μελέτη σκοπιμότητας, ανάλυση απαιτήσεων κ.λπ.) και αποτελεί απαραίτητο στοιχείο μιας προσφοράς, προκήρυξης ή σύμβασης όταν αυτή αναφέρεται σε χρονοδιάγραμμα εκτέλεσης εργασιών (όπως μελέτες, δοκιμές κ.λπ.) ή παράδοσης προϊόντων (όπως υλικού, λογισμικού, εγκαταστάσεις κ.λπ.).
(1/10) Οι περισσότερο γνωστές τεχνικές της δικτυωτής ανάλυσης είναι: Η Τεχνική της Κρίσιμης Διαδρομής (ή Κρίσιμου Δρόμου) - Critical Path Method (CPM). Η μέθοδος MPM (Metra Potential Method). Η Τεχνική Εκτίμησης και Αναθεώρησης Προγραμματισμού - Project Evaluation and Review Techniques (PERT), Η Τεχνική GERT (Graphical Evaluation and Review Technique).
(2/10) Η πρώτη μέθοδος (CPM) χρησιμοποιεί γραφήματα, στα οποία οι κόμβοι είναι γεγονότα και τα τόξα παριστάνουν δραστηριότητες. Αναπτύχθηκε το 1957 όταν η Remington Rand Univac Division της Sperry Rand Corporation ανέλαβε για λογαριασμό της Εταιρίας Dupont Corportation, την δημιουργία μιας τεχνικής που θα βοηθάει τον προγραμματισμό των εργασιών, την κατασκευή και την συντήρηση των έργων της Εταιρίας. Τον Μάρτιο του 1959 η μέθοδος εφαρμόσθηκε στον προγραμματισμό της συντήρησης των μηχανών, με αποτέλεσμα να μειωθεί ο συνολικός χρόνος συντήρησης, από 125 σε 93 ώρες, πράγμα που απέφερε σημαντικά κέρδη στην εταιρία.
(3/10) Η δεύτερη μέθοδος χρησιμοποιεί μόνο δραστηριότητες ως κόμβους και τα τόξα δείχνουν απλά τις σχέσεις μεταξύ των δραστηριοτήτων. Αναπτύχθηκε από τον Β. Roy στην Γαλλία το 1959. Είναι γνωστή και ως Μέθοδος των Δυναμικών (Potentials) ή μέθοδος Roy, και εφαρμόσθηκε για πρώτη φορά από την Γαλλική Επιχείρηση Ηλεκτρισμού για την κατασκευή ατομικών αντιδραστήρων. Σήμερα μαζί με την CPM είναι από τις πλέον διαδεδομένες τεχνικές που χρησιμοποιούνται στην διαχείριση τεχνικών έργων.
(4/10) Η τρίτη τεχνική (PERT) αναπτύχθηκε από μια ομάδα έρευνας του Ειδικού Γραφείου του Ναυτικού των Η.ΠΑ, σε συνεργασία με τεχνικούς της Εταιρίας Lockheed Aircraft. Σκοπός της ομάδας ήταν η ανάπτυξη μιας μεθόδου για τον καλύτερο προγραμματισμό των εργασιών του Συστήματος Όπλων και Πυραύλων του Ναυτικού των Η.Π.Α. Το αποτέλεσμα των προσπαθειών της ομάδας ήταν η ανάπτυξη της τεχνικής PERT, η οποία εφαρμόσθηκε για πρώτη φορά στον προγραμματισμό κατασκευής των γνωστών πυραύλων Polaris και πέτυχε να μειώσει κατά δύο χρόνια την ολοκλήρωση του όλου έργου. Χρησιμοποιείται κυρίως στις περιπτώσεις εκείνες όπου οι υπάρχουσες συνθήκες (π.χ. τεχνογνωσίας, εργασίας, πολιτικού κλίματος κ.λπ.) έχουν ως συνέπεια την ύπαρξη αβεβαιότητας στην εκτίμηση της διάρκειας μιας δραστηριότητας.
(5/10) Τέλος η τεχνική GERT αναπτύχθηκε το 1966 από τον Α. Pritsker για την ανάλυση στοχαστικών δυναμικών συστημάτων. Συνδυάζει τις βασικές αρχές των γραφημάτων, την θεωρία πιθανοτήτων και την προσομοίωση με Η.Υ. για να απεικονίσει τα προβλήματα του πραγματικού κόσμου. Σήμερα, υπάρχουν πάρα πολλές παραλλαγές των παραπάνω τεχνικών. Πολλές από αυτές επιτυγχάνουν να συνδυάσουν τον χρονικό προγραμματισμό. Ειδικότερα, ύστερα από την εξάπλωση της χρήσης των μικροϋπολογιστών, έχουν αναπτυχθεί ειδικά πακέτα που υλοποιούν, με διαφορετική κάθε φορά επιτυχία, τις διάφορες τεχνικές της δικτυωτής ανάλυσης.
(6/10) Η δικτυωτή ανάλυση στηρίζεται σε μια γραφική παράσταση (δίκτυο) που απεικονίζει τις δραστηριότητες του έργου, δίνει την σειρά εκτέλεσής τους και παρουσιάζει άμεσα ή έμμεσα την αλληλεξάρτησή τους. Με την μέθοδο της δικτυωτής ανάλυσης κάθε έργο αναλύεται σε ομάδες από γεγονότα και δραστηριότητες που θα πρέπει να πραγματοποιηθούν γα να θεωρηθεί ότι το έργο έχει υλοποιηθεί. Η εφαρμογή της δικτυωτής ανάλυσης σ' ένα έργο περιλαμβάνει τα ακόλουθα στάδια. Το στάδιο του σχεδιασμού (planning). Το στάδιο του χρονοπρογραμματισμού. Το στάδιο ελέγχου.
(7/10) Tο Στάδιο του Σχεδιασμού, το έργο αναλύεται σε επιμέρους εργασίες (γεγονότα και δραστηριότητες), καθορίζονται η μέθοδος κατασκευής τους, η σειρά προτεραιότητάς τους, η αλληλοεξάρτησή τους και η εκτίμηση της διάρκειάς τους. Στη συνέχεια γίνεται η σύνταξη ενός Πίνακα στον οποίο υπάρχουν διάφορες πληροφορίες όπως: Ο τίτλος (περιγραφή) κάθε επιμέρους εργασίας. Ο κωδικός αριθμός κάθε εργασίας. Η προηγούμενη εργασία που πρέπει να προηγηθεί (κωδικός αριθμός). Οι κώδικες των εργασιών που πρέπει να πραγματοποιηθούν ταυτόχρονα. Οι κώδικες των εργασιών που πρέπει να ακολουθήσουν. Ο απαιτούμενος χρόνος που εκτιμάται ότι απαιτεί η περάτωση κάθε εργασίας.
(8/10) Για να γίνει ο έλεγχος ότι καταρτίσθηκε σωστά ο παρακάτω Πίνακας θα πρέπει για κάθε εργασία του να αναζητηθούν απαντήσεις στα ακόλουθα απλά ερωτήματα: Ποιά είναι η αμέσως προηγούμενη εργασία (ή εργασίες); Ποιές άλλες εργασίες θα πρέπει να τελειώσουν πριν αρχίσει η εργασία αυτή; Ποιές εργασίες ακολουθούν ευθύς αμέσως; Ποιές εργασίες δεν μπορούν να αρχίσουν μέχρις ότου η εργασία αυτή περατωθεί; Ποιές εργασίες μπορούν να γίνουν ταυτόχρονα; Οι απαντήσεις στις ερωτήσεις αυτές μπορούν να παρασταθούν με ένα περισσότερο συστηματικό τρόπο με την μορφή ενός Πίνακα Εξάρτησης.
(9/10) Στον πίνακα αυτό οριζόντια και κάθετα αναγράφονται οι κωδικοί των δραστηριοτήτων. Για τις εργασίες που "προηγούνται", δηλαδή τις κάθετες δραστηριότητες που πρέπει να ολοκληρωθούν για να ξεκινήσει η υπό εξέταση οριζόντια δραστηριότητα, χρησιμοποιούμε το γράμμα Π. Για τις εργασίες που ακολουθούν ευθύς αμέσως χρησιμοποιούμε το γράμμα Α, ενώ για όσες μπορούν να εκτελεσθούν ταυτόχρονα, είναι δηλαδή συντρέχουσες, το γράμμα Σ. Παρατήρηση: Είναι φανερό ότι ο Πίνακας Εξάρτησης περιέχει πλεονάζουσες πληροφορίες, αφού μόνο ο άνω ή κάτω τριγωνικός πίνακας δίνει τις σχέσεις μεταξύ των δραστηριοτήτων. Όμως ο πλήρης πίνακας έχει το πλεονέκτημα να επιτρέπει ένα εύκολο έλεγχο των απαντήσεων στις ερωτήσεις, που αναφέρθηκαν παραπάνω: Οι συντρέχουσες εργασίες (Σ) πρέπει να είναι συμμετρικές, ενώ κάθε ακολουθούσα (Α) θα πρέπει να έχει μια προηγούμενη (Π) εργασία στη συμμετρική της θέση, και αντίστροφα.
(10/10) Αφού αναγνωρισθούν οι δραστηριότητες και τα γεγονότα του έργου, έχουν καθορισθεί οι σχέσεις μεταξύ των δραστηριοτήτων, προσδιορίζονται οι τεχνολογικοί και φυσικοί περιορισμοί που υπάρχουν πάνω στη χρονολογική σειρά πραγματοποίησης των δραστηριοτήτων/γεγονότων. Στη συνέχεια γίνεται εκτίμηση των διάρκειας και των πόρων (recourses) που απαιτεί κάθε δραστηριότητα. Η εκτίμηση αυτή στηρίζεται συνήθως σε εμπειρία από προηγούμενα έργα ή και σε μαθηματικά μοντέλα. Το στάδιο αυτό ολοκληρώνεται με τον σχεδιασμό του δικτύου και την ανάλυσή του, δηλαδή τον χρονικό προγραμματισμό των εργασιών, τον προσδιορισμό των οριακών χρόνων και των χρονικών περιθωρίων που διατίθενται για δραστηριότητα (ή γεγονός). Καθορίζονται οι εργασίες εκείνες που θεωρούνται κρίσιμες, με την έννοια ότι η έναρξη και η λήξη τους απαιτούν ξεχωριστή προσοχή, για να είναι δυνατή η ολοκλήρωση όλου του έργου μέσα στα χρονικά πλαίσια της αρχικής εκτίμησης.