pendekatan agile software development assessment dengan menggunakan cmm1

4
Pendekatan Agile Software Development Assement dengan menggunakan CMMI Indra Adhitya Magister Teknologi Informasi, universitas Indonesia Jalan Salemba Raya Jakarta Pusat Indonesia [email protected] , Abstract - Organisasi pengembang software meningkat dan kebanyakan mengadopsi agile development methods. Meskipun CMMI tidak sulalu dapat men-support interpretasi yang ada pada konteks agile . Makalah ini melakukan pendekatan process area(PA) CMMI ke dalam Agile assessment I. Introduksi Selama beberapa tahun terakhir, Capability Maturity Model (CMM) dan Capability Maturity Model Integration(CMMI)[1] dikenal secara luas oleh organisasi- organisasi maupun perusahaan software, untuk membantu tingkat kemajuan/perkembangan dan proses kematangan di seluruh dunia[2]. Beberapa organisasi atau perusahaan , mengimplementasikan dalam SOP, bahkan secara rutin telah menggunakan CMMI assessment dan appraisal sebagai acuan khusus kerja. Dikarenakan standar acuan kerja CMMI, dengan best practice-nya, memberikan kemudahan dan keuntungan bagi kemajuan organisasi. Belakangan, pendekatan perkembangan metodologi software terbaru memiliki ketertarikan secara luas perusahaan pengembang software. Agile software development method, memberikan keuntungan kepuasan custumer untuk memberikan software yang berkualitas dengan pemercepatan proses saat pengembangannya[4-6] Perusahaan yang memerlukan usaha yang besar untuk meningkatkan proses produksi mereka lebih menyadari bahwa pendekatan agile dapat membantu perbaikan proses tersebut. Lain pihak, penerapan agile dapat dikritisi karena lemahnya disiplin dan hanya cocok untuk beberapa tipe aplikasi, contohnya untuk team kecil maupun aplikasi yang tidak begitu besar begitu besar.[4,7]. Organisasi yang menerapkan metodologi agile mungkin saja mengalami kendala-kendala penerapan SDLC(System Development Cycle)[8] agile pada proses kerja mereka. Framework agile pada CMMI dapat membantu dan memberikan solusi kendala yang dihadapi serta membangun kepercayaan team terhadap metodologi agile. CMMI merepresentasikan cara yang lebih spesifik dan dapat memulihkan kinerja team sampai tuntas. Makara edukasi berdiri pada tahun 2007, dengan akta notaris nomor ME/jkt/Ind 06-34-2007 merupakan salah satu organisasi pengembang software pendidikan yang berbasis teknologi. Didirikan oleh Achmad Solechan, M.Si, makara edukasi memiliki visi dan misi sejalan dengan pembukaan UUD’ 45 yakni mencerdaskan kehidupan bangsa. Makara edukasi menerapkan metodologi Agile, dalam pelaksanaan dan operasional pengembangan software. Selain faktor kuantitas karyawannya tidak banyak, Agile dititikberatkan bagaimana kualitas kerjasama dan komunikasi team yang baik pada setiap proses pengembangan. Makalah ini disusun sebagai berikut Bab 2 memperkenalkan latar balakang agile development software, CMMI, dan hubungan antara keduanya; Bab 3 menjelaskan mengenai Tujuan makalah dengan pendekatan CMMI dan konteks contoh kasus agile; Bab 4 menjelaskan pendekatan process area pada CMMI untuk dapat membantu Agile software development; dan yang terakhir adalah Bab 5 sebagai kesimpulan dari makalah ini II. Latar Belakang Pada bab ini dijelaskan mengenai prinsip pengembangan agile piranti lunak, CMMI, dan keduanya. 2. 1 Prinsip agile development software Beberapa metode pengembangan software telah digunakan, seperti Extreme Programing(XP)[9], Scrum[10], Crystal[11]. Semuanya menerapkan terus-menerus pengerjaan piranti lunak sesuai dengan yang didefinisikan Agile Manifesto[12]. Rancangan(plandriven) pengembangan software dan metode agile selalu melihat pada pengembangan yang terjadi pada setiap fase pengembangannya. Pendekatan plandriven agile

Upload: indra-adhitya

Post on 11-Jun-2015

