Categories
Software Model Process

Scrum Model

Agile

Sebelum menuju ke model scrum kita harus mengetahui terlebih dahulu apa itu Agile. Agile software development adalah suatu metode yang dapat meringankan beban dan juga mempercepat proses pengembangan software. Dalam metode agile ini, akan terjadi beberapa iterasi pendek pengiriman produk yang mengalami peningkatan sedikit demi sedikit.

Dalam agile pula dilakukan penekanan komunikasi secara langsung dan berkala untuk tim pengembangan, dan pelanggan (client)  tentunya akan terlibat secara aktif pada tahap proses pengembangan ini.

Setiap Agile Software Process akan ditandai dengan membahas sejumlah asumsi utama mengenai sebagian besar proyek perangkat lunak :

  1. Memperkirakan bagaimana proses dari prioritas pelanggan akan berubah ketika proyek sedang berlanjut. Bahkan mungkin sulit untuk memperkirakan sebelumnya persyaratan perangkat lunak mana yang akan bertahan dan mana yang akan berubah
  2. Banyak dari perangkat lunak, desain dan kontruksi yang berkaitan. Maksudnya semua kegiatan itu harus dijalani berbarengan sehingga model desain dapat terbukti saat dibuat.
  3. Analisis, desain, kosntruksi dan pengujian. Tentunya tidak dapat diprediksi seperti apa yang kita inginkan kedepannya.

Maka dari 3 asumsi di atas akan memunculkan pertanyaan bahwa, bagaimana menciptakan proses yang dapat mengelola ketidakpastian? Jawabannya tentunya terdapat pada kemampuan berdaptasi dalam proses. Maka dari itu proses Agile menjadi sangat dibutuhkan.

Dalam buku “Roger S. Pressman – Software Engineering_ A Practitioner’s Approach, 7th Edition-McGraw-Hill Higher Education (2010)”, agile memiliki beberapa prinsip. Disebutkan saja beberapa diantaranya :

  1. Prioritas utamanya adalah untuk memuaskan pelanggan melalui awal dan terus menerus melalui pengiriman perangkat lunak yang berharga.
  2. Menyambut perubahan syarat, walaupun terlambat dalam pengembangan. Agile Process memanfaatkan perubahan untuk keunggulan kompetitif dari pelanggannya.
  3. Baik pengusaha dan juga pengembang harus saling bekerja sama setiap hari dalam seluruh proyeknya.
  4. Membangun proyek dengan penuh motivasi.
  5. Perangkat lunak yang dapat berfungsi adalah ukuran utama dalam kemajuan prosesnya.

Selanjutnya dalam agile Process masih ada beberapa model lainnya yang telah diusulkan dan sering digunakan dalam seluruh industri. Di antara yang paling umum adalah :

  • Pengembangan Perangkat Lunak Adaptif (ASD)
  • Scrum Model
  • Metode Pengembangan Sistem Dinamis (DSDM)
  • dan lainnya.

Dari sekian banyak model dalam agile process, kita akan membahas lebih detail mengenai Scrum Model.

 

Scrum

Dari agile process selanjutnya adalah Scrum model. Scrum adalah kerangka kerja yang digunakan untuk mengimplementasikan Pengembangan Agile, selanjutnya orang tersebut dapat mengatasi masalah adaptif yang kompleks, tetapi juga secara produktif dan kreatif memberikan produk dengan nilai setinggi mungkin..

Analogi yang bagus untuk membedakan Scrum dan Agile adalah perbedaan antara resep dan diet. Misalnya, diet vegetarian adalah seperangkat metode dan praktik berdasarkan prinsip dan nilai. Resep Taco Kacang akan menjadi kerangka kerja yang bisa Anda gunakan untuk menerapkan diet vegetarian Anda.

Prinsip scrum konsisten dengan agile manifesto dapat digunakan untuk memandu kegiatan pengembangan dalam suatu proses yang menggabungkan kegiatan kerangka kerja berikut :

  • Persyaratan
  • Analisis
  • Desain
  • Evolusi
  • dan Pengiriman.

no images were found

Dalam setiap kegiatan kerangka kerja, tugas kerja terjadi dalam pola proses yang disebut sprint. Pekerjaan yang dilakukan dalam sprint (jumlah sprint yang diperlukan untuk setiap kegiatan kerangka kerja akan bervariasi tergantung pada kompleksitas dan ukuran produk) disesuaikan dengan masalah yang dihadapi dan didefinisikan dan sering dimodifikasi secara real time oleh tim Scrum. Keseluruhan alur proses Scrum diilustrasikan pada Gambar 3.4.

