Jumat, 21 Maret 2014

CMM

Apa CMM itu ?

CMM adalah model kematangan kemampuan (kapabilitas) untuk membantu pendefinisian dan pemahaman proses-proses pada suatu organisasi. Pengembangan model ini dimulai pada tahun 1986 oleh SEI (Software Engineering Institute) atas permintaan  Departemen Pertahanan Amerika Serikat, Departement of Defense(DOD).

CMM awalnya ditujukan sebagai suatu alat untuk secara objektif menilai kemampuan kontraktor pemerintah untuk menangani proyek perangkat lunak yang diberikan. Walaupun berasal dari bidang pengembangan perangkat lunak, model ini dapat juga diterapkan sebagai suatu model umum yang membantu pemahaman kematangan kapabilitas proses organisasi di berbagai bidang. Misalnya rekayasa perangkat lunak, rekayasa sistem, manajemen proyek, manajemen risiko, teknologi informasi, serta manajemen sumber daya manusia.

Ciri Maturity Level secara Umum
▪       Proses pengembangan dari suatu organisasi disederhanakan dan dideskripsikan dalam wujud tingkatan kematangan dalam jumlah tertentu (biasanya empat hingga enam tingkatan)
▪       Tingkatan kematangan tersebut dicirikan dengan beberapa persyaratan tertentu yang harus diraih.
▪       Tingkatan-tingkatan yang ada disusun secara sekuensial, mulai dari tingkat inisial sampai pada tingkat akhiran (tingkat terakhir merupakan tingkat kesempurnaan)

Selama pengembangan, sang entitas bergerak maju dari satu tingkatan ke tingkatan berikutnya tanpa boleh melewati salah satunya, melainkan secara bertahap berurutan.
Pada tahun 2000 CMM dileburkan ke dalam CMMI (Capability Maturity Model Integration). Peleburan ini disebabkan karena adanya kritik bahwa pengaplikasian CMM di pengembangan perangkat lunak khususnya bisa menimbulkan masalah karena model CMM yang belum terintegrasi di dalam dan di seantero organisasi. Ini kemudian memunculkan beban biaya dalam hal pelatihan, penaksiran kinerja, dan aktivitas perbaikan.
Namun CMM masih tetap digunakan sebagai model acuan teoritis di ranah publik untuk konteks yang berbeda. CMM sendiri telah diganti namanya menjadi SE-CMM (Software Engineering CMM).

Secara harfiah, CMM dapat diartikan sebagai berikut:
  • Capability, diartikan menjadi kapabilitas yang berarti kemampuan yang bersifat laten. Dalam CMM ini, Capability lebih mengarah kepada integritas daripada kapabilitas itu sendiri.
  • Maturity,  berarti matang atau dewasa. Matang merupakan hasil proses. Dewasa merupakan hasil pertumbuhan.
  • Model, didefinisikan sebagai suatu penyederhanaan yang representatif terhadap keadaan di dunia nyata.
Nilai-nilai yang dilihat dalam pengukuran tersebut:
▪       Apa yang diukur (Parameter)
▪       Bagaimana cara mengukurnya (Metode)
▪       Bagaimana standar penilaiannya (Skala Penilaian)
▪       Bagaimana Interpretasinya (Bagi Manusia)

Terdapat 5 level dalam CMM :

J   Initial
J   Repeatable
J   Defined
J   Managed
J   Optimizing

1. @  Initial Level
Kriteria dari initial level adalah: 
▪      -  tidak ada manajemen proyek
▪       - tidak ada quality assurance
▪       - tidak ada mekanisme manajemen perubahan (change management)
▪       - tidak ada dokumentasi 
▪       - terdapat ketergantung pada kemampuan individual

