Μοντέλο ωριμότητας ικανότητας (CMM) & Επίπεδα στη Μηχανική Λογισμικού

Τι είναι το CMM;

Το μοντέλο ωριμότητας ικανότητας χρησιμοποιείται ως σημείο αναφοράς για τη μέτρηση της ωριμότητας της διαδικασίας λογισμικού ενός οργανισμού.

Το CMM αναπτύχθηκε στο ινστιτούτο μηχανικής λογισμικού στα τέλη της δεκαετίας του '80. Αναπτύχθηκε ως αποτέλεσμα μελέτης που χρηματοδοτήθηκε από την Πολεμική Αεροπορία των ΗΠΑ ως τρόπος αξιολόγησης του έργου των υπεργολάβων. Later με βάση το μοντέλο CMM-SW που δημιουργήθηκε το 1991 για την αξιολόγηση της ωριμότητας της ανάπτυξης λογισμικού, πολλά άλλα μοντέλα ενσωματώνονται με το CMM-I.

Μοντέλο ωριμότητας ικανότητας

Τι είναι τα επίπεδα μοντέλου ωριμότητας ικανότητας (CMM);

  1. Αρχικός
  2. Επαναλαμβανόμενο/Διαχειριζόμενο
  3. Ορίζεται
  4. Ποσοτικά διαχειριζόμενο
  5. Βελτιστοποίηση

Επίπεδα μοντέλου ωριμότητας ικανότητας (CMM).

Τι συμβαίνει σε διαφορετικά επίπεδα CMM;

Επίπεδα Δραστηριότητες Oφέλη
Επίπεδο 1 Αρχικό
  • Στο επίπεδο 1, η διαδικασία είναι συνήθως χαοτική και ad hoc
  • Μια ικανότητα χαρακτηρίζεται με βάση τα άτομα και όχι τον οργανισμό
  • Η πρόοδος δεν μετρήθηκε
  • Τα προϊόντα που αναπτύσσονται είναι συχνά χρονοδιάγραμμα και υπερβαίνουν τον προϋπολογισμό
  • Μεγάλες παραλλαγές στο χρονοδιάγραμμα, το κόστος, τη λειτουργικότητα και τους στόχους ποιότητας
Κανένας. Ένα έργο είναι το Total Chaos
Επίπεδο 2 Διαχείριση
  • Διαχείριση απαιτήσεων
  • Υπολογίστε τις παραμέτρους του έργου όπως το κόστος, το χρονοδιάγραμμα και τη λειτουργικότητα
  • Μετρήστε την πραγματική πρόοδο
  • Αναπτύξτε σχέδια και διαδικασία
  • Καθορίζονται τα πρότυπα έργων λογισμικού
  • Προσδιορίστε και ελέγξτε προϊόντα, αναφορές προβλημάτων, αλλαγές κ.λπ.
  • Οι διαδικασίες μπορεί να διαφέρουν μεταξύ των έργων
  • Οι διαδικασίες γίνονται πιο κατανοητές
  • Οι διευθυντές και τα μέλη της ομάδας αφιερώνουν λιγότερο χρόνο για να εξηγήσουν πώς γίνονται τα πράγματα και περισσότερο χρόνο στην εκτέλεσή τους
  • Τα έργα είναι καλύτερα εκτιμημένα, καλύτερα προγραμματισμένα και πιο ευέλικτα
  • Η ποιότητα ενσωματώνεται στα έργα
  • Το κόστος μπορεί να είναι υψηλό αρχικά, αλλά μειώνεται υπερωρίες
  • Ζητήστε περισσότερα έγγραφα και έγγραφα
Επίπεδο-3 Καθορισμένο
  • Διευκρινίστε τις απαιτήσεις των πελατών
  • Επίλυση σχεδιαστικών απαιτήσεων, ανάπτυξη διαδικασίας υλοποίησης
  • Βεβαιωθείτε ότι το προϊόν πληροί τις απαιτήσεις και την προβλεπόμενη χρήση
  • Αναλύστε συστηματικά τις αποφάσεις
  • Διορθώστε και ελέγξτε πιθανά προβλήματα
  • Η βελτίωση της διαδικασίας γίνεται το πρότυπο
  • Η λύση εξελίσσεται από «κωδικοποιημένη» σε «μηχανική»
  • Οι πύλες ποιότητας εμφανίζονται σε όλη την προσπάθεια του έργου με ολόκληρη την ομάδα να συμμετέχει στη διαδικασία
  • Οι κίνδυνοι μετριάζονται και μην ξαφνιάζετε την ομάδα
Επίπεδο-4 Ποσοτική διαχείριση
  • Διαχειρίζεται στατιστικά τις διαδικασίες και τις υποδιεργασίες του έργου
  • Κατανοήστε την απόδοση της διαδικασίας, διαχειριστείτε ποσοτικά το έργο του οργανισμού
  • Βελτιστοποιεί την απόδοση της διαδικασίας σε ολόκληρο τον οργανισμό
  • Προωθεί την Ποσοτική Διαχείριση Έργων σε έναν οργανισμό.