Scrum menekankan penggunaan serangkaian pola proses perangkat lunak [Noy02] yang telah terbukti efektif untuk proyek dengan jadwal yang ketat, perubahan persyaratan, dan kekritisan bisnis. Setiap pola proses ini mendefinisikan serangkaian tindakan pengembangan :

Backlog — daftar persyaratan atau fitur proyek yang diprioritaskan yang memberikan nilai bisnis bagi pelanggan. Item dapat ditambahkan ke backlog kapan saja (inilah bagaimana perubahan itu diperkenalkan). Lalu, manajer produk menilai simpanan dan memperbarui prioritas sesuai kebutuhan.

Sprints — terdiri dari unit kerja yang diperlukan untuk mencapai persyaratan yang ditentukan dalam jaminan yang harus sesuai dengan kotak waktu yang telah ditentukan (biasanya 30 hari). Karenanya, sprint memungkinkan anggota tim untuk bekerja dalam lingkungan jangka pendek namun stabil.

Scrum meetings — adalah pertemuan singkat yang biasanya 15 menitan yang diadakan setiap hari oleh tim Scrum. Tiga pertanyaan kunci biasanya diajukan dan dijawab oleh semua anggota timnya [Noy02]:

  • Apa yang Anda lakukan sejak pertemuan tim terakhir?
  • Apa kendala yang Anda hadapi?
  • Apa yang Anda rencanakan untuk capai dengan pertemuan tim berikutnya?

Selanjutnya seorang Team leader — yang disebut Master Scrum, memimpin pertemuan dan menilai tanggapan dari setiap orang, juga mengatur pekerjaan mereka sendiri dan merupakan sebuah tim yang lintas fungsional. Member tim akan melakukan analisis, implementasi, perancangan, pengujian, dan lain-lain.

Dalam tim scrum biasanya diadakan pertemuan Scrum yang dapat membantu tim untuk mengungkap potensi masalah sedini mungkin. Juga, pertemuan harian ini mengarah ke “sosialisasi pengetahuan” [Bee99] dan dengan demikian mempromosikan struktur tim yang mengatur diri sendiri.

Product Owner (Pemilik Produk) — biasanya merupakan orang yang dianggap paling penting dari sebuah proyek. Bagian dari tanggung jawab pemilik produk adalah memiliki visi tentang apa yang ingin dia buat dan menyampaikan visi tersebut kepada tim Scrum. Tugas utama Pemilik Produk adalah untuk menjadi nilai bagi stakeholder atau pemegang saham.

Demos — kirim peningkatan perangkat lunak ke pelanggan sehingga fungsionalitas yang telah diterapkan dapat diperagakan dan dievaluasi oleh pelanggan. Penting untuk dicatat bahwa demo mungkin tidak mengandung semua fungsionalitas yang direncanakan, melainkan fungsi-fungsi yang dapat disampaikan dalam kotak waktu yang ditetapkan.

 

Cara Implementasi Scrum

Untuk metode ini kita bias mengerjakan suatu proyek yang sederhana dan singkat terlebih dahulu dengan sedikit-sedikit akan maju bertahap tingkatannyan. Untuk memulainya, kita bias mengikuti beberapa langkah berikut :

  1. Tentukan tim scrum
  2. Tentukan lamanya sprint
  3. Menunjuk seorang master scrum
  4. Tunjuk pemilik produk(Product owner)
  5. Buat backlog produk awal
  6. Rencanakan dan mulailah sprint pertama
  7. Tutup arus dan mulai sprint berikutnya

Selanjutnya kegiatan yang biasa dilakukan team Scrum adalah

  1. Rapat perencanaan
  2. Melengkapi pekerjaan
  3. Pertemuan scrum harian
  4. Review sprint
  5. Rapat retrospektif

 

 

Source :

Roger S. Pressman – Software Engineering_ A Practitioner’s Approach, 7th Edition-McGraw-Hill Higher Education (2010)

https://medium.com/learnfazz/pengembangan-perangkat-lunak-agile-6131d342380f

https://www.dewaweb.com/blog/scrum-methodology-panduan-project-management/

http://listhiaar.blogspot.com/2016/10/contoh-contoh-model-proses-perangkat.html

Categories
Uncategorized

Hello world!

Welcome to Blog Civitas UPI. This is your first post. Edit or delete it, then start blogging!