Crystal Software Development Methodology
Muhammad Naufal
(F1D016060)
Crystal adalah salah satu metode
pengembangan software dalam Agile Methodologies yang lebih
berfokus pada anggota tim dan interaksi para anggota tim saat mengerjakan suatu
proyek daripada proses dan alat-alat yang digunakan. Metode ini dikembangkan
oleh Alistair Cockburn pada tahun 2004. Alistair percaya bahwa kemampuan
anggota tim dan cara berkomunikasi memiliki dampak terbesar dalam hasil dari
suatu proyek. Inti dari metode Crystal adalah interaksi antar tim dan
simbiosis antar anggota tim yang akan memberikan dampak pada pengembangan software.
Menurut Cockburn, kita harus melihat pengembangan produk sebagai suatu
permainan yang dapat menstimulasi setiap orang untuk berinteaksi, menjadi
kreatif, dan menghasilkan ide brilian. Daripada berfokus pada suatu pertanyaan
seperti “Apakah model yang dibuat akurat?”, lebih baik berfokus pada jawaban
suatu pertanyaan seperti “Apakah produk kita memenuhi kebutuhan pengguna?” atau
“Apakah tujuan kita selaras sebagai suatu tim?”
Satu hal yang disadari oleh
Cockburn adalah ciri suatu proyek bergantung pada berapa orang yang terlibat di
dalam proyek tersebut dan tingkat kekritisan suatu proyek.
Saat bekerja pada tim yang kecil,
tidak diperlukan banyak pelaporan sehingga interaksi tidak terlalu banyak,
namun semakin besar proyek yang diikuti dengan jumlah anggota tim yang lebih
besar, maka terjadi lebih banyak interaksi. Semakin banyak anggota tim, maka
tingkat kekritisan proyek menjadi semakin besar dan perlu pendekatan yang lebih
kompleks.
Terdapat berbagai jenis kategori
dalam metode Crystal, dimana pembagian kategori tersebut berdasarkan
dimensi, tingkat kekritisan, dan prioritas. Secara umum, kategori dari metode Crystal
dikelompokkan menjadi beberapa warna, tergantung jumlah anggota tim yang
terlibat di dalamnya, antara lain:
· Clear untuk tim dengan anggota 8 orang atau kurang.· Yellow untuk tim dengan anggota sebanyak 10-20 orang.
· Orange untuk tim dengan anggota sebanyak 20-50 orang.
· Red untuk tim dengan anggota sebanyak 50-100 orang.
Selain itu terdapat warna-warna lain, dimana semakin gelap warna Crystal, maka semakin banyak anggota dalam tim dan semakin tinggi tingkat kekritisan proyek.
Crystal Clear Software Development
Salah satu kategori metode Crystal adalah Crystal Clear, di mana terdapat 7 ciri di antaranya:
Ciri wajib:
1. Frequent Delivery
Memungkinkan untuk melakukan pengujian kode kepada pengguna nyata. Dengan cara ini, pengembang tidak perlu menghabiskan energi dan waktu untuk produk yang tidak ingin dibeli oleh siapapun.
2. Reflection Improvement
Tidak peduli seburuk atau sebaik apapun produk yang dihasilkan, sellau ada ruang untuk mengembangkan produk menjadi lebih baik, selain itu selalu ada metode dan teknik baru yang dapat diterapkan dalam tim.
3. Osmotic Communication
Dengan tim yang bekerja Bersama, informasi dapat mengalir dengan baik di dalam tim. Memungkinkan terjadinya perolehan informasi berharga tanpa harus terlibat dalam pembahasan masalah tertentu. Penyerapan informasi dengan cara ini disebut sebagai osmotic communication.
Ciri tidak wajib:
1. Easy Access to Expert Users
Memungkinkan untuk menjaga komunikasi dan mendapatkan feedback secara teratur dari pengguna nyata.
2. Personal Safety
Satu-satunya cara untuk membangun suasana kerja yang sehat dan budaya tim yang baik adalah dengan mempraktikan komunikasi yang terbuka dan jujur. Anggota tim harus dapat berbicara tanpar asa takut, tidak peduli apkaah mereka sedang mempresentasikan ide baru atau berbicara tentang masalah potensial.
3. Focus
Setiap anggota tim harus tahu persis apa yang harus dikerjakan, sehingga dapat memusatkan perhatian pada tugas yang dikerjakan. Selain itu, dapat meningkatkan komunikasi antar anggota tim yang membantu dalam mencapai tujuan yang sama.
4. Agile Technical Environment
Adanya pengujian otomatis, manajemen konfigurasi, dan integrasi alat yang spesifik sehingga kesalahan dapat dideteksi dalam waktu yang singkat.
Ciri wajib:
1. Frequent Delivery
Memungkinkan untuk melakukan pengujian kode kepada pengguna nyata. Dengan cara ini, pengembang tidak perlu menghabiskan energi dan waktu untuk produk yang tidak ingin dibeli oleh siapapun.
2. Reflection Improvement
Tidak peduli seburuk atau sebaik apapun produk yang dihasilkan, sellau ada ruang untuk mengembangkan produk menjadi lebih baik, selain itu selalu ada metode dan teknik baru yang dapat diterapkan dalam tim.
3. Osmotic Communication
Dengan tim yang bekerja Bersama, informasi dapat mengalir dengan baik di dalam tim. Memungkinkan terjadinya perolehan informasi berharga tanpa harus terlibat dalam pembahasan masalah tertentu. Penyerapan informasi dengan cara ini disebut sebagai osmotic communication.
Ciri tidak wajib:
1. Easy Access to Expert Users
Memungkinkan untuk menjaga komunikasi dan mendapatkan feedback secara teratur dari pengguna nyata.
2. Personal Safety
Satu-satunya cara untuk membangun suasana kerja yang sehat dan budaya tim yang baik adalah dengan mempraktikan komunikasi yang terbuka dan jujur. Anggota tim harus dapat berbicara tanpar asa takut, tidak peduli apkaah mereka sedang mempresentasikan ide baru atau berbicara tentang masalah potensial.
3. Focus
Setiap anggota tim harus tahu persis apa yang harus dikerjakan, sehingga dapat memusatkan perhatian pada tugas yang dikerjakan. Selain itu, dapat meningkatkan komunikasi antar anggota tim yang membantu dalam mencapai tujuan yang sama.
4. Agile Technical Environment
Adanya pengujian otomatis, manajemen konfigurasi, dan integrasi alat yang spesifik sehingga kesalahan dapat dideteksi dalam waktu yang singkat.
Proses atau Tahapan:
• Project Cycle
Terdiri dari tiga bagian:
1. Persiapan (Pembangunan tim, eksplorasi, penentuan metodologi, dan rencana awal)
2. Serangkaian delivery atau lebih
3. Penyelesaian, proyek selesai
• Delivery Cycle
1. Kalibrasi rencana rilis
2. Serangkaian iterasi atau lebih yang masing-masing menghasilkan kode yang teruji
3. Delivery ke pengguna nyata
4. Penyelesaian termasuk refleksi dari produk yang dibuat dan metode yang digunakan.
• Iteration
1. Perencanaan iterasi
2. Aktivitas harian dan integrasi
3. Penyelesaian berupa refleksi dan selebrasi
• Working week/day
Memilih hari atau waktu mingguan sebagai satuan waktu suatu siklus seperti pertemuan mingguan departemen, pertemuan pelaporan pemimpin tim.
• Integration
Pengembanganm integrasi, dan pengujian system. Dilakukan proses penyatuan dan pengujian tanpa henti untuk setiap alat atau mesin yang memiliki fungsi yang terpisah. Semakin pendek siklus integrasi maka semakin baik. Bisa memakan waktu 30 menit hingga 3 hari, tergantung pengalmaan tim.
• Development
Penulisan dan pengujian beberapa potong kode untuk suatu tugas spesifik, di mana dilakukan oleh beberapa tim kecil. Memakan waktu yang cukup pendek dari 15 menit hingga beberapa hari.
Kelebihan Crystal Method:
• Memastikan adanya delivery secara sering agar dapat mengidentifikasi masalah pada setiap tahap.
• Selalu ada ruang untuk meningkatkan karakteristik, dapat mengambil waktu dari pengembangan software dan memungkinkan adanya diskusi tentang penyempurnaan proses.
• Adanya komunikasi dan interaksi yang lebih dekat antar anggota tim dan dapat berbagi pengetahuan antar anggota tim.
Kekurangan Crystal Method
• Adanya varian dalam metodologi memungkinkan terjadinya perbedaan prinsip sesuai dengan ukuran proyek
• Sulit dilakukan oleh tim yang bekerja dalam area yang berbeda karena memerlukan komunikasi yang rutin.
• Perencanaan dan pengembangan tidak bergantung pada requirement.
Contoh atau karakteristik aplikasi:
Dengan adanya refleksi atau feedback dari pengguna secara nyata, maka karakter aplikasi yang dihasilkan dalam metode Crystal adalah aplikasi dapat menjawab kebutuhan pengguna. Selain itu, dengan adanya komunikasi yang baik dan tools atau metode yang digunakan fleksibel dalam memecahkan masalah, maka pengembangan aplikasi dapat dilakukan dengan lebih cepat.
Referensi:
Cockburn Alistair., 2000. "Agile Software Development". Cockburn
Highsmith, Jim., 2002. "Agile Software Development Ecosystem". Addison Wesley
Newline Tech. 2018. "Crystal Clear Methodology". Newline Tech.
No comments:
Post a Comment