Presentation is loading. Please wait.

Presentation is loading. Please wait.

Διοίκηση Έργων Λογισμικού 8 Νοεμβρίου 2007. Διοίκηση Έργων Λογισμικού Συνοπτικά...  Διοικητικές Δραστηριότητες  Διοικητικές Δομές λογισμικού  Προγραμματιστική.

Similar presentations


Presentation on theme: "Διοίκηση Έργων Λογισμικού 8 Νοεμβρίου 2007. Διοίκηση Έργων Λογισμικού Συνοπτικά...  Διοικητικές Δραστηριότητες  Διοικητικές Δομές λογισμικού  Προγραμματιστική."— Presentation transcript:

1 Διοίκηση Έργων Λογισμικού 8 Νοεμβρίου 2007

2 Διοίκηση Έργων Λογισμικού Συνοπτικά...  Διοικητικές Δραστηριότητες  Διοικητικές Δομές λογισμικού  Προγραμματιστική παραγωγικότητα

3 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Διοίκηση έργων στο παρελθόν  Ικανά στελέχη  Τεχνικές διοίκησης κατάλληλες για μικρά έργα  Λογισμικό εκπρόθεσμο  Λογισμικό αναξιόπιστο  Κόστος υψηλό  Φτωχά χαρακτηριστικά απόδοσης

4 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Διοίκηση έργων λογισμικού VS Διοίκηση μηχανικών έργων γενικά  Προϊόν δεν είναι χειροπιαστό. Υπεύθυνος έργου στηρίζεται στην τεκμηρίωση (documentation) για επιθεώρηση της προόδου του έργου  Διαδικασία ανάπτυξης λογισμικού δεν είναι πλήρως κατανοητή Μοντέλα π.χ. καταρράκτη και κύκλου ζωής λογισμικού, είναι απλοποιημένες παραστάσεις διαδικασιών  Μεγάλα συστήματα λογισμικού συνήθως έργα μοναδικά στο είδος τους Ιστορική εμπειρία περιορισμένης αξίας στην πρόβλεψη του πως αυτά τα έργα θα έπρεπε να διοικούνται

5 ΔΙΟΙΚΗΤΙΚΕΣ ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ

6 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Διοικητικές δραστηριότητες  Σύνταξη προσφοράς  Εκτίμηση του κόστους  Σχεδιασμός και χρονοπρογραμματισμός του έργου  Παρακολούθηση και αναθεώρηση του έργου  Επιλογή και αξιολόγηση προσωπικού  Σύνταξη και παρουσίαση αναφορών

7 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Σύνταξη προσφοράς  Σύνταξη προσφοράς Περίγραμμα του έργου, εκτιμήσεις κόστους και χρονοδιαγράμματος Δεν υπάρχουν γενικές οδηγίες Εμπειρία  ικανότητα Αποτελεί μέρος της προβολής της επιχείρησης

8 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Παρακολούθηση και αναθεώρηση του έργου  Συνεχής δραστηριότητα  Υπεύθυνος συγκρίνει πραγματική και προγραμματισμένη εξέλιξη και κόστος  Τυπικοί μηχανισμοί παρακολούθησης  Άτυποι Μικρές καθημερινές συζητήσεις με μέλη του έργου Εντοπισμός ελαττώματος εγκαίρως  Αναθεωρήσεις: κατάσταση του έργου βάσει των στόχων του οργανισμού

9 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Επιλογή προσωπικού  Iδανική κατάσταση: Υπάρχει διαθέσιμο κατάλληλο προσωπικό Όμως συνήθως αυτό δεν γίνεται για τους εξής λόγους:  Ο ολικός προϋπολογισμός αποκλείει τη χρήση υψηλόμισθου προσωπικού -> λιγότερο έμπειρο, λιγότερο υψηλόμισθο προσωπικό  Προσωπικό με κατάλληλη εμπειρία απλά μη διαθέσιμο ούτε εσωτερικά στον οργανισμό ούτε εξωτερικά Αδύνατο να προσληφθεί νέο εξειδικευμένο προσωπικό στο έργο Εντός οργανισμού, το καταλληλότερο προσωπικό απαραίτητο για εργασίες που αφορούν άλλα έργα  Μακροπρόθεσμοι στόχοι του οργανισμού για ανάπτυξη και εκπαίδευση του προσωπικού απαιτούν άπειρο προσωπικό να αποκτήσει εμπειρία από την ενασχόληση του στο συγκεκριμένο έργο  Επομένως: απαραίτητη η ύπαρξη τουλάχιστον ενός έμπειρου ατόμου

