Capability Maturity Model (CMM) & Itu Tingkat dalam Rekayasa Perangkat Lunak

Daftar Isi:

Anonim

Apa itu CMM?

Capability Maturity Model digunakan sebagai tolak ukur untuk mengukur kematangan proses perangkat lunak suatu organisasi.

CMM dikembangkan di institut rekayasa perangkat lunak di akhir 80-an. Ini dikembangkan sebagai hasil dari studi yang dibiayai oleh Angkatan Udara AS sebagai cara untuk mengevaluasi pekerjaan subkontraktor. Kemudian berdasarkan model CMM-SW yang dibuat pada tahun 1991 untuk menilai kematangan pengembangan perangkat lunak, beberapa model lain diintegrasikan dengan CMM-I.

Dalam tutorial ini, kita akan belajar,

  • Apa itu Tingkat Capability Maturity Model (CMM)?
  • Apa yang terjadi pada level CMM yang berbeda?
  • Berapa lama untuk menerapkan CMM?
  • Struktur Internal CMM
  • Batasan Model CMM
  • Mengapa Menggunakan CMM?

Apa itu Tingkat Capability Maturity Model (CMM)?

  1. Awal
  2. Berulang / Dikelola
  3. Didefinisikan
  4. Dikelola secara Kuantitatif
  5. Mengoptimalkan

Apa yang terjadi pada level CMM yang berbeda?

Level Kegiatan Manfaat
Level 1 Inisial
  • Pada level 1, prosesnya biasanya kacau dan ad hoc
  • Kemampuan dicirikan atas dasar individu dan bukan organisasi
  • Kemajuan tidak diukur
  • Produk yang dikembangkan sering kali menjadwalkan dan melebihi anggaran
  • Variasi yang luas dalam jadwal, biaya, fungsionalitas, dan target kualitas
Tidak ada. Sebuah proyek adalah Total Chaos
Level 2 Dikelola
  • Manajemen Kebutuhan
  • Perkirakan parameter proyek seperti biaya, jadwal, dan fungsionalitas
  • Ukur kemajuan aktual
  • Kembangkan rencana dan proses
  • Standar proyek perangkat lunak ditentukan
  • Identifikasi dan kendalikan produk, perubahan laporan masalah, dll.
  • Proses mungkin berbeda antar proyek
  • Proses menjadi lebih mudah dipahami
  • Manajer dan anggota tim menghabiskan lebih sedikit waktu untuk menjelaskan bagaimana sesuatu dilakukan dan lebih banyak waktu untuk melaksanakannya
  • Proyek diperkirakan lebih baik, direncanakan lebih baik, dan lebih fleksibel
  • Kualitas diintegrasikan ke dalam proyek
  • Penetapan biaya mungkin tinggi pada awalnya tetapi turun seiring waktu
  • Tanyakan lebih banyak dokumen dan dokumentasi
Level-3 Didefinisikan
  • Memperjelas persyaratan pelanggan
  • Selesaikan persyaratan desain, kembangkan proses implementasi
  • Memastikan bahwa produk memenuhi persyaratan dan tujuan penggunaan
  • Analisis keputusan secara sistematis
  • Perbaiki dan kendalikan potensi masalah
  • Peningkatan Proses menjadi standar
  • Solusi berkembang dari "diberi kode" menjadi "direkayasa"
  • Gerbang kualitas muncul di seluruh upaya proyek dengan seluruh tim yang terlibat dalam proses tersebut
  • Risiko dimitigasi dan jangan mengejutkan tim
Level-4 Dikelola Secara Kuantitatif
  • Mengelola proses dan sub-proses proyek secara statistik
  • Pahami kinerja proses, kelola proyek organisasi secara kuantitatif
  • Mengoptimalkan Kinerja Proses di seluruh organisasi
  • Menumbuhkan Manajemen Proyek Kuantitatif dalam sebuah organisasi.
Pengoptimalan Level-5
  • Deteksi dan hilangkan penyebab kerusakan sejak dini
  • Identifikasi dan terapkan alat baru dan peningkatan proses untuk memenuhi kebutuhan dan tujuan bisnis
  • Memupuk Inovasi dan Penerapan Organisasi
  • Memberi dorongan pada Analisis dan Resolusi Kausal

Diagram berikut, memberikan representasi bergambar tentang apa yang terjadi pada tingkat CMM yang berbeda

Berapa lama untuk menerapkan CMM?

