Metode angile developmen scrum

SCRUM


 

Merupakan sebuah project management process yang agile (fleksibel terhadap adanya perubahan requirement), yang dapat digunakan untuk menangani pengembangan software atau produk lainnya menggunakan iterative and incremental process.

Prinsip-Prinsip Agile Software Development

  1. Prioritas tertinggi adalah memuaskan keinginan customer melalui proses deliver product secara dini dan berkesinambungan.
  2. Menerima adanya perubahan requirement, meskipun akan membuat proses development menjadi terlambat. Agile process memaklumi perubahan tersebut demi kepentingan customer agar lebih kompetitif.
  3. Berulang kali melakukan deliver software, yang merupakan hasil dari beberapa minggu atau bulan proses development, dengan preferensi pada jadwal yang lebih singkat.
  4. Analis dan developer harus bekerja sama setiap hari sepanjang pengerjaan project.
  5. Produk dibangun oleh individu-individu yang memiliki motivasi tinggi. Memberikan mereka environment dan dukungan yang dibutuhkan, serta memberikan kepercayaan atas tercapainya target yang diberikan.
Dasar-Dasar Scrum :

  1. Iterative Development. Product dibangun melalui beberapa proses iterasi, yang di setiap iterasinya akan menambahkan fitur tertentu, dan dapat diperlihatkan : demo program, dokumentasi, desain.
  2.  
  3. Team Empowerment. Anggota project dibagi menjadi beberapa tim yang disebut Sprint Teams yang terdiri hingga 7 atau 8 orang. Masing-masing tim diberikan keleluasaan untuk menggunakan metode development atau tools yang dianggap terbaik untuk memenuhi target.
Role-role yang ada pada Scrum :
1.The Product Owner
Product ownerlah yang memiliki definisi terhadap berhasil atau tidaknya pembangunan sebuah product. Dia akan memimpin dan mengarahkan pengembangan product, sprint by sprint (iterasi demi iterasi) demi tercapainya target.
Dia jugalah yang menentukan skala prioritas, release plans, dan pemilik(assingment) dari setiap product backlog yang ada. Selain itu dia juga membuat development timeschedule berdasarkan skala prioritas backlog.
Hanya satu orang yang ditempatkan pada role ini dengan harapan hanya ada satu orang yang menentukan requirement yang akan dipenuhi. Requirement ini dapat diperoleh berdasarkan pertemuan dengan client, sales, dll. Tetapi yang menjadi poin penting adalah bahwa hanya Product Owner lah yang menentukan skala prioritas dan validitas requirement. Mekanisme ini akan meng-eliminasi adanya kebingungan anggota tim terhadap perbedaan asumsi requirement, opini yang berkembang, dan dari gangguan-gangguan lainnya.

2.The Scrum Master
Scrum Master adalah seorang yang memfasilitasi / menangani tim pada process development harian. Scrum Master tidak mempunyai tugas lain karena pada dasarnya pekerjaan tersebut akan memakan keseluruhan waktu kerja yang dimiliki.
Scrum master bertanggung jawab dalam memastikan bahwa setiap tim menerapkan prinsip dan nilai-nilai dalam Scrum. Scrum master bertanggung jawab memecahkan setiap masalah yang timbul selama proses development yang ditemukan pada project management meeting.
Role ini umumnya diisi oleh project manager atau technical team leader.

3.The Sprint
Merupakan rentang waktu yang telah ditetapkan untuk menghasilkan suatu incremental product. Sprint meliputi : desain, koding, testing, dan dokumentasi.
Special Release Sprint merupakan sprint khusus yang dilakukan untuk memperiapkan product yang akan dinaikkan ke level production. Tidak seperti sprint pada umumnya, sprint ini hanya mempersiapkan hal-hal yang berhubungan dengan persiapan production, seperti mem-package aplikasi, mempersiapkan environtment yang dibutuhkan, dll.

Sprint Planning Meeting

Rapat ini dipimpin oleh Product Owner. Dilakukan untuk mendeskripsikan fitur-fitur yang diinginkan berikut skala prioritasnya. Setelah itu tim akan menentukan fitur mana saja yang akan dipenuhi dan fitur mana yang tidak. Disinilah ditentukan goal dari system , untuk kemudian tim akan mempersiapkan daftar Product Backlog yang akan dijadikan acuan.

The Daily Scrum

Daily scrum biasanya berdurasi sekitar 15 menit setiap harinya. Dilakukan di waktu dan tempat yang sama untuk menjaga konsistensi. Idealnya Scrum Team membentuk sebuah lingkaran, dan duduk saling berhadapan dengan anggota tim yang lain. Setiap tim diharuskan menjawab pertanyaan-pertanyaan di bawah ini :
1.Apa yang sudah dikerjakan/dicapai semenjak Daily Scrum terakhir?
2.Kendala apa yang ditemukan untuk mencapai target?
3.Apa saja yang akan dikerjakan/dicapai sebelum Daily Scrum berikutnya?

Sprint Review

Rapat ini dilakukan setiap akhir dari sebuah Sprint. Selama rapat, masing-masing tim mendemonstrasikan hasil yang dicapai sesuai target pada sprint tersebut.
Sprint Review ini sangat direkomendasikan untuk dilakukan secara informal, sehingga diharapkan tidak membebani tim secara psikologis.
Sprint Review biasanya dihadiri oleh Product Owner, Scrum Master, Customer, Management, dan Scrum Team sendiri. Dalam rapat ini akan dibandingkan hasil Sprint dengan Sprint Goal yang telah disepakati saat Sprint Planning Meeting berdasarkan backlog yang terikat dengan Sprint yang bersangkutan.