10 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Σύνταξη και παρουσίαση αναφορών  Γίνεται από τον υπεύθυνο του έργου. Γι αυτό πρέπει αυτός να είναι Ικανός να παράγει συνοπτικά και συνεκτικά έγγραφα Ικανός στις παρουσιάσεις  Μπορεί να υπάρχει και άλλος υπεύθυνος για τη σύνταξη της τεκμηρίωσης – αλλά την κύρια ευθύνη την έχει ο υπεύθυνος έργου

11 ΔΙΟΙΚΗΤΙΚΕΣ ΔΟΜΕΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ

12 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Χαρακτηριστικά οργάνωσης δομών έργων λογισμικού  Ιεραρχικές διοικητικές δομές έργων λογισμικού  Υπεύθυνοι λογισμικού χειρίζονται λίγους υπαλλήλους λόγω της πολυπλοκότητας των έργων λογισμικού  Ανώτατος διευθυντής  Διευθυντής προγράμματος  Διευθυντής έργου  Αρχηγοί ομάδων

13 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Διοικητική δομή έργου λογισμικού

14 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Οργάνωση ομάδων προγραμματισμού – Μειονεκτήματα μεγάλων ομάδων  Καταναλώνεται περισσότερος χρόνος στην επικοινωνία των μελών από το χρόνο προγραμματισμού και υλοποίησης  Συνήθως αδύνατη κατάτμηση συστήματος σε πολλές μικρότερες ανεξάρτητες μονάδες, οπότε σύνταξη μεγάλης ομάδας Τμήματα συστήματος έχουν πολύπλοκες διεπαφές Μεγάλη πιθανότητα λάθους σε κάποια διασύνδεση Κόστος επαλήθευσης (verification) και πιστοποίησης (validation)

15 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Οργάνωση ομάδων προγραμματισμού Πλεονεκτήματα μικρών ομάδων (8 άτομα)  Ελαχιστοποίηση προβλημάτων επικοινωνίας  Δε χρειάζονται πολύπλοκές δομές επικοινωνίας  Δημιουργία πολλαπλών μικρών αυτόνομων ομάδων  Ανάπτυξη πρότυπου ποιότητας της ομάδας  Στενή συνεργασία μελών της ομάδας και μετάδοση τεχνογνωσίας  Εφαρμογή μη εγωιστικού προγραμματισμού: ιδιοκτησία ομάδας  Τα μέλη της ομάδας τείνουν να γνωρίζουν την δουλειά του καθενός - δυνατότητα αντικατάστασης.

16 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Ομάδες προγραμματισμού (1/2)  Οργανώνονται άτυπα Κατ’ όνομα αρχηγός – στην πράξη ίδιες εργασίες με άλλα μέλη  Ανάληψη καθηκόντων ανάλογα με εμπειρία και ικανότητες Σχεδίαση σε υψηλό επίπεδο από παλιότερα μέλη Σχεδιασμός σε χαμηλό επίπεδο υπευθυνότητα του μέλους το οποίο ανέλαβε το συγκεκριμένο καθήκον

17 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Ομάδες προγραμματισμού (2/2)  Επιτυχία ομάδας συνάρτηση παρουσίας στην πλειοψηφία έμπειρων και ανταγωνιστικών μελών Αν μειοψηφία – έλλειψη συντονισμού και αποτυχία έργου  Ωστόσο μερικά μέλη – έμπειροι μηχανικοί έχουν φτάσει σε ένα «επίπεδο καριέρας» γρήγορα Ίσως πρέπει να επωμιστούν διοικητικές υπευθυνότητες Ικανός μηχανικός όχι απαραίτητα ικανός διευθυντής λογισμικού Χρήσιμες τεχνικές ικανότητες χάνονται  Λύση: Δημιουργία τεχνικών και διοικητικών δομών καριέρας ίδιας αξίας.

18 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Ομάδες υπό αρχηγό προγραμματιστή Αιτίες δημιουργίας  Τάση στελέχωσης έργων από σχετικά άπειρα άτομα  Περισσότερη προγραμματιστική δουλειά είναι γραφειοκρατική Διαχείριση μεγάλων ποσών πληροφορίας.  Επικοινωνία μεταξύ πολλών ατόμων είναι χρονοβόρα Μείωση παραγωγικότητας των προγραμματιστών