CMM adalah proses yang paling diinginkan untuk menjaga kualitas produk untuk setiap perusahaan pengembang perangkat lunak, tetapi implementasinya membutuhkan waktu sedikit lebih lama dari yang diharapkan.

  • Penerapan CMM tidak terjadi dalam semalam
  • Ini bukan hanya sekedar "dokumen".
  • Waktu khas untuk implementasi adalah
    • 3-6 bulan -> untuk persiapan
    • 6-12 bulan -> untuk implementasi
    • 3 bulan -> untuk persiapan penilaian
    • 12 bulan -> untuk setiap level baru

Struktur Internal CMM

Setiap level dalam CMM didefinisikan ke dalam area proses utama atau KPA , kecuali untuk level-1. Setiap KPA mendefinisikan sekelompok aktivitas terkait, yang bila dilakukan secara kolektif mencapai serangkaian tujuan yang dianggap penting untuk meningkatkan kemampuan perangkat lunak

Untuk level CMM yang berbeda, ada kumpulan KPA, misalnya untuk CMM model-2, KPA adalah

  • REQM- Manajemen Persyaratan
  • PP- Perencanaan Proyek
  • PMC- Pemantauan dan Pengendalian Proyek
  • SAM- Manajemen Perjanjian Pemasok
  • Proses PPQA dan Jaminan Kualitas
  • Manajemen Konfigurasi CM

Demikian juga, untuk model CMM lainnya, Anda memiliki KPA tertentu. Untuk mengetahui apakah implementasi KPA efektif, langgeng dan berulang, dipetakan dengan dasar sebagai berikut

  1. Komitmen untuk tampil
  2. Kemampuan untuk tampil
  3. Aktivitas tampil
  4. Pengukuran dan Analisis
  5. Memverifikasi implementasi

Batasan Model CMM

  • CMM menentukan proses apa yang harus ditangani, bukan bagaimana penerapannya
  • Itu tidak menjelaskan setiap kemungkinan perbaikan proses perangkat lunak
  • Ini berkonsentrasi pada masalah perangkat lunak tetapi tidak mempertimbangkan perencanaan bisnis strategis, mengadopsi teknologi, membangun lini produk dan mengelola sumber daya manusia
  • Itu tidak memberi tahu tentang jenis bisnis apa sebuah organisasi harus masuk
  • CMM tidak akan berguna dalam proyek yang mengalami krisis sekarang

Mengapa Menggunakan CMM?

Hari ini CMM bertindak sebagai "segel persetujuan" dalam industri perangkat lunak. Ini membantu dalam berbagai cara untuk meningkatkan kualitas perangkat lunak.

  • Ini memandu menuju proses standar yang dapat diulang dan karenanya mengurangi waktu belajar tentang bagaimana menyelesaikan sesuatu
  • Mempraktikkan CMM berarti mempraktikkan protokol standar untuk pengembangan, yang berarti tidak hanya membantu tim menghemat waktu tetapi juga memberikan pandangan yang jelas tentang apa yang harus dilakukan dan apa yang diharapkan.
  • Aktivitas berkualitas cocok dengan proyek daripada dianggap sebagai acara terpisah
  • Bertindak sebagai komuter antara proyek dan tim
  • Upaya CMM selalu menuju perbaikan proses

Ringkasan

CMM pertama kali diperkenalkan pada akhir tahun 80-an di Angkatan Udara AS untuk mengevaluasi pekerjaan subkontraktor. Kemudian, dengan versi yang ditingkatkan, itu diimplementasikan untuk melacak kualitas sistem pengembangan perangkat lunak.

Seluruh level CMM dibagi menjadi lima level.

  • Level 1 (Awal): Di mana persyaratan untuk sistem biasanya tidak pasti, disalahpahami, dan tidak terkontrol. Prosesnya biasanya kacau dan ad-hoc.
  • Level 2 (Dikelola): Perkirakan biaya, jadwal, dan fungsionalitas proyek. Standar perangkat lunak ditentukan
  • Level 3 (Ditentukan): Memastikan bahwa produk memenuhi persyaratan dan tujuan penggunaan
  • Level 4 (Dikelola Secara Kuantitatif): Mengelola proses dan sub-proses proyek secara statistik
  • Level 5 (Kematangan): Mengidentifikasi dan menyebarkan alat baru dan perbaikan proses untuk memenuhi kebutuhan dan tujuan bisnis