BAB 2 LANDASAN TEORI
2.1. Latar Belakang CMMI (Capability Maturity Model Integration) Menurut Dennis M. Ahern, Aaron Clouse, dan Richard Turner, dalam buku mereka yang berjudul “CMMI® Distilled: A Practical Introduction to Integrated Process Improvement”, CMMI (Capability Maturity Model Integration) adalah suatu pendekatan yang berfungsi untuk meningkatkan proses piranti lunak (software process) di dalam organisasi agar menjadi lebih efisien dan efektif. CMMI merupakan salah satu model kematangan (maturity model) yang digunakan untuk meningkatkan proses (process improvement) dalam organisasi. Tujuan dari penerapan CMMI di dalam organisasi adalah untuk meningkatkan proses pengembangan dan perawatan produk-produk piranti lunak organisasi tersebut. Pada masa-masa kompetitif seperti sekarang, ada banyak modelmodel
peningkatan
proses
(process
improvement
model)
yang
dikembangkan untuk menambah daya saing dari berbagai organisasi bisnis. Sebagai contoh, dengan menerapkan salah satu model peningkatan proses, maka proses pembuatan produk piranti lunak akan memakan waktu yang lebih singkat namun kualitasnya tidak menurun, bahkan bertambah
6
7
baik. Hal ini menyebabkan penggunaan model-model peningkatan proses menjadi popular di kalangan bisnis.
2.2. Penyajian CMMI (CMMI Representation) Mengacu kepada buku Process Improvement with CMMI v1.2 and ISO Standards karangan Boris Mutafelija dan Harvey Stromberg halaman 27, penyajian dari CMMI dapat dibedakan menjadi model bertingkat (staged model) dan model berkesinambungan (continuous model). Perbedaan model-model tersebut disebabkan oleh perbedaan dalam cara berkonsentrasi kepada perbaikan proses. Pemilihan model tersebut dapat didasarkan kepada pendekatan kemampuan daerah proses atau kematangan organisasi. Sudut pandang kemampuan daerah proses berkonsentrasi kepada membangun titik awal dan mengukur setiap peningkatan di tiaptiap daerah secara satu persatu. Pendekatan ini digunakan oleh penyajian model
berkesinambungan
dengan
penggunaan
kata
kunci,
yaitu
“kemampuan” (capability). Di lain pihak, kematangan organisasi menekankan kepada kumpulan daerah proses yang digunakan untuk mendefinisikan tingkattingkat yang terbukti dari kematangan proses dalam organisasi. Pendekatan ini dipakai pada penyajian model bertingkat dengan kata kunci “kematangan” (maturity).
8
2.3. Model Bertingkat (Staged Model) Mengacu kepada panduan CMMI for Development versi 1.2, model bertingkat menyediakan suatu peta jalan (roadmap) yang telah terdefinisi
sebelumnya
untuk
peningkatan
organisasi
berdasarkan
pengelompokan dan pengurutan yang teruji untuk proses dan hubunganhubungan organisasi yang terkait. Istilah “bertingkat” (staged) berasal dari cara model untuk menjelaskan peta jalan ini sebagai rentetan tingkat dari daerah proses yang mengindikasikan dimana sebuah organisasi seharusnya berkonsentrasi untuk meningkatkan proses organisasinya. Tiap daerah proses dideskripsikan sebagai praktek-praktek yang memegang peran dalam mencapai tujuannya. Kemajuan didapatkan dengan mencapai tujuan dari semua daerah proses di dalam tingkat kematangan yang diinginkan. Daerah proses kunci pada tingkat 2 dari CMMI berkonsentrasi pada masalah-masalah proyek piranti lunak yang berguna untuk membangun kendali pengelolaan proyek dasar. Tingkat 3 mengacu kepada baik masalah proyek maupun organisasi, sebagaimana organisasi membangun
sebuah
infrastruktur
yang
menggabungkan
proses
pengelolaan dan perekayasaan piranti lunak yang efektif. Daerah proses kunci pada tingkat 4, berkonsentrasi kepada membangun sebuah pengertian yang kuantitatif akan proses piranti lunak dan produk piranti lunak yang dikerjakan. Tingkat 5 melingkupi masalah-masalah yang dialami oleh organisasi dan proyek dalam menerapkan peningkatan proses piranti lunak yang dapat diukur dan berkesinambungan.
9
Penyajian bertingkat menawarkan sebuah cara yang sistematis dan terstruktur dalam menerapkan peningkatan proses langkah demi langkah. Mencapai tiap tingkat memastikan bahwa peningkatan yang cukup telah dilakukan dan dapat dijadikan sebagai dasar untuk tingkat selanjutnya.
Gambar 2.1 Lima Tingkat Kematangan
2.4. Lima Tingkat Kematangan (Five Maturity Levels) 2.4.1.
Tahap Initial (Level 1) Pada tingkat kematangan 1, proses-proses yang ada biasanya berantakan dan sifatnya ad hoc. Organisasi biasanya tidak menyediakan berjalannya
lingkungan proses.
yang
stabil
untuk
mendukung
Kesuksesan
pada
organisasi-organisasi
semacam ini bergantung pada kompetensi dan pengorbanan dari orang-orang di dalam organisasi dan bukan mengandalkan prosesproses yang telah terbukti kehandalannya.
10
2.4.2.
Tahap Managed (Level 2) Pada tingkat kematangan 2, proyek-proyek organisasi telah memastikan bahwa kebutuhan-kebutuhan dikelola dengan baik dan proses-proses yang ada telah terencana, terukur, dan terkendali. Disiplin dari proses pada tahap ini membantu memastikan bahwa praktek-praktek yang dijalankan tetap dipertahankan walaupun dalam waktu tekanan yang tinggi-tingginya (peak time). Ketika praktek-praktek ini dilakukan, proyek-proyek dilaksanakan dan dikelola menurut rencana-rencana yang didokumentasi. Pada tingkat 2, status dari produk dan pelepasan layanan dapat terlihat oleh pihak manajemen pada titik-titik yang telah didefinisikan. Komitmen dibangun di antara stakeholder yang berwenang dan diperbaiki apabila diperlukan. Produk-produk dikendalikan secara tepat. Produk dan layanan memenuhi deskripsi proses, standar proses, dan prosedur proses mereka.
2.4.3.
Tahap Defined (Level 3) Pada tahap ini, proses-proses telah dikarakterisasi dan dimengerti dengan baik, dan dijelaskan melalui standar, prosedur, tool, dan metode yang ada. Kumpulan proses standar dari organisasi, yang merupakan dasar dari tingkat kematangan 3, didirikan dan ditingkatkan seiring berjalannya waktu. Prosesproses standar ini digunakan untuk membangun konsistensi di dalam organisasi. Proyek membangun proses terdefinisi mereka
11
dengan mengacu kepada proses standar yang dimiliki oleh organisasi tersebut.
2.4.4.
Tahap Quantatively Managed (Level 4) Pada tingkat kematangan 4, organisasi dan proyek membangun tujuan kuantitatif untuk kualitas dan kinerja proses, dan menggunakan mereka sebagai kriteria dalam
pengelolaan
proses. Tujuan kuantitatif didasarkan pada kebutuhan pelanggan, pengguna akhir, organisasi, dan pihak yang mengimplementasi proses. Kualitas dan kinerja proses dimengerti dalam istilah-istilah statistik dan dikelola sepanjang waktu pemakaian proses. Untuk subproses yang terpilih, pengukuran detil akan kinerja proses dikumpulkan dan dianalisa secara statistik. Pengukuran kualitas dan kinerja proses dimasukkan ke dalam penyimpanan pengukuran organisasi untuk mendukung proses pengambilan keputusan yang berdasarkan
fakta.
Penyebab
khusus
dari
variasi
proses
diidentifikasi dan, apabila tepat, sumbernya dikoreksi untuk mencegah kejadian lagi di lain waktu.
2.4.5.
Tahap Optimizing (Level 5) Pada tahap ini, sebuah organisasi secara berkesinambungan meningkatkan proses-prosesnya berdasarkan pengertian kuantitatif akan penyebab-penyebab umum dari variasi proses. Tingkat kematangan 5 mengkonsentrasikan kepada peningkatan secara
12
berkesinambungan akan kinerja proses melalui proses inkremental dan inovatif, dan juga peningkatan secara teknologi. Tujuan peningkatan proses secara kuantitatif untuk organisasi dibangun, diperbaiki secara berkesinambungan untuk menangani tujuan bisnis yang dinamis, dan digunakan sebagai kriteria dalam mengelola peningkatan proses. Akibat-akibat dari peningkatan proses yang diterapkan diukur dan dievaluasi secara berlawanan terhadap tujuan peningkatan proses kuantitatif. Baik proses terdefinisi maupun kumpulan proses standar organisasi merupakan tujuan dari aktivitas peningkatan yang dapat diukur.
2.5.
Daerah Proses CMMI (CMMI Process Area) Model CMMI mencakup dua puluh dua (22) daerah proses yang mendefinisikan dimensi proses dari model. Daerah-daerah proses ini terbagi menjadi:
•
Pengelolaan Proses (Process Management)
•
Pengelolaan Proyek (Project Management)
•
Perekayasaan (Engineering)
•
Dukungan (Support)
Daerah proses Pengelolaan Proses, Pengelolaan Proyek, dan Perekayasaan saling terkait satu sama lain, namun daerah proses Dukungan berdiri sendiri. Di bawah ini adalah tabel yang berisi daftar
13
daerah proses yang dikelompokkan berdasarkan kategori, dan telah dilabeli tingkat kematangannya:
Kategori
Tabel 2.1 Daftar Daerah Proses di dalam CMMI Daerah Proses Tingkat Kematangan Definisi Proses Organisasi (Organizational
Pengelolaan Proses
Process Definition)
3
Fokus Proses Organisasi (Organizational Process Focus)
3
Pelatihan Organisasi (Organizational Training)
3
Kinerja Proses Organisasi (Organizational Process Performance)
4
Penerapan dan Inovasi Organisasi
Pengelolaan Proyek
(Organizational Innovation and Deployment)
5
Perencanaan Proyek (Project Planning)
2
Pengendalian dan Pemantauan Proyek (Project Monitoring and Control)
2
Pengelolaan Perjanjian Pemasok (Supplier Agreement Management)
2
Pengelolaan Proyek Terintegrasi untuk PPPT (Pengembangan Proses dan Produk Terintegrasi - Integrated Project Management for IPPD (Integrated Process and Product Development))
3
14
Pengelolaan Resiko (Risk Management)
3
Pengelolaan Proyek Kuantitatif (Quantitative Project Management)
4
Pengelolaan Kebutuhan (Requirement Perekayasaan
Management)
2
Pengembangan Kebutuhan (Requirement Development)
3
Solusi Teknis (Technical Solution)
3
Integrasi Produk (Product Integration)
3
Pengujian (Verification)
3
Pengesahan (Validation)
3
Pengelolaan Konfigurasi (Configuration Dukungan
Management)
2
Jaminan Kualitas Proses dan Produk (Process and Product Quality Assurance)
2
Analisa dan Pengukuran (Measurement and Analysis)
2
Resolusi dan Analisa Keputusan (Decision Analysis and Resolution)
3
Resolusi dan Analisa Sebab (Causal Analysis and Resolution)
Berikut merupakan penjelasan tentang dua puluh dua (22) daerah proses tersebut:
5
15
2.5.1.
Definisi Proses Organisasi Tujuan dari Definisi Proses Organisasi adalah untuk membangun dan mempertahankan sebuah kumpulan aset proses organisasi yang dapat digunakan. Definisi Proses Organisasi dan Fokus Proses Organisasi bekerja sama dimana Definisi Proses Organisasi menyediakan panduan untuk membuat proses dan asetaset
yang
mendukungnya,
dan
Fokus
Proses
Organisasi
menyediakan panduan untuk mengidentifikasi dan merencanakan peningkatan proses.
2.5.2.
Fokus Proses Organisasi Tujuan dari Fokus Proses Organisasi adalah untuk merencanakan dan menerapkan peningkatan proses organisasi berdasarkan pengertian yang menyeluruh terhadap kekuatan dan kelemahan dari proses dan aset proses yang dimiliki oleh organisasi.
2.5.3.
Pelatihan Organisasi Tujuan dari Pelatihan Organisasi ada untuk mengembankan kemampuan dan pengetahuan dari sumber daya manusia yang dimiliki organisasi agar mereka dapat melakukan peranan mereka secara efisien dan efektif. Pelatihan Organisasi memiliki dua tujuan spesifik, yaitu untuk membangun sebuah kemampuan pelatihan
16
organisasi, dan untuk menyediakan pelatihan-pelatihan yang diperlukan.
2.5.4.
Kinerja Proses Organisasi Tujuan dari Kinerja Proses Organisasi adalah untuk membangun dan mempertahankan pengertian kuantitaif terhadap kinerja dari kumpulan proses standar yang dimiliki oleh organisasi untuk mendukung kualitas dan kinerja proses yang baik, dan untuk menyediakan data kinerja proses, titik awal, dan model-model untuk mengelola secara kuantitatif proyek-proyek dari organisasi.
2.5.5.
Penerapan dan Inovasi Organisasi Tujuan dari Penerapan dan Inovasi Organisasi adalah untuk memilih dan menerapkan peningkatan yang inovatif secara perlahan-lahan
untuk
meningkatkan
proses
dan
teknologi
organisasi. Peningkatan-peningkatan yang dilakukan berguna untuk mendukung kualitas organisasi dan untuk mencapai tujuan kinerja proses sebagaimana yang telah dijelaskan di dalam tujuan bisnis. Pada intinya, Penerapan dan Inovasi Organisasi bertujuan untuk
memilih
peningkatan
menerapkannya secara sistematis.
yang
ingin
dilakukan
dan
17
2.5.6.
Perencanaan Proyek Tujuan dari Perencanaan Proyek adalah untuk membangun dan
mempertahankan
rencana-rencana
yang
mendefinisikan
aktivitas-aktivitas yang dijalankan di dalam suatu proyek. Perencanaan Proyek mempunyai tiga tujuan spesifik, yaitu untuk membangun perkiraan proyek, mengembangkan sebuah rencana proyek, dan untuk memperoleh komitmen dari berbagai pihak.
2.5.7.
Pengendalian dan Pemantauan Proyek Tujuan dari Pengendalian dan Pemantauan Proyek adalah untuk menyediakan pengertian akan keberlangsungan dari sebuah proyek sehingga tindakan-tindakan perbaikan yang tepat dapat diambil ketika kinerja dari proyek menurun secara pesan dari rencana semula. Dua tujuan spesifik dari Pengendalian dan Pemantauan Proyek adalah untuk memantau kinerja dan untuk mengelola tindakan-tindakan perbaikan yang tepat. Pengendalian dan Pemantauan Proyek dan Perencanaan Proyek bekerja secara bersama-sama dimana Perencanaa Proyek melibatkan pembuatan rencana proyek dan Pengendalian dan Pemantauan Proyek melibatkan berbagai hal yang bertentangan dengan jalannya proyek, sehingga memastikan proyek berjalan mulus.
18
2.5.8.
Pengelolaan Perjanjian Pemasok Tujuan dari Pengelolaan Perjanjian Pemasok adalah untuk mengelola pengambilalihan produk dari pemasok yang melibatkan perjanjian formal. Dua tujuan spesifik dari Pengelolaan Perjanjian Pemasok adalah untuk membuat perjanjian dengan pemasok dan untuk memenuhi perjanjian tersebut. Daerah proses ini bekerja sama dengan daerah proses Solusi Teknis, dimana organisasi memutuskan untuk membuat atau membeli produk. Ketika keputusan untuk membuat diputuskan, Pengelolaan Perjanjian Pemasok membuat perjanjian dan mengelola keputusan tersebut dari sudut pandang si pembeli.
2.5.9.
Pengelolaan Proyek Terintegrasi untuk PPPT
(Pengembangan Proses dan Produk Terintegrasi – IPPD (Integrated Process and Product Development)) Tujuan dari Pengelolaan Proyek Terintegrasi adalah untuk membangun
dan
mengelola
proyek
dan
keterlibatan
dari
stakeholder dengan mengacu kepada proses yang telah terdefinisi dan terintegrasi yang dibuat dari kumpulan proses standar dari organisasi. Penambahan PPPT membawa dua tujuan spesifik sebagai tambahan dari dua tujuan spesifik yang dimiliki oleh Pengelolaan Proyek Terintegrasi, yaitu mendefinisikan konteks dari visi bersama dari proyek yang digunakan untuk membangun visi bersama proyek dan mengevaluasi penggunaan dan efektifitas
19
dari visi tersebut, dan tujuan yang kedua, adalah untuk mengorganisasikan tim-tim yang terintegrasi dengan menentukan struktur tim untuk proyek, membangun sebuah rencana untuk mendistribusikan persyaratan kepada tim dan mendirikan tim tersebut.
2.5.10. Pengelolaan Resiko Tujuan
dari
Pengelolaan
Resiko
adalah
untuk
mengidentifikasi masalah-masalah potensial sebelum mereka muncul, sehingga aktivitas penanganan resiko dapat direncanakan dan dipanggil sesuai kebutuhan sepanjang waktu pemakaian produk atau proyek untuk meringankan resiko-resiko berbahaya dalam meraih tujuan. Pengelolaan Resiko dibangun berdasarkan daerah proses Perencanaan Proyek, dan sebagai tindakan spesifik di
dalam
Perencanaan
Proyek,
mengidentifikasikan
dan
menganalisa resiko-resiko proyek, dan rencana proyek seharusnya mendokumentasikan Proyek
kurang
resiko-resiko
sistematik
dan
ini.
Namun,
kurang
Perencanaan
proaktif
apabila
dibandingkan dengan persyaratan-persyaratan yang dicatat oleh Pengelolaan Resiko. Lebih lagi, Pengelolaan Resiko dapat diterapkan di luar konteks proyek untuk mengelola resiko-resiko organisasi yang tidak dicakup di dalam proyek.
20
2.5.11. Pengelolaan Proyek Kuantitatif Tujuan dari Pengelolaan Proyek Kuantitatif adalah untuk mengelola proses-proses terdefinisi di dalam suatu proyek secara kuantitatif untuk meraih kualitas dan tujuan kinerja proses. Pengelolaan Proyek Kuantitaf memiliki dua tujuan spesifik yang dibuat berdasarkan Perencanaan Proyek, Pengendalian dan Pemantauan Proyek, dan Pengelolaan Proyek Terintegrasi, yaitu menggunakan tujuan kinerja untuk mengelola proyek secara kuantitatif dan mengelola subproses-subproses yang terpilih secara statistik. Tujuan pertama, yaitu menggunakan tujuan kinerja untuk mengelola proyek secara kuantitatif, dicapai dengan menerapkan tindakan-tindakan spesifik yang membangun tujuan kinerja, menganalisa dan memiliki subproses, dan memantau tujuan kinerja proyek untuk menentukan apakah tujuan tersebut telah dicapai. Tujuan kedua, yaitu untuk mengelola subproses-subproses yang terpilih secara statistik, dicapai dengan melakukan pemilihan teknik-teknik pengukuran dan analitik, mengerti akan variasi, memantau subproses yang terpilih, dan merekam data-data output di dalam sebuah tempat penyimpanan (reprository) organisasi. Dengan demikian, Pengelolaan Proyek Kuantitatif dibangun berdasarkan Pengendalian dan Pemantauan Proyek dengan memastikan bahwa organisasi mempraktekkan pengelolaan secara statistik dan juga menggunakan data histori untuk menentukan
21
tujuan dan menentukan subproses yang akan dikelola secara kuantitatif.
2.5.12. Pengelolaan Kebutuhan Tujuan dari pengelolaan kebutuhan adalah untuk mengatur kebutuhan dari produk dan komponen produk yang dibuat di dalam proyek, dan juga untuk mengidentifikasikan ketidakkonsistenan antara kebutuhan-kebutuhan pada saat perencanaan proyek dengan produk jadinya.
2.5.13. Pengembangan Kebutuhan Terdapat tiga tujuan pada daerah proses Pengembangan Kebutuhan, yaitu untuk mengembangkan kebutuhan pelanggan, mengembangkan kebutuhan produk, dan menganalisa dan menguji kebutuhan untuk mendefinisikan fungsi-fungsi yang diperlukan. Daerah proses ini mengandung semua praktek yang terkait dengan definisi kebutuhan produk dan komponen produk. Daerah proses ini merupakan proses yang rekursif dengan Solusi Teknis, dengan solusi alternatif yang dikembangkan untuk membantu menentukan kebutuhan produk yang tingkatnya lebih rendah.
2.5.14. Solusi Teknis Tujuan dari Solusi Teknis adalah untuk merancang, mengembangkan, dan mengimplementasikan solusi ke kebutuhan
22
yang telah didefinisikan. Solusi, rancangan, dan implementasi menghubungkan produk, komponen produk, dan proses life cycle yang terkait dengan produk, baik itu berdiri sendiri, atau dikombinasikan dengan tepat. Pada tujuan pertama, memilih solusi komponen produk, solusi alternatif dikembangkan dan dianalisa dan yang paling memuaskan dipilih. Alternatif yang dipilih mungkin digunakan untuk mengembangkan kebutuhan yang lebih detil di daerah proses Pengembangan Kebutuhan, atau dirancang pada tujuan kedua dari Solusi Teknis. Setelah komponen produk dirancang, komponen produk diimplementasikan bersama-sama dengan dokumentasi yang mendukungnya, sebagaimana yang terdapat di tujuan ketiga Solusi Teknis.
2.5.15. Integrasi Produk Tujuan dari Integrasi Produk adalah untuk merakit produk dari komponen-komponen, memastikan bahwa fungsi-fungsi produk (setelah jadi) berjalan baik, dan melepas produk.
2.5.16. Pengujian Pengujian berfungsi untuk memastikan bahwa produk yang terpilih dapat memenuhi kebutuhan yang telah didefinisikan. Pengujian memiliki tiga tujuan spesifik, yaitu mempersiapkan untuk melakukan pengujian, melakukan peer review pada produk yang terpilih, dan menguji produk tersebut.
23
2.5.17. Pengesahan Pengesahan berfungsi untuk mendemonstrasikan bahwa sebuah produk atau komponen produk memenuhi maksud pembuatannya ketika ditempatkan di lingkungan yang semestinya. Tujuan-tujuan spesifik dari Pengujian adalah untuk mempersiapkan proses pengesahan dan mengesahkan produk dan komponen produk. Pengesahan hampir mirip dengan Pengujian, namun berbeda pada penekanan topik. Pengujian lebih menunjukkan sebuah produk memenuhi kebutuhan yang telah didefinisikan, sedangkan Pengesahan lebih terlibat di dalam aktivitas-aktivitas yang diperlukan untuk menunjukkan bahwa sebuah produk memenuhi tujuan sebuah produk itu dibuat ketika ditempatkan pada lingkungan yang memang sudah disediakan untuknya.
2.5.18. Pengelolaan Konfigurasi Pengelolaan Konfigurasi memiliki tiga tujuan spesifik, yaitu mendirikan titik awal, memantau dan mengendalikan perubahan, dan membangun integritas titik awal.
2.5.19. Jaminan Kualitas Proses dan Produk Daerah proses Jaminan Kualitas Proses dan Produk memiliki dua tujuan spesifik, yaitu untuk mengevaluasi kepatuhan atas deskripsi proses, standar proses, dan prosedur proses secara obyektif, dan untuk menyelesaikan masalah kegagalan produk.
24
Agar dapat mengevaluasi secara obyektif, organisasi sebisa mungkin berusaha memiliki pandangan yang independen untuk melihat proses dan produk, sebagai salah satu solusi, bisa dibangun departemen jaminan kualitas.
2.5.20. Analisa dan Pengukuran Analisa dan Pengukuran mempunyai tiga tujuan spesifik, yaitu
untuk
menyelaraskan
pengukuran
dengan
kebutuhan
informasi, dan untuk menyediakan hasil pengukuran yang memenuhi kebutuhan akan informasi tersebut.
2.5.21. Resolusi dan Analisa Keputusan Tujuan dari Resolusi dan Analisa Keputusan adalah untuk menganalisa
keputusan-keputusan
yang
mungkin
dengan
menggunakan proses evaluasi formal yang mengevaluasi solusi alternatif yang bertentangan dengan kriteria yang ada.
2.5.22. Resolusi dan Analisa Sebab Tujuan dari Resolusi dan Analisa Sebab adalah untuk mengidentifikasi sebab dari cacat dan masalah-masalah lain dan untuk mengambil tindakan untuk mencegah mereka untuk terjadi lagi di kemudian hari.
25
2.6. Peta Kerangka Berpikir Peta kerangka berpikir di bawah adalah sebuah gambaran tentang apa yang akan dikerjakan di tesis ini selama kurun waktu yang telah ditetapkan, dari awal, sampai selesai.
Gambar 2.2 Peta Kerangka Berpikir