19 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Πυρήνας ομάδας με αρχηγό προγραμματιστή  Αρχηγός – προγραμματιστής με πείρα και προσόντα για τη θέση Αρχηγοί προγραμματιστές αναλαμβάνουν πλήρη υπευθυνότητα για το σχεδιασμό, τον προγραμματισμό, τον έλεγχο και την εγκατάσταση του συστήματος  Ικανός και έμπειρος εφεδρικό προγραμματιστής Βοηθός του αρχηγού προγραμματιστή. Παροχή υποστήριξης καταγράφοντας οτιδήποτε κάνει ο αρχηγός προγραμματιστής Ανάπτυξη περιπτώσεων ελέγχου για επαλήθευση της δουλειά του/της αρχηγού  Βιβλιοθηκάριος Ανάληψη όλων των γραφειοκρατικών διαδικασιών με χρήση ενός αυτοματοποιημένου συστήματος βιβλιοθήκης

20 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Ομάδα με αρχηγό προγραμματιστή

21 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Επιπρόσθετα μέλη στον πυρήνα (1/2)  Διαχειριστής έργου (project administrator) Απαλλαγή του αρχηγού προγραμματιστή από καθήκοντα διαχείρισης  “Σιδεράς” (toolsmith) Υπεύθυνος για την παραγωγή εργαλείων λογισμικού για την υποστήριξη του έργου  Συντάκτης τεκμηρίωσης Τεκμηρίωση του λογισμικού από τον αρχηγό και τον εφεδρικό προγραμματιστή για έκδοση

22 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Επιπρόσθετα μέλη στον πυρήνα (2/2)  Ειδικός για το σύστημα/γλώσσα Σύμβουλος αρχηγού προγραμματιστή για να χρησιμοποιήσει όλες τις ευκολίες που του δίδονται  Δοκιμαστής Ανάπτυξη αντικειμενικών περιπτώσεων ελέγχου για πιστοποίηση τη δουλειά του αρχηγού προγραμματιστή  Ένας ή περισσότεροι προγραμματιστές υποστήριξης Συγγραφή κώδικα για κάποια σχεδίαση του αρχηγού προγραμματιστή Απαραίτητοι σε μεγάλα έργα όπου μεγάλη ποσότητα λεπτομερούς προγραμματισμού για να γίνει μόνο από τον αρχηγό και τον εφεδρικό προγραμματιστή.

23 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Ομάδες υπό αρχηγό προγραμματιστή Συμπεράσματα  Αύξηση παραγωγικότητας Διπλασιασμός σύμφωνα με Baker (1972) και Walston και Felix (1977)  Αρχηγός προγραμματιστής βασικός υπεύθυνος τόσο επιτυχίας όσο και αποτυχίας του έργου  Επιτυχία εξαρτάται από 1 ή 2 άτομα και τη μεταξύ τους συνεργασία Κίνδυνος σε περίπτωση απώλειας ενός εξ αυτών των μελών  Στην πράξη σε μεγάλους οργανισμούς δύσκολη η αναδιοργάνωση του προσωπικού για τη δημιουργία ομάδων και η εξασφάλιση υψηλής αμοιβής στον αρχηγό προγραμματιστή. Επίσης υπάρχει δυσκολία στην εύρεση αρχηγών προγραμματιστών με εξειδίκευση.

24 ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗ ΠΑΡΑΓΩΓΙΚΟΤΗΤΑ

25 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Εκτίμηση προγραμματιστικής παραγωγικότητας (1/2)  Σημαντικότητα: Δίχως εκτίμηση αδύνατος ο αξιόπιστος χρονοπρογραμματισμός ενός έργου  Δεδομένα για εκτιμήσεις και μοντέλα κόστους Χρησιμοποίηση βελτιωμένων τεχνικών και εργαλείων της τεχνολογίας λογισμικού  Απόδειξη στην ανώτερη διοίκηση ότι η χρησιμοποίηση τους επιφέρει βελτιωμένη παραγωγικότητα σε όλο το κύκλο παραγωγής λογισμικού

26 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Εκτίμηση προγραμματιστικής παραγωγικότητας (2/2)  Λογισμικό όχι χειροπιαστό Αδύνατη άμεση μέτρηση παραγωγικότητας Όχι όπως γενικά μέτρηση παραγωγικότητας συστήματος  Αριθμός παραγόμενων μονάδων / ώρες εργασίας  Συστήματα λογισμικού ζητούμενο υπολογισμός του κόστος παραγωγής ενός συγκεκριμένου συστήματος με δεδομένη λειτουργικότητα  Η παραγωγικότητα μπορεί να μετρηθεί μονό στο στάδιο παραγωγής του συστήματος (όχι σε όλη τη διάρκεια του κύκλου ζωής)