1.876 views

Category:

Documents


4 download

DESCRIPTION

Pendekatan Agile Software Development Assement dengan menggunakan CMMIIndra AdhityaMagister Teknologi Informasi, universitas Indonesia Jalan Salemba Raya Jakarta Pusat Indonesia [email protected],Abstract - Organisasi pengembang software meningkat dan kebanyakan mengadopsi agile development methods. Meskipun CMMI tidak sulalu dapat men-support interpretasi yang ada pada konteks agile . Makalah ini melakukan pendekatan process area(PA) CMMI ke dalam Agile assessment I. Introduksi Selama bebera

TRANSCRIPT

Page 1: Pendekatan Agile Software Development Assessment Dengan Menggunakan CMM1

Pendekatan Agile Software Development Assement

dengan menggunakan CMMI

Indra Adhitya

Magister Teknologi Informasi, universitas Indonesia

Jalan Salemba Raya Jakarta Pusat Indonesia

[email protected],

Abstract - Organisasi pengembang software meningkat dan

kebanyakan mengadopsi agile development methods.

Meskipun CMMI tidak sulalu dapat men-support

interpretasi yang ada pada konteks agile . Makalah ini

melakukan pendekatan process area(PA) CMMI ke dalam

Agile assessment

I. Introduksi

Selama beberapa tahun terakhir, Capability

Maturity Model (CMM) dan Capability Maturity Model

Integration(CMMI)[1] dikenal secara luas oleh organisasi-

organisasi maupun perusahaan software, untuk membantu

tingkat kemajuan/perkembangan dan proses kematangan di

seluruh dunia[2]. Beberapa organisasi atau perusahaan ,

mengimplementasikan dalam SOP, bahkan secara rutin

telah menggunakan CMMI assessment dan appraisal

sebagai acuan khusus kerja. Dikarenakan standar acuan

kerja CMMI, dengan best practice-nya, memberikan

kemudahan dan keuntungan bagi kemajuan organisasi.

Belakangan, pendekatan perkembangan

metodologi software terbaru memiliki ketertarikan secara

luas perusahaan pengembang software. Agile software

development method, memberikan keuntungan kepuasan

custumer untuk memberikan software yang berkualitas

dengan pemercepatan proses saat pengembangannya[4-6]

Perusahaan yang memerlukan usaha yang besar

untuk meningkatkan proses produksi mereka lebih

menyadari bahwa pendekatan agile dapat membantu

perbaikan proses tersebut. Lain pihak, penerapan agile dapat

dikritisi karena lemahnya disiplin dan hanya cocok untuk

beberapa tipe aplikasi, contohnya untuk team kecil maupun

aplikasi yang tidak begitu besar begitu besar.[4,7].

Organisasi yang menerapkan metodologi agile

mungkin saja mengalami kendala-kendala penerapan

SDLC(System Development Cycle)[8] agile pada proses

kerja mereka. Framework agile pada CMMI dapat

membantu dan memberikan solusi kendala yang dihadapi

serta membangun kepercayaan team terhadap metodologi

agile. CMMI merepresentasikan cara yang lebih spesifik

dan dapat memulihkan kinerja team sampai tuntas.

Makara edukasi berdiri pada tahun 2007, dengan

akta notaris nomor ME/jkt/Ind 06-34-2007 merupakan salah

satu organisasi pengembang software pendidikan yang

berbasis teknologi. Didirikan oleh Achmad Solechan, M.Si,

makara edukasi memiliki visi dan misi sejalan dengan

pembukaan UUD’ 45 yakni mencerdaskan kehidupan

bangsa. Makara edukasi menerapkan metodologi Agile,

dalam pelaksanaan dan operasional pengembangan

software. Selain faktor kuantitas karyawannya tidak

banyak, Agile dititikberatkan bagaimana kualitas kerjasama

dan komunikasi team yang baik pada setiap proses

pengembangan.

Makalah ini disusun sebagai berikut Bab 2

memperkenalkan latar balakang agile development software,

CMMI, dan hubungan antara keduanya; Bab 3 menjelaskan

mengenai Tujuan makalah dengan pendekatan CMMI dan

konteks contoh kasus agile; Bab 4 menjelaskan pendekatan