Sprint Restrospective

Rapat ini difasilitasi oleh Scrum Master, untuk mendiskusikan dan menyimpulkan hasil dari Sprint yang baru saja dilakukan. Selain itu rapat ini juga dilakukan untuk membicarakan hal-hal yang dapat membuat Sprint berikutnya lebih efektif dan menyenangkan bagi seluruh anggota tim. Sprint Review digunakan untuk melihat perkembangan system yang dibangun, sedangkan Spring restrospective digunakan untuk melihat perkembangan tim yang membangun system.
Semua hal yang mempengaruhi bagaimana tim mengembangkan system dapat dibicarakan, seperti : factor komunikasi, environtment, tools, dll.
Sprint Restrospective merupakan satu tool yang sangat penting untuk membuat tim semakin berkembang seiring pengembangan system.

Product Backlog

Merupakan sebuah daftar requirement, beserta skala prioritas, dan estimasi waktu yang diperlukan untuk penyelesaian/implementasi. Estimasi waktu biasanya dalam satuan hari, dan biasanya tersusun mulai dari prioritas tertinggi. Dimana prioritas tertinggi ditentukan berdasarkan hal yang dinilai krusial atau penting dengan sistem yang akan dibangun. Daftar ini dapat secara dinamis berubah, bergantung pada bisnis rule dan teknologi yang digunakan.


Sprint Backlog

Sprint Backlog adalah sekumpulan task yang akan dikerjakan oleh scrum team pada setiap sprint. Sprint Backlog dibuat berdasarkan Product Backlog. Dan biasanya lebih detil daripada Product Backlog. Sprint Backlog ini lah yang sebenarnya lebih dicek pada Daily Srum untuk dikonfontir dengan Product Backlog yang bersangkutan.

Langkah-langkah dalam Scrum Process :

  1. Sprint Planning Meeting (Product Owner, Customer, Scrum Master), hasil : Product Backlog berikut skala prioritasnya.
  2. Scrum Master dan anggota tim memecah Product Backlog menjadi task-task yang lebih kecil (Sprint Backlog), dan kemudian memilih task-task dari Sprint Backlog yang akan dikerjakan beserta estimasi waktunya untuk 1 sprint duration.
  3. Tim mengerjakan Sprint Backlog yang sudah dipilih.
  4. Scrum Master memfasilitasi Daily Scrum.
  5. Lakukan Sprint Review dan Sprint Restrospective setiap selesai satu Sprint.

Keuntungan dan Kerugian Scrum

Keuntungan Agile Scrum : 
  • agile scrum membantu perusahaan dalam menghemat waktu dan uang.
  • metode scrum membolehkan perusahaan dimana persyaratan bisnis sulit untuk diukur menjadi mudah dikembangkan.
  • pergerakan pengembangan cutting edge dapat dengan cepat dikodekan dan diuji menggunakan metode ini. bagaikan kesalahan yang mudah untuk diperbaiki.
  • scrum merupakan sebuah metode yang mudah dikontrol yang mana peningkatan pekerjaan dapat terjadi setiap periode waktu yang ditentukan
  • seperti metodologi agile lainnya, scrum juga merupakan metode iteratif yang membutuhkan feedback secara kontinu dari user.
  • karena short sprint dan constant feedback, scrum dapat dengan mudah mengatasi setiap perubahan
  • daily scrum meeting memungkinan untuk mengukur produktfitas individu. ini mengarah pada peningkatan produktifitas dari setiap anggota tim.
  • setiap isu diidentifikasi dengan baik pada setiap pertemuan harian dan oleh karena itu dapat diselesaikan dengan cepat.
  • mudah untuk mengirim produk berkualitas sesuai waktunya.
  • agile scrum dapat bekerja dengan berbagai teknologi dan bahasa pemrograman namun secara khusus berguna untuk peningkatan web 2.0 maupun media proyek baru.
  • biaya overhead dari proses dan manajemen sangat minim sehingga mengarah ke hasil lebih cepat dan lebih murah.
Kerugian Agile Scrum :
  • Agile Scrum adalah salah satu penyebab utama scope creep karena kecuali ada tanggal akhir tertentu, stakeholder proyek manajemen akan tergoda untuk terus menuntut fungsi baru disampaikan.
  • Jika tugas tidak didefinisikan dengan baik, perkirakan biaya proyek dan waktu tidak akan akurat. Dalam kasus seperti itu, tugas dapat tersebar di beberapa sprint.
  • jika anggota tim tidak berkomitmen, maka proyek tidak akan selesai atau bahkan gagal
  • proyek yang kecil dapat bergerak dengan sangat baik karena hanya diselesaikan oleh tim yang kecil 
  • metode ini hanya membutuhkan anggota tim yang berpengalaman, jika tim berisi orang - orang yang masih pemula maka proyek tidak dapat selesai sesuai waktunya
  • scrum dapat bekerja dengan baik jika scrum master mempercayai tim yang mereka kelola, jika scrum master terlalu mengontrol secara ketat setiap anggota tim ini dapat menyebabkan tim menjadi stress yang mengakibatkan demoralisasi dan kegagalan dari proyek tersebut.
  • jika setiap anggota tim meninggalkan tim selama pengembangan proyek dapat menyebabkan efek yang kurang baik bagi perkembangan proyek tersebut
  • project quality management sangat sulit untuk diimplementasikan dan diukur kecuali team dapat melakukan pengujian regresi setelah beberapa sprint.

Download contoh Impletasi scrum 

    Sign up here with your email address to receive updates from this blog in your inbox.

    0 Response to "Metode angile developmen scrum"

    Post a Comment