Minggu, 26 November 2017

Scrum Development Methodology



Scrum Methodology – Agile Software Development 

 

Metodologi Scrum termasuk ke dalam kumpulan metode Pengembangan Perangkat Lunak Agile (Agile Software Development). Pengembangan Perangkat Lunak Agile sendiri meliputi beberapa metode, di antaranya Extreme Programming (XP), Scrum, Dynamic Systems Development Methods (DSDM), dan Crystal. (Sutherland, 2014)
Scrum adalah sebuah kerangka kerja untuk pengembangan secara inkremental dengan menggunakan satu atau lebih tim yang cross-functional dan self-organizing yang terdiri dari kurang lebih tujuh orang pada tiap-tiap tim. Scrum menggunakan iterasi tetap bernama Sprint, yang dijalankan dalam waktu dua minggu atau tiga puluh hari. Tim Scrum berusaha untuk membangun inkremen produk (perangkat lunak) yang siap digunakan dan telah diuji pada setiap proses iterasi ini. (James, 2012


Perangkat-perangkat Scrum

Penjelasan berikut ini merupakan hasil kolaborasi antara apa yang dikemukakan Michael James (2012) dan Hamid Shojaee (2012) mengenai beberapa perangkat yang digunakan dalam sebuah pengembangan menggunakan metode Scrum ini, di antaranya:
  1. Product Backlog. Product Backlog berisi kumpulan User Story yang akan menentukan fitur-fitur yang akan dibuat pada perangkat lunak. Kumpulan User Strory ini kemudian dibuat skala prioritasnya oleh Product Owner.
  2. Product Backlog Item (PBI). PBI atau secara tradisional dikenal sebagai User Story ini secara tertulis kurang lebih berisi mengenai “Sebagai seorang (nama peran), saya menginginkan (nama fitur), sehingga dapat berguna untuk (keuntungan fitur)”.
  3. Sprint Backlog. Sebuah Sprint berisi beberapa PBI yang telah diprioritaskan dalam rapat antara Product Owner dan Tim Pengembang. Sprint merupakan milestone dalam pengembangan produk yang akan berlangsung hingga maksimal tiga puluh hari, tidak boleh lebih. Pada akhir tiap-tiap Sprint harus menghasilkan shipped product (produk yang siap digunakan). Oleh sebab itu, pada Sprint pertama, pastikan semua fitur dasar dan utama yang telah diprioritaskan dimasukkan ke dalam Sprint ini. Dengan kata lain, setelah Sprint 1, perangkat lunak / aplikasi / produk dasar telah siap digunakan. Adapun pelengkapan fitur-fitur pelengkap atau lainnya pada produk dengan tingkatan prioritas yang lebih rendah dapat dikembangkan pada Sprint 2 dan seterusnya.
  4. Burndown Chart. Burndown chart digunakan untuk mengawasi setiap fase perkembangan Sprint agar berjalan mulus dan tidak melebihi tenggat waktu yang telah ditentukan. Chart ini menampilkan pengukuran harian terhadap jumlah dan sisa pekerjaan hingga produk siap dirilis. Dengan demikian tim dapat membuat perkiraan mengenai kapan sebuah Sprint atau sebuah shipped product akan selesai, sehingga apabila diperkirakan akan melebihi batas waktu, tim dapat melakukan penyesuaian dengan meningkatkan waktu/jam kerja mereka tiap harinya.
  5. Daily Scrum. Perangkat ini merupakan sarana komunikasi yang sangat penting bagi seluruh anggota tim Scrum. Daily Scrum juga sering disebut stand-up meeting karena akan berlangsung sangat singkat, yaitu kurang lebih lima belas menit. Secara teknis, Daily Scrum merupakan rapat singkat harian di mana seluruh anggota tim bertemu dan hanya mengemukakan tiga hal utama, yaitu “apa yang telah saya lakukan kemarin”, “masalah yang saya hadapi/telah diselesaikan”, dan “apa yang akan/sudah saya selesaikan hari ini”. Sedangkan Scrum Master hanya akan membuka rapat, mencatat, mengawasi, dan memfailitasi diskusi untuk menyelesaikan beberapa permasalahan yang dihadapi tim.
  6. Sprint Retrospective Meeting. Rapat ini dilakukan oleh seluruh tim saat setiap Sprint selesai dijalankan dan shipped product dihasilkan. Dalam rapat ini, tim akan mengevaluasi mana saja yang telah berjalan baik dalam proses, dan mana saja yang masih membutuhkan perubahan/perbaikan/improvement.
 
Peran Dalam Scrum

Menurut Michael James (2012), dalam proses pengembangan sebuah perangkat lunak menggunakan metode Scrum, teradapat beberapa aktor penting, di antaranya:

  1. Product Owner. Orang ini bertugas untuk menentukan Product Backlog dan menentukan prioritas fitur yang akan disajikan pada perangkat lunak. Ia juga berhak untuk menerima atau menolak setiap hasil yang telah dikembangkan pada tiap iterasi.
  2. Tim Pengembangan Scrum. Tim yang beranggotakan antara 7-9 orang ini bersifat cross-functional, yaitu tim yang berisi orang-orang dengan kemampuan dan perang yang berbeda, misalnya terdiri dari tester, developer, business analyst, domain expert, dan lain-lain. Tim ini mendiskusikan kepada Product Owner mengenai tiap-tiap Sprint yang akan dijalankan.
  3. Scrum Master. Orang ini secara tradisional disebut sebagai Project Mabager dan bertugas untuk mengawasi keseluruhan proses Scrum, membantu mengatasi halangan yang dihadapi selama proses tersebut, menciptakan suasana yang kondusif bagi tim pengembang, dan melindungi tim dari gangguan eksternal sehingga tim dapat bekerja dengan baik pada zonanya. Akan tetapi, Scrum Master tidak memiliki otoritas untuk mengatur tim. Orang yang memiliki otoritas untuk mengatur tim ditentukan oleh tim tersebut.
 



DSDM


Dynamic System Development Method (DSDM)

Intermezzo   

Merupakan Metodologi Pengembangan Software yang dikembangkan oleh Konsorsium Vendor dan Para Expert dalam bidang pengembangan Sistem Informasi(IS) di United Kingdom pada tahun 1990 dan pertamakali go public pada tahun 1995. Metodologi ini merupakan pengembangan tahap lanjut dari metode Rapid Application Development (RAD) yang sangat menerapkan  metode incremental dan iteratif. metode ini sangat ideal digunakan ketika suatu software dituntut untuk sangat fokus dan mementingkan tampilan yang mudah dan aspek kegunaan yang baik dari produk tersebut.

Versi terbaru dari DSDM, diluncurkan pada tahun 2007, disebut DSDM Atern. Atern adalah burung kolaboratif yang dapat melakukan perjalanan jarak yang luas dan melambangkan banyak aspek metode yang cara alami kerja misalnya prioritas dan kolaborasi.

Versi sebelumnya DSDM (dirilis pada bulan Mei 2003) yang masih banyak digunakan dan masih berlaku adalah DSDM 4.2 yang merupakan perbaikan DSDM versi 4. Versi perbaiakanberisi panduan tentang cara menggunakan DSDM dengan Extreme Programming .



Kriteria Pemilihan Metode

Metode ini digunakan ketika kondisi sistem yang akan dikembangkan memiliki kriteria :
  •     •Hasil dari pengembangan sesegera mungkin dapat dilihat
  •     •Pengguna sistem dapat aktif memberikan kontribusi mereka dalam merangkul pengembang
  •     •Fungsi utama telah didefenisikan secara cepat, dan funsi lainnya dapat menyusul secara berkala
  •     •Pihak yang berkepentingan dapat berkomunikasi secara lancar tanpa ada birokrasi yang rumit atau halangan karena umpan balik dari pengguna sistem secara konstan baik dalam pengembangan sistem.
  •     •Proyek memiliki indikator awal apakah akan bekerja secara baik atau tidak, sehingga meminimalisir sesuatu yang tidak diinginkan ketika aplikasi dikembangkan.
  •     •Sistem harus selesai pada tepat waktu dan anggaran yang baik pas.
  •     •Pengguna sistem mengerti dalam arah proyek 

Teknik Utama

Manajemen proyek yang tradisional menggunakan "Milestones" dalam menandai pencapaiannya. DSDM berbeda, DSDM menggunakan teknik "Timeboxing" dalam menandai pencapainnya yang biasannya berjangka waktu 2,4 atau enam pekan. beberapa teknik utamanya adalah sebagai berikut :

Timebox

    • Dapat berisi beberapa tugas.
    • Pada akhirnya produk perlu disampaikan
    • Dapat berubah karena tugas didefenisikan sebagai subyek, bukan apa yang akan disampaikan
    • Tugas dapat diubah selama waktu "Iteratif" yang memungkinkan untuk respon cepat dalam kebutuhan bisni

MoSCoW Rules

Proyek DSDM sangat difokuskan pada waktu, budget dan keterlibatan pengguna dalam proses pengembangan. so sangat diwajibkan selalu memantau apa yang diinginkan pengguna.
Kebutuhan pengguna dapat berubah selama proses dengan syarat :
    • Menyadari kemungkinan teknis yang baru
    • Perubahan lingkungan kerja pengguna
Penerapan teknik MosCow memiliki aturan sebagai berikut :
1. Must Have : Semua fitur yang diklasifikasikan dalam kelompok harus di implementasikan oleh pengguna dan jika mereka tidak disampaikan, sistem akan tidak bekerja.
2. Should Have : Fitur ini menjadi prioritas bagi sistem, namun dapat diabaikan apabila kendala waktu sangat berisiko.
3. Could Have : Fitur ini bisa bisa ada namun juga dapat diabaikan karena tidak mempengaruhi tuntutan bisnis
4. Would Have : Persyaratan ini akan dipenuhi bila terdapat waktu sisa dalam pengembangan sistem atau pada pengembangan selanjutnya.

Prototyping

Prototyping memiliki dua prinsip utama yaitu :
    • Seringnya pengiriman aplikasi kepada pengguna
    • Pengembangan yang incremental

Mengimplementasikan fungsi utama dari aplikasi, sehingga kita dapat menemukan kendala lebih cepat dalam proses pengembangan dan kita dapat lebih cepat mengirimkan aplikasi kepada user untuk mendapatkan feedback. feedback yang secara rutin sangat diperlukan.
DSDM membedakan tipe prototipe sebagai berikut :
    a. Bussines Prototype : Mempersilahkan penilaian pada sistem yang akan dikembangkan
    b. Usability Prototype : Periksa User Interface
    c. Performance Prototype : Pastikan solusi dapat mengatasi kinerja dan volume
    d. Capability Prototype : Mengevaluasi opsi yang memungkinkan

Faktor Kunci Kesuksesan DSDM

Konsorsium DSDM telah membuat sepuluh faktor penting bagi penganutnya :
    1. Menyetujui terlebih dahulu filosofi DSDM sebelum memulai kerja.
    2. Pengambilan keputusan haruslah melibatkan pengguna dan pengembang.
    3. Komitmen dari manajemen senior haruslah penting
    4. Penyampaian yang rutin
    5. Kemudahan akses antara developer dan pengguna
    6. Kestabilan team
    7. Kemampuan bekerjasama pada tim pengembang
    8. Ukuran tim pengembang
    9. Dukungan komersil
    10. Teknologi pada pengembangan

Kelemahan dari DSDM:

     Biaya lisensi
     Penghalang yang relatif tinggi untuk masuk
     Pergeseran budaya dalam organisasi

DSDM jelas mewakili dirinya sebagai pengembangan tangkas paling matang method.Even Microsoft meminjam ide dari DSDM, penerbitan kerangka solusi semi-tangkas mereka sendiri. Xansa digunakan DSDM untuk mengatur pengembangan lepas pantai di India.The versi terbaru dari DSDM adalah "DSDM Atern". Hal ini telah terbukti menjadi kerangka tangkas kuat untuk manajemen proyek yang efisien yang didukung dan Certified oleh DSDM Consortium.Not hanya itu tetapi juga telah dinominasikan untuk AGILE CONCEPT Awards 2011.