2@.   Repeatable Level
Ciri-ciri dari repeatable level adalah: 
▪       - kualitas perangkat lunak mulai bergantung pada proses bukan pada individu
▪       - ada manajemen proyek sederhana
▪      -  ada quality assurance sederhana
▪      -  ada dokumen sederhana
▪      -  ada software configuration management sederhana, 
▪       - tidak ada knowledge management
▪       - tidak ada komitmen untuk mengikuti SDLC dalam kondisi apapun
▪  - tidak ada stastikal control untuk estimasi proyek dan rentan perubahan struktur organisasi.

3.  @  Defined Level
Ciri-ciri dari Defined level adalah:
▪       - SDLC sudah ditentukan
▪       - ada komitmen untuk mengikuti SDLC dalam keadaan apapun
▪   - kualitas proses dan produk masih bersifat kualitatif atau hanya perkiraan saja
▪       - tidak menerapkan Activity Based Costing
▪       - tidak ada mekanisme umpan balik yang baku

4 .   @ Managed Level
Ciri-cirinya Managed Level adalah
▪                  -   sudah ada Activity Based Costing yang digunakan untuk estimasi proyek berikutnya
▪      - proses penilaian kualitas perangkat lunak dan proyek masih bersifat kuantitatif
▪    - terjadi pemborosan biaya untuk pengumpulan data karena proses pengumpulan data masih dilakukan secara manual
▪       sudah memiliki mekanisme umpan balik
▪       tidak ada mekanisme pencegahan defect  

   5. Optimized Level
Pengumpulan data secara automatis
▪       ada mekanisme pencegahan defect
▪       ada mekanisme umpan balik yang baik 
▪       ada peningkatan kualitas dari SDM 
▪       ada peningkatan kualitas proses.

Kegunaan CMM
▪ Untuk menilai tingkat kematangan sebuah organisasi pengembang perangkat lunak
▪     Untuk menyaring kontraktor yang akan menjadi pengembang perangkat lunak
▪ Untuk memberikan arah akan peningkatan organisasi bagi top management di dalam sebuah organisasi pengembang perangkat lunak
▪  Sebagai alat bantu untuk menilai keunggulan kompetitif yang dimiliki sebuah perusahaan dibandingkan perusahaan pesaingnya.

Internal Structure of Maturity Level




▪  Kecuali di level 1, setiap level akan diurai ke dalam Key Process Areas (KPA)
▪ Setiap KPA mengidentifikasi sekelompok kegiatan terkait yang, bila dilakukan secara kolektif, mencapai serangkaian tujuan dianggap penting untuk meningkatkan kemampuan perangkat lunak, terdiri atas:
▪       commitment
▪       ability
▪       activity
▪       measurement
▪      
verification


Keuntungan CMM
▪  Membantu membentuk visi bersama tentang apa berarti perbaikan proses perangkat lunak untuk organisasi
▪   Mendefinisikan menetapkan prioritas untuk mengatasi masalah software
▪ Mendukung pengukuran proses dengan menyediakan kerangka kerja untuk melakukan penilaian yang dapat diandalkan dan konsisten
▪    Menyediakan kerangka kerja untuk konsistensi proses dan produk


Measurement of CMM
Ø  Historical
Ø  Plan
Ø  Actual
Ø  Projections


Penerapan CMMI


Huawei (Level 5)
Litbang di Huawei menjadi bagian terpenting dari industri teknologi baik software maupun hardware. Inilah yang membuat Huawei terbukti responsif terhadap kebutuhan masa depan dan masa kini pelanggan. Investasi di area ini penting untuk terus-menerus mengembangkan teknologi, solusi dan layanan yang tujuan akhirnya adalah memaksimalkan keuntungan dan memberikan nilai tambah bagi pelanggan.

Pada akhir September 2008, sekitar 44% dari total 96.800 karyawan Huawei terlibat dalam R&D. Sebagai bagian terintegrasi dari keseluruhan proses, Huawei menanamkan kembali 10% pendapatan dari hasil penjualannya untuk riset dan pengembangan di mana 10% tersebut diarahkan untuk mendanai pengembangan berbagai teknologi mutakhir dan teknologi dasar setiap tahunnya.