27 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Εκτίμηση προγραμματιστικής παραγωγικότητας Μονάδες μέτρησης  Οι μονάδες παραγωγικότητας: Δε λαμβάνουν υπόψη τους την ποιότητα του συστήματος Εκφράζονται σε ποσότητα/χρόνο  Γραμμές πηγαίου κώδικα που γράφονται από κάθε προγραμματιστή/μήνα  Εντολές εκτελέσιμου κώδικα που παράγονται από κάθε προγραμματιστή/μήνα  Σελίδες τεκμηρίωσης που γράφονται από κάθε προγραμματιστή/μήνα  Περιπτώσεις ελέγχου που γράφονται και εκτελούνται ανά προγραμματιστή/μήνα

28 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Γραμμές πηγαίου κώδικα ως μέτρο παραγωγικότητας  Αριθμός γραμμών πηγαίου κώδικα που παραδίδονται διά το συνολικό αριθμό σε μήνες προγραμματισμού

29 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Γραμμές πηγαίου κώδικα ως μέτρο παραγωγικότητας Μειονεκτήματα (1/2)  Καθορισμός ακριβώς της γραμμής κώδικα Προγράμματα: δηλώσεις, εκτελέσιμες εντολές, σχόλια και μακροεντολές  Περίπτωση σε κάθε γραμμή παραπάνω από μία εντολή  Πιο παραγωγικός ο προγραμματισμός σε χαμηλό επίπεδο απ’ ότι σε υψηλό λόγω εκφραστικότητας της γλώσσας προγραμματισμού

30 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Γραμμές πηγαίου κώδικα ως μέτρο παραγωγικότητας Μειονεκτήματα (2/2)  Τα μειονεκτήματα οφείλονται στην υποτίμηση λοιπών σταδίων ανάπτυξης σε σχέση με την υλοποίηση

31 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Παράδειγμα  Συμπέρασμα: Ύπαρξη διαφορετικών προτύπων παραγωγικότητας για κάθε γλώσσα προγραμματισμού

32 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Εντολές εκτελέσιμου κώδικα ως μέτρο παραγωγικότητας  Αριθμός των εντολών εκτελέσιμου κώδικα που παράγονται ανά προγραμματιστή/μήνα  Όχι δυσκολία στον ορισμό του τι σημαίνει εντολή εκτελέσιμου κώδικα  Όμως δύσκολο να εκτιμηθεί ο λόγος πηγαίου/εκτελέσιμου κώδικα με τους περισσότερους μεταγλωττιστές  Όμως ποσότητα του εκτελέσιμου κώδικα που παράγεται από ένα προγραμματιστή εξαρτάται από την τεχνοτροπία (στυλ) με την οποία γίνεται ο προγραμματισμός στη γλώσσα υψηλού επιπέδου

33 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Άλλα μέτρα παραγωγικότητας  Σελίδες τεκμηρίωσης: «Τιμωρούνται» οι συγγραφείς που εκφράζονται με συνέπεια και καθαρά

34 8 Νοεμβρίου 2007Διοίκηση Έργων Λογισμικού Παράγοντες που επηρεάζουν την παραγωγικότητα  Ατομικές διαφορές μεταξύ των προγραμματιστών (Sackman)  Παραγωγικότητα σε σχέση με τη χρησιμοποίηση μεθοδολογιών όπως η από πάνω προς τα κάτω (top down) ανάπτυξη, ο δομημένος προγραμματισμός, κ.λ.π. (Walston, Felix) Πολυπλοκότητα της διεπαφής του χρήστη Βαθμός συμμετοχής των χρηστών στον καθορισμό των απαιτήσεων Εμπειρία της ομάδας προγραμματισμού Δομημένος προγραμματισμός, οι αναθεωρήσεις σχεδιασμού και κώδικα, και top down έχουν θετική επίδραση στην παραγωγικότητα, αν και όχι τόσο μεγάλη  Ποσότητα του χρόνου που ένας μηχανικός λογισμικού πραγματικά αφιερώνει εργαζόμενος στην ανάπτυξη λογισμικού ( όχι απουσίες, εκπαιδεύσεις, συνέδρια, μετακινήσεις)


Download ppt "Διοίκηση Έργων Λογισμικού 8 Νοεμβρίου 2007. Διοίκηση Έργων Λογισμικού Συνοπτικά...  Διοικητικές Δραστηριότητες  Διοικητικές Δομές λογισμικού  Προγραμματιστική."

Similar presentations


Ads by Google