process area pada CMMI untuk dapat membantu Agile

software development; dan yang terakhir adalah Bab 5

sebagai kesimpulan dari makalah ini

II. Latar Belakang

Pada bab ini dijelaskan mengenai prinsip pengembangan

agile piranti lunak, CMMI, dan keduanya.

2. 1 Prinsip agile development software

Beberapa metode pengembangan software telah

digunakan, seperti Extreme Programing(XP)[9], Scrum[10],

Crystal[11]. Semuanya menerapkan terus-menerus

pengerjaan piranti lunak sesuai dengan yang didefinisikan

Agile Manifesto[12]. Rancangan(plandriven)

pengembangan software dan metode agile selalu melihat

pada pengembangan yang terjadi pada setiap fase

pengembangannya. Pendekatan plandriven agile

Page 2: Pendekatan Agile Software Development Assessment Dengan Menggunakan CMM1

menganggap bahwa pengembangan piranti lunak selalu

berulang dan prosesnya dapat diprediksikan.

Metodologi agile mendefinisikan bagaimana

sebuah pekerjaan harus dapat dikerjakan sesuai dengan nilai

dan prinsip-prinsip agile manifesto[14] untuk menjawab

tantangan perkembangan piranti lunak yang sangat cepat

beserta perubahan-perubahan kebutuhannya. Agile practice

dapat menjelaskan berbagai aktivitas yang efisien walaupun

mendapatkan perubahan requirement yang cepat[5]. Agility

adalah kemampuan dari kedua sisi, yakni kreatif dan

responsif terhadap perubahan, dengan tujuan keuntungan

diperoleh dari perubahan sisi bisnis yang selalu dinamis.

2. 2 CMMI

Capability Maturity Model Integration(CMMI)[1],

dikenal secara luas sebagai pendekatan atau tepatnya penilai

dalam skala kematangan dan kemampuan sebuah organisasi

software. CMMI memiliki 4 aturan yang dapat disesuaikan

menurut organisasi software, yakni : System

Engineering(SE), Software Engineering(SW) Integrated

Product and Process Development(IPPD), dan Supplier

Sourcing(SS). Model pada CMMI memiliki 2 rerpresentasi

yaitu level dan continuous. Representasi pada level

memfokuskan pada kumpulan Process Area(PA) dengan

menorganisir tingkatan kemampuannya. sedang continuous

merepresentasikan setiap process area(PA) disesuaikan

dengan tingkat kemampuan organisasi.

.

CMMI menjelaskan terdapat 25 process Area(PA)

dengan setiap proses memiliki specific dan generic goals

yang dapat menjadi kerangka tingkat kematangan

perusahaan pengembang piranti lunak. specific goals dari

area proses memberikan deskripsi tentang aktivitas-aktivitas

yang mesti laksanakan pada setiap tingkatan dalam CMMI.

Sedangkan, Generic goals mengaplikasikan rangkaian area

proses yang betujuan sebagai seberapa baik rangkaian

aktivitas tersebut dilaksanakan pada proses pengembangan

piranti lunak.

2. 3 Agile software development Assessment

Pendekatan yang dilakukan Boehm dan Turner[4]

menberikan jalan untuk assessing perusahaan software.

Metode ini tetap melakukan fokus terhadap agile assessing

dan rancangan metodologi ketinbang harus mecari

kelemahan dari setiap proses area yang ditetapkan pada

CMMI. Pada pembahasan Turner dan Jain[13], menemukan

bahwa hasil observasi terhadap metode Agile dan komponen

CMMI yang saling mendukung satu sama lainnya,

khususnya dalam hal fokus terhadap manajemen project.

Dua model tersebut diatas belum dapat

dibandingkan sebagai dua entitas karena Metode agile

menggambarkan prosess pengembangan software,

sedangkan CMMI adalah suatu referensi kerangka acuan

untuk menilai bagaimana proses pengembangan software

tersebut dilaksanakan. Menurut Paulk[14], dengan

menggabungkan keduanya(Agile methods and CMMI) dapat

memberikan sinegi yang baik, dalam menggabungkan

teknik implementasi dan manajemen yang sama baiknya.

III. Rancangan penelitian

Pada bagian ini, dijelaskan tentang tujuan riset dan