Perusahaan Internasional lainnya yang meraih level maturity 5 adalah Toshiba, NASA dan ATSI (The Association of Thai Software Industry).


CMMI

Capability Maturity Model Integration (CMMI) merupakan suatu model pendekatan dalam penilaian skala kematangan dan kemampuan sebuah organisasi perangkat lunak. CMMI pada awalnya dikenal sebagai Capability Maturity Model (CMM) yang dikembangkan oleh Software Enginnering Institute di Pittsburgh pada tahun 1987. Namun perkembangan selanjutnya CMM menjadi CMMI. CMMI mendukung proses penilaian secara bertingkat. Penilaiannya tersebut berdasarkan kuisioner dan dikembangkan secara khusus untuk perangkat lunak yang juga mendukung peningkatan proses.

CMMI memiliki 4 aturan yang dapat disesuaikan menurut organisasi software, yakni:
- System Engineering(SE)
- Software Engineering(SW )
- Integrated Product and Process Development (IPPD)
- Supplier Sourcing (SS)

Beberapa keuntungan yang diperoleh saat perusahaan menerapkan CMMI:
• Penilaian studi kualitas (assessing) atas proses kematangan (maturity) terkini.
• Meningkatkan kualitas struktur organisasi dan pemrosesan dengan mengikuti pendekatan best-practice.
•      Digunakan dalam proses uji-kinerja (benchmarking) dengan organisasi lainnya.
•      Meningkatkan produktivitas dan menekan resiko proyek.
•      Menekan resiko dalam pengembangan perangkat lunak.
•      Meningkatkan kepuasan pelanggan.
•      Mempunyai fitur-fitur yang bersifat institusional, yaitu komitmen, kemampuan untuk melakukan sesuatu, analisis dan pengukuran serta verifikasi implementasi.
•      Tersedianya “Road Map” untuk peningkatan lebih lanjut.

CMMI LEVEL

vMaturity level 1 – Initialized
Secara umum, organisasi yang berapa pada level 1 adalah organisasi yang belum menjalankan CMMI. Tidak terdapatnya proses yang standar dalam pengembangan IT, banyak perubahan yang bersifat ad-hoc (begitu terdapat defect, langsung di coba diperbaiki tanpa melihat penyebab utama secara menyeleruh) dan sangat sedikit kontrol. Organisasi semacam ini umumnya sangat tergantung terhadap 'orang', tidak tergantung kepada 'sistem'. Jika terdapat satu orang yang 'cerdas', dia akan menangani semuanya sebagai 'hero' dan pada saat 'orang' ini tidak ada, maka proyek akan bergoyang.
v Maturity level 2 – Managed
Organisasi ini telah memiliki beberapa proses yang sering digunakan salam setiap proyek pengembangan, tetapi tidak terdapat keseragaman secara menyeluruh. Proses sudah mulai berjalan secara konsisten, tetapi tidak menyeluruh di semua lini organisasi.
v Maturity level 3 – Defined.
Pada ML3 ini sebuah organisasi telah mencapai seluruh specific dan generic goals pada Level 2 dan Level 3. Proses dicirikan dengan terjadinya penyesuaian dari kumpulan proses standar sebuah organisasi menurut pedoman-pedoman pada organisasi tersebut, menyokong hasil kerja, mengukur, dan proses menambah informasi lain menjadi milik organisasi.
v Maturity level 4 – Quantitatively Managed
Pada ML4 ini, sebuah organisasi telah mencapai seluruh specific dan generic goals yang ada pada Level 2, 3, dan 4. Proses yang terjadi dapat terkontrol dan ditambah menggunakan ukuran-ukuran dan taksiran kuantitatif. Sasaran kuantitatif untuk kualitas dan kinerja proses ditetapkan dam digunakan sebagai kreteria dalam manajemen proses.
v Maturity level 5 – Optimizing
Pada ML5 ini suatu organisasi telah mencapai seluruh specific dan generic goals yang ada di Level 2, 3, 4, dan 5. ML5 fokus kepada peningkatan proses secara berkesinambungan melalui inovasi teknologi.