Επίπεδο-5 Βελτιστοποίηση
  • Εντοπίστε και αφαιρέστε έγκαιρα την αιτία των ελαττωμάτων
  • Προσδιορίστε και αναπτύξτε νέα εργαλεία και βελτιώσεις στη διαδικασία για την κάλυψη των αναγκών και των επιχειρηματικών στόχων
  • Προωθεί την οργανωτική καινοτομία και ανάπτυξη
  • Δίνει ώθηση στην Αιτιώδη Ανάλυση και Επίλυση

Το παρακάτω διάγραμμα, δίνει μια εικονογραφική αναπαράσταση του τι συμβαίνει σε διαφορετικά επίπεδα CMM

Διαφορετικά επίπεδα 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 είναι αποτελεσματική, διαρκής και επαναλαμβανόμενη, χαρτογραφείται με βάση την ακόλουθη βάση

  1. Δέσμευση για εκτέλεση
  2. Ικανότητα εκτέλεσης
  3. Εκτελούνται δραστηριότητες
  4. Μέτρηση και Ανάλυση
  5. Επαλήθευση υλοποίησης

Περιορισμοί μοντέλων CMM

  • Το CMM καθορίζει τι πρέπει να αντιμετωπίζει μια διαδικασία αντί για το πώς θα πρέπει να υλοποιηθεί
  • Δεν εξηγεί κάθε δυνατότητα βελτίωσης της διαδικασίας λογισμικού
  • Επικεντρώνεται σε θέματα λογισμικού, αλλά δεν εξετάζει τον στρατηγικό επιχειρηματικό σχεδιασμό, την υιοθέτηση τεχνολογιών, τη δημιουργία σειράς προϊόντων και τη διαχείριση ανθρώπινου δυναμικού
  • Δεν λέει σε τι είδους επιχείρηση πρέπει να είναι ένας οργανισμός
  • Το CMM δεν θα είναι χρήσιμο στο έργο που έχει κρίση αυτή τη στιγμή

Γιατί να χρησιμοποιήσετε το CMM;

Σήμερα το CMM λειτουργεί ως «σφραγίδα έγκρισης» στη βιομηχανία λογισμικού. Βοηθά με διάφορους τρόπους στη βελτίωση της ποιότητας του λογισμικού.

  • Οδηγεί σε επαναλαμβανόμενη τυπική διαδικασία και ως εκ τούτου μειώνει τον χρόνο εκμάθησης για το πώς να κάνετε τα πράγματα
  • Εξάσκηση στο CMM σημαίνει εξάσκηση τυπικού πρωτοκόλλου για ανάπτυξη, που σημαίνει ότι όχι μόνο βοηθά την ομάδα να εξοικονομήσει χρόνο, αλλά παρέχει επίσης μια σαφή εικόνα του τι πρέπει να κάνει και τι να περιμένει
  • Οι ποιοτικές δραστηριότητες συνδυάζονται καλά με το έργο αντί να θεωρούνται ως ξεχωριστό γεγονός
  • Λειτουργεί ως μεταφορέας μεταξύ του έργου και της ομάδας
  • Οι προσπάθειες CMM είναι πάντα προς τη βελτίωση της διαδικασίας

Σύνοψη

Το CMM εισήχθη για πρώτη φορά στα τέλη της δεκαετίας του '80 στην Πολεμική Αεροπορία των ΗΠΑ για να αξιολογήσει το έργο των υπεργολάβων. Later στις, με βελτιωμένη έκδοση, εφαρμόστηκε για την παρακολούθηση της ποιότητας του συστήματος ανάπτυξης λογισμικού.

Ολόκληρο το επίπεδο CMM χωρίζεται σε πέντε επίπεδα.

  • Επίπεδο 1 (Αρχική): Όπου οι απαιτήσεις για το σύστημα είναι συνήθως αβέβαιες, παρεξηγημένες και ανεξέλεγκτες. Η διαδικασία είναι συνήθως χαοτική και ad-hoc.
  • Επίπεδο 2 (Διαχείριση): Εκτίμηση του κόστους, του χρονοδιαγράμματος και της λειτουργικότητας του έργου. Καθορίζονται τα πρότυπα λογισμικού
  • Επίπεδο 3 (Ορισμένο): Βεβαιωθεί ότι το προϊόν πληροί τις απαιτήσεις και την προβλεπόμενη χρήση
  • Επίπεδο 4 (Quantitatively Managed): Διαχειρίζεται στατιστικά τις διεργασίες και τις υποδιεργασίες του έργου
  • Επίπεδο 5 (Ωριμότητα): Προσδιορισμός και ανάπτυξη νέων εργαλείων και βελτιώσεων στη διαδικασία για την κάλυψη των αναγκών και των επιχειρηματικών στόχων