pendekatan-pendekatan CMMI yang dibahas. Tidak lupa

contoh kasus, juga, akan disertakan.

3.1 Tujuan riset dengan pendekatan CMMI

Tujuan makalah ini adalah mempelajari bagaimana

CMMI[1] dapat digunakan untuk meng-assess

perkembangan software dimana situasi dari organisasi yang

merencanakan perubahan proses secara cepat sesuai dengan

kondisi yang ada saat ini. Pendekatan dibangun secara

bersama performa organisasi saat ini dan diadaptasi pada

pengembangan dan penilaian terhadap kasus.

Pembatasan masalah pada pendekatan kasus ini

adalah biaya(actual cost) yang digunakan tidak dievaluasi,

diasumsikan bahwa upaya pengembangan software dan

upaya pengembangan pendekatan tidak memiliki hubungan

sama sekali.

3.2 Konteks study kasus

Makalah secara umum bertujuan untuk

mendapatkan semua informasi pada proses pengembangan

software yang menggunakan CMMI pada Makara Edukasi

yang menggunakan Agile software development assessment.

Setiap assessment pada Makara Edukasi telah mengenal

CMMI dan kegunaannya pada setiap bagian dari proses

peningkatan pengembangan software yang dihasilkan

Makara Edukasi.

Gambar 1 Level pada CMMI

Page 3: Pendekatan Agile Software Development Assessment Dengan Menggunakan CMM1

Software yang telah dihasilkan oleh Makara

Edukasi adalah Software penilaian hasil UAN (Ujian Akhir

Nasional). Pada tahap pengembangan software tersebut,

Manajemen Makara Edukasi melakukan proses planing

kebutuhan yang merupakan “baseline” informasi yang

menjadi acuan pengembangan. Project manajer yang

ditunjuk sebagai pemimpin proyek tersebut melakukan

tahap planning terhadap untuk kemudian diimplementasikan

oleh team pengembang untuk menjadi sebuah software,

team pengembang terdiri 1 project manager, 2 sistem analis,

dan 2 orang programer. Ada beberapa kendala yang

menjadikan hambatan pada pengembangan, yakni :

Scope(objek) yang terlalu besar, prototype yang tidak user-

friendly, testing model, user requirement yang selalu

berubah sampai pada masalah pendokumentasian yang tidak

tertata dengan baik.

Segala hambatan pada proses pengembangan

software tersebut, terbantu dengan metode agile

developmen yang digunakan. Pada proses planning,

Anggota mendapatkan job description masing-masing dan

memiliki spesialisasi kemampuan yang baik di bidangnya

masing-masing. Baiknya komunikasi dan saling memahami

merupakan suatu nilai yang berharga pada agile methods.

Pada setiap level perubahan kebutuhan, project manajer

dapat mengkomunikasikan dan memunculkan solusi yang

baik untuk team lainnya.

IV. Pendekatan CMMI untuk membantu Agile software

development

Sebagaimana kasus diatas, prosess CMMI dan

Agile practices sering terlihat bersebrangan serta CMMI

tidak selalu mendukung interpretasi yang ada pada konteks

agile. Pendekatan yang CMMI pada konteks agile bukan

untuk melakukan penilaian terhadap kinerja proses agile,

tetapi melakukan sinergi yang berbasiskan CMMI dan

metode agile. Penggunaan CMMI assessment dapat menjadi

permintaan kebutuhan sebagai acuan yang baik pada proses

yang digunakan pada agile software development.

Pendekatan assessment yang dapat dipergunakan pada kasus

Makara Edukasi seperti gambar 2

Pada tahap awal adalah setiap individu pada team

dapat memahami tujuan dari organisasi. Tahap ini,

dedefinisikan sebagai tahap awal process assessment. Tahap

kedua pelaksanaan eksekusi direncakan secara bersama-

sama dengan team agar selaras dengan tujuan organisasi.

Berikutnya adalah mapping antara process area yang ada

pada CMMI ke dalam Assessment-assement yang ada pada

agile. Tahap keempat merupakan ciri agile development

proses yankni melaksanakan secara berulang-

ulang(dievaluasi sesuai dengan kebutuhan user) dengan

tidak lupa memperhatikan tujuan organisasi pengembang.