Rabu, 19 Maret 2014

Requirement Engineering Sistem Informasi dengan Model TOGAF

Enterprise Architecture adalah satu praktek manajemen untuk memaksimalkan kontribusi dari sumber daya perusahaan, investasi TI, dan aktivitas pembangunan sistem untuk mencapai tujuan kinerjanya.


4 Model dari Enterprise Architecture Framework :
•   The Zachman Framework for Enterprise Architectures
•   The Open Group Architecture Framework (TOGAF)
•   The Federal Enterprise Architecture (FEA)
•   Gartner (Meta Framework)

The Open Group Architecture Framework (TOGAF)
adalah satu kerangka terperinci dan alat pendukung untuk mengembangkan satu Enterprise Architecture yang dipergunakan dengan bebas oleh organisasi apapun yang mengembangkan untuk mendesain, evaluasi, dan membangun blueprint Teknologi Informasi.
TOGAF (The Open Group ArchitectureFramework) memberikan metode detil bagaimana membangun, mengelola, dan mengimplementasikan arsitektur enterprise dan sistem informasi yang disebut dengan Architecture Development Method.

Struktur dan Komponen TOGAF
•    Architecture Development Method
    menjelaskan bagaimana menemukan sebuah arsitektur perusahaan/organisasi secara khusus berdasarkan kebutuhan bisnisnya.
•    Foundation Architecture (Enterprise Continuum)
 sebuah “framework-within-a-framework” yang menyediakan hubungan bagi pengumpulan asset arsitektur yang relevan dan menyediakan bantuan petunjuk pada saat terjadinya perpindahan abstraksi level yang berbeda.
Yang terdiri atas :
1. Technical Reference Model, model danklasifikasi dari platform layanan generic
2. Standard Information Base, standar-standardasar dari informasi
3. Building Block Information Base, blok-blok dasar informasi di masa datang
•    Resource Base
 bagian ini memberikan sumber informasi berupa guidelines, templates, checklist, latar belakang informasi dan detail material pendukung yang membantu arsitek dalam penggunaan (ADM).

Architecture Development Method (ADM)
Metodologi untuk desain arsitektur didalam TOGAF disebut architecture development method (ADM) yaitu suatu proses yang menyeluruh, terintegrasi untuk mengembangkan dan memelihara suatu EA.

ADM dilengkapi dengan banyak alat bantu baik dalam perencanaan dan prosesnya, yaitu :
•     Satu set arsitektur view yang mencakup view bisnis, data, aplikasi dan teknologi.
•     Satu set deliverables yang direkomendasikan.
•     Linkages dengan banyak studi kasus yang nyata.
•      Metode untuk mengelola requirement.

Tahapan-tahapan ADM :
•   Tahap persiapan (Preliminary Phase): Mendefinisikan kerangka dan prinsip.
•  Phase A: Architecture Vision. Mendefinisikan scope, vision dan memetakan strategi.
• Phase B: Business Architecture. Mendeskripsikan bisnis arsitektur saat ini dan sasaran dan menentukan celah (gap) di antara mereka. 
• Phase C: Information System Architecture. Mengembangkan arsitektur sasaran untuk data dan aplikasi. 
• Phase D: Technology Architecture. Menciptakan sasaran keseluruhan arsitektur yang akan diterapkan pada tahapan kedepan. 
• Phase E: Opportunities and Solutions. Mengembangkan strategi keseluruhan, menentukan apa yang akan dibeli, membangun atau penggunaan ulang, dan bagaimana menerapkan arsitektur yang dideskripsikan di phase D.
•     Phase F: Migration Planning. Mendahulukan proyek dan mengembangkan migrasi yang terencana. 
• Phase G: Implementation Governance. Menentukan persiapan untuk implementasi. 
•  Phase H: Architecture Change Management. Memonitor sistem yang sedang berjalan untuk kepentingan perubahan dan menentukan tahapan siklus.