Μοντέλο ωριμότητας ικανότητας (CMM) & Επίπεδα στη Μηχανική Λογισμικού
Τι είναι το CMM;
Το μοντέλο ωριμότητας ικανότητας χρησιμοποιείται ως σημείο αναφοράς για τη μέτρηση της ωριμότητας της διαδικασίας λογισμικού ενός οργανισμού.
Το CMM αναπτύχθηκε στο ινστιτούτο μηχανικής λογισμικού στα τέλη της δεκαετίας του '80. Αναπτύχθηκε ως αποτέλεσμα μελέτης που χρηματοδοτήθηκε από την Πολεμική Αεροπορία των ΗΠΑ ως τρόπος αξιολόγησης του έργου των υπεργολάβων. Later με βάση το μοντέλο CMM-SW που δημιουργήθηκε το 1991 για την αξιολόγηση της ωριμότητας της ανάπτυξης λογισμικού, πολλά άλλα μοντέλα ενσωματώνονται με το CMM-I.
Τι είναι τα επίπεδα μοντέλου ωριμότητας ικανότητας (CMM);
- Αρχικός
- Επαναλαμβανόμενο/Διαχειριζόμενο
- Ορίζεται
- Ποσοτικά διαχειριζόμενο
- Βελτιστοποίηση
Τι συμβαίνει σε διαφορετικά επίπεδα CMM;
Επίπεδα | Δραστηριότητες | Oφέλη |
---|---|---|
Επίπεδο 1 Αρχικό |
|
Κανένας. Ένα έργο είναι το Total Chaos |
Επίπεδο 2 Διαχείριση |
|
|
Επίπεδο-3 Καθορισμένο |
|
|
Επίπεδο-4 Ποσοτική διαχείριση |
|
|
Επίπεδο-5 Βελτιστοποίηση |
|
|
Το παρακάτω διάγραμμα, δίνει μια εικονογραφική αναπαράσταση του τι συμβαίνει σε διαφορετικά επίπεδα CMM
Πόσος χρόνος χρειάζεται για να εφαρμοστεί το CMM;
Το CMM είναι η πιο επιθυμητή διαδικασία για τη διατήρηση της ποιότητας του προϊόντος για οποιαδήποτε εταιρεία ανάπτυξης λογισμικού, αλλά η εφαρμογή του διαρκεί λίγο περισσότερο από τον αναμενόμενο.
- Η εφαρμογή CMM δεν πραγματοποιείται από τη μια μέρα στην άλλη
- Δεν είναι απλώς μια «γραφειοκρατία».
- Τυπικοί χρόνοι υλοποίησης είναι
- 3-6 μήνες -> για προετοιμασία
- 6-12 μήνες -> για υλοποίηση
- 3 μήνες -> για προετοιμασία αξιολόγησης
- 12 μήνες ->για κάθε νέο επίπεδο
Εσωτερική Δομή CMM
Κάθε επίπεδο στο CMM ορίζεται σε βασική περιοχή διαδικασίας ή KPA, εκτός από το επίπεδο-1. Κάθε KPA ορίζει ένα σύμπλεγμα σχετικών δραστηριοτήτων, οι οποίες όταν εκτελούνται συλλογικά επιτυγχάνουν ένα σύνολο στόχων που θεωρούνται ζωτικής σημασίας για τη βελτίωση της ικανότητας λογισμικού
Για διαφορετικά επίπεδα CMM, υπάρχουν σετ KPA's, για παράδειγμα για CMM model-2, KPA είναι
- REQM- Διαχείριση Απαιτήσεων
- ΠΠ- Σχεδιασμός Έργου
- PMC- Παρακολούθηση και Έλεγχος Έργου
- SAM- Διαχείριση συμφωνίας προμηθευτή
- PPQA-Διαδικασία και Διασφάλιση Ποιότητας
- CM-Configuration Management
Ομοίως, για άλλα μοντέλα CMM, έχετε συγκεκριμένα KPA. Για να γνωρίζουμε εάν η εφαρμογή μιας KPA είναι αποτελεσματική, διαρκής και επαναλαμβανόμενη, χαρτογραφείται με βάση την ακόλουθη βάση
- Δέσμευση για εκτέλεση
- Ικανότητα εκτέλεσης
- Εκτελούνται δραστηριότητες
- Μέτρηση και Ανάλυση
- Επαλήθευση υλοποίησης
Περιορισμοί μοντέλων CMM
- Το CMM καθορίζει τι πρέπει να αντιμετωπίζει μια διαδικασία αντί για το πώς θα πρέπει να υλοποιηθεί
- Δεν εξηγεί κάθε δυνατότητα βελτίωσης της διαδικασίας λογισμικού
- Επικεντρώνεται σε θέματα λογισμικού, αλλά δεν εξετάζει τον στρατηγικό επιχειρηματικό σχεδιασμό, την υιοθέτηση τεχνολογιών, τη δημιουργία σειράς προϊόντων και τη διαχείριση ανθρώπινου δυναμικού
- Δεν λέει σε τι είδους επιχείρηση πρέπει να είναι ένας οργανισμός
- Το CMM δεν θα είναι χρήσιμο στο έργο που έχει κρίση αυτή τη στιγμή
Γιατί να χρησιμοποιήσετε το CMM;
Σήμερα το CMM λειτουργεί ως «σφραγίδα έγκρισης» στη βιομηχανία λογισμικού. Βοηθά με διάφορους τρόπους στη βελτίωση της ποιότητας του λογισμικού.
- Οδηγεί σε επαναλαμβανόμενη τυπική διαδικασία και ως εκ τούτου μειώνει τον χρόνο εκμάθησης για το πώς να κάνετε τα πράγματα
- Εξάσκηση στο CMM σημαίνει εξάσκηση τυπικού πρωτοκόλλου για ανάπτυξη, που σημαίνει ότι όχι μόνο βοηθά την ομάδα να εξοικονομήσει χρόνο, αλλά παρέχει επίσης μια σαφή εικόνα του τι πρέπει να κάνει και τι να περιμένει
- Οι ποιοτικές δραστηριότητες συνδυάζονται καλά με το έργο αντί να θεωρούνται ως ξεχωριστό γεγονός
- Λειτουργεί ως μεταφορέας μεταξύ του έργου και της ομάδας
- Οι προσπάθειες CMM είναι πάντα προς τη βελτίωση της διαδικασίας
Σύνοψη
Το CMM εισήχθη για πρώτη φορά στα τέλη της δεκαετίας του '80 στην Πολεμική Αεροπορία των ΗΠΑ για να αξιολογήσει το έργο των υπεργολάβων. Later στις, με βελτιωμένη έκδοση, εφαρμόστηκε για την παρακολούθηση της ποιότητας του συστήματος ανάπτυξης λογισμικού.
Ολόκληρο το επίπεδο CMM χωρίζεται σε πέντε επίπεδα.
- Επίπεδο 1 (Αρχική): Όπου οι απαιτήσεις για το σύστημα είναι συνήθως αβέβαιες, παρεξηγημένες και ανεξέλεγκτες. Η διαδικασία είναι συνήθως χαοτική και ad-hoc.
- Επίπεδο 2 (Διαχείριση): Εκτίμηση του κόστους, του χρονοδιαγράμματος και της λειτουργικότητας του έργου. Καθορίζονται τα πρότυπα λογισμικού
- Επίπεδο 3 (Ορισμένο): Βεβαιωθεί ότι το προϊόν πληροί τις απαιτήσεις και την προβλεπόμενη χρήση
- Επίπεδο 4 (Quantitatively Managed): Διαχειρίζεται στατιστικά τις διεργασίες και τις υποδιεργασίες του έργου
- Επίπεδο 5 (Ωριμότητα): Προσδιορισμός και ανάπτυξη νέων εργαλείων και βελτιώσεων στη διαδικασία για την κάλυψη των αναγκών και των επιχειρηματικών στόχων