Tahap ini dapat dilaksanakan dalam bentuk rapat dengan

stackholder, interview, maupun workshop. Selama

workshop tersebut ada audiens dapat melakukan

bantahan/masukan/memberikan argumentasi untuk direviw

kembali oleh pihak pengembang sotware. Tahap terakhir

meliputi analisis final, bersama presentasi beserta review

paket software yang merupakan versi akhir pengembangan

software. Tahapan-tahapan berbentuk cycle untuk

melakukan review yang mingin sewaktu-waktu dibutuhkan.

V. Kesimpulan

Makalah ini melakukan pendekatan agile software

methodology menggunakan CMMI sebagai kerangka acuan

standar yang digunakan sebuah organisasi pengembang

software untuk mencapai tujuan organisasi dan menjadi

standard operasional pelaksanaan baku pada proses

pengembangan piranti lunak.

Mapping yang digunakan pada pendekatan CMMI

antara proses area yang ada pada CMMI dan agile practice

adalah tools yang digunakan dalam pendekatannya.

Walaupun, pembatasan masalah yang ada adalah kurangnya

informasi mengenai pembiayaan pengembangan software

ini sehingga informasi mengenai kendala biaya sampai

dengan return of investment(ROI) tidak terbahas ada pada

makalah ini.

Pengembangan piranti lunak dengan menggunakan

dapat menjadi acuan standard bagi organisasi-organisasi

pengembang piranti lunak untuk dapat mengukur skala

kematangan organisasi tersebut, sehingga pada persaingan

pasar bebas ini, organisisasi-organisasi dapat melaksakan

yang dinakannya persaingan sehat dimana kemampuan

penerimaan proyek-proyek pengembangan software menjadi

lebih kompetitif.

Daftar Pustaka

[1] CMMI, "CMMISM for Systems Engineering/Software

Engineering/Integrated Product and Process

Development/Supplier Sourcing, Version 1.1, Staged

Representation (CMMISE/ SW/IPPD/SS, V1.1, Staged.",

2002

Gambar 2. Pendekatan CMMI

Page 4: Pendekatan Agile Software Development Assessment Dengan Menggunakan CMM1

[2] D. Zubrow, "Current Trends in the Adoption of the CMMI

Product Suite," In Proceedings of the 27th Annual

International Computer Software and Applications

Conference, pp. 126129, 2003.

[3] M. Buch and D. Dunaway, CMMI Assessments, Motivating

Positive Change, AddisonWesley, 2005.

[4] B. Boehm and R. Turner, Balancing Agility and Discipline

A Guide for the Perplexed, AddisonWesley, 2003.

[5] J. Highsmith, Agile Project Management, Creating

innovative products, AddisonWesley, 2004. [6] D. J.

Anderson, Agile Management for Software Engineering,

Applying the Theory of Constraints for Business Results,

Prentice Hall, 2003.

[6] D. J. Anderson, Agile Management for Software

Engineering, Applying the Theory of Constraints for

Business Results, Prentice Hall, 2003.

[7] P. E. McMahon, "Extending Agile Methods: A Distributed

Project and Organizational Improvement Perspective,"

CrossTalk, The Journal of Defense Software Engineering,

vol. 18, issue 5, pp. 1619, 2005.

[8] Alan Dennis, “System Analisys and Design with UML

Version 2.0”, Wiley International Edition, 2005

[9] K. Beck, Extreme Programming Explained: Embrace

Change, AddisonWesley, 2000.

[10] K. Schwaber and M. Beedle, Agile Software Development

With Scrum, Prentice Hall, 2002.

[11] A. Cockburn, Crystal Clear, A HumanPowered

Methodology for Small Teams, AddisonWesley, 2004. [12] AgileManifesto, Manifesto for Agile Software

Development http://agilemanifesto.org/ (1.3.2006)

[13] R. Turner and A. Jain, "Agile Meets CMMI: Culture Clash

or Common Cause," In proceedings of the Second XP

Universe and First Agile Universe Conference on Extreme

Programming and Agile Methods XP/ Agile Universe, pp.

153165, 2002.

[14] M. C. Paulk, "Extreme Programming from a CMM

Perspective," Software, vol. 18, issue 6, pp. 1926, 2001.