Scrum == Dikeroyok aja!

Yudistira Hanifmuti
PPL Teman Bisnis
Published in
5 min readMar 19, 2019

Bertemu dengan saya kembali, Yudistira. Kali ini saya mau berbagi cerita mengenai metodologi pengembangan software yang digunakan pada PPL semester ini. Sebelum itu mari kita lihat gambar di bawah ini.

Pengantar

Scrum pada rugby

Saya ingat betul pada suatu sesi kelas RPL (semester 5), dosen saya pernah menunjukkan gambar yang mirip dengan gambar di atas. Respon saya waktu itu adalah “Saya tidak pernah bermain Rugby!”. Saya sama sekali tidak tahu apa sebenarnya yang ingin dijelaskan mengenai Scrum dengan gambar tersebut. Lalu, sekian minggu Sprint kelompok kami berlalu

“Untuk sprint sekarang, kita semua mengerjakan US yang berhubungan dengan android. Kita fokus ke android semua supaya bisa selesai duluan.”

Hal-hal seperti itu hanya dapat dilakukan pada proses pengembangan dengan pendekatan Agile. Sekarang kita memiliki dua kata kunci yang bisa dibahas, yaitu Agile dan Scrum.

Agile? Agility? Lincah? Gesit?

Apa yang gesit? Apakah software yang dibuat gesit? Atau developer-nya yang gesit? Atau justru Product Owner yang harus gesit?

Jawabannya adalah semua benar!

Agile merupakan paradigma pengembangan software. Terdapat 4 nilai yang terkandung di dalam manifesto pengembangan yang dikemukakan.

  • individuals and interactions over processes and tools
  • working software over comprehensive documentation
  • customer collaboration over contract negotiation
  • responding to change over following a plan

Saya akan mengelaborasi lebih lanjut keempat pernyataan tersebut berikut penerapan di kelompok kami pada bagian selanjutnya.

Agile juga memiliki 12 prinsip yang dikemukakan, yaitu:

  1. Satisfying customers through early and continuous delivery of valuable work.
  2. Breaking big work down into smaller tasks that can be completed quickly.
  3. Recognizing that the best work emerges from self-organized teams.
  4. Providing motivated individuals with the environment and support they need and trusting them to get the job done.
  5. Creating processes that promote sustainable efforts.
  6. Maintaining a constant pace for completed work.
  7. Welcoming changing requirements, even late in a project.
  8. Assembling the project team and business owners on a daily basis throughout the project.
  9. Having the team reflect at regular intervals on how to become more effective, then tuning and adjusting behavior accordingly.
  10. Measuring progress by the amount of completed work.
  11. Continually seeking excellence.
  12. Harnessing change for a competitive advantage.

Lalu, apa hubungannya dengan Scrum?

“Scrum is a framework for developing, delivering, and sustaining complex products.”

— Ken Schwaber and Jeff Sutherland, ScrumGuides

Scrum merupakan framework yang digunakan untuk mengembangkan suatu produk. Pelaksanaan kuliah PPL 2019 menggunakan metodologi Scrum sehingga kami “dipaksa” menggunakan Scrum dalam pengembangan software. Jika ditanya apakah harus menggunakan Scrum, sebenarnya Scrum merupakan salah satu dari sekian banyak “tools” yang dapat digunakan. Semuanya kembali kepada preferensi Anda sendiri.

Hubungan antara Agile dengan Scrum adalah Scrum merupakan salah satu framework yang dapat digunakan untuk menerapkan paradigma pengembangan Agile. Mengapa? Karena pada teorinya, Scrum memiliki tiga pilar yang menjadi penopang, yaitu transparency, inspection, and adaptation. Tiga pilar tersebut mendukung penggunaan Scrum untuk Agile Development.

Komponen Scrum Team

Pada Scrum, terdapat tiga role berbeda yang dapat dimiliki oleh partisipan. Setiap role memiliki tugas dan tanggung jawab masing-masing. Saya akan mencocokkan setiap role dengan keadaan kelompok kami sekarang.

https://www.softwaretestinghelp.com/scrum-roles-responsibilities/

Product Owner

~Ceritanya foto Mas Zul~

Kelompok PPL Teman Bisnis, sesuai namanya, mendapatkan tugas untuk mengerjakan salah satu aplikasi untuk Teman Bisnis. Perwakilan dari Teman Bisnis, yaitu Mas Zul berperan sebagai Product Owner(PO). Tugas dari PO yang paling penting adalah membuat Product Backlog. PO ini yang secara rinci menjabarkan kebutuhan/requirements. Orang pertama yang ditanya ketika DevTeam kebingungan saat Sprint adalah PO.

Masuknya PO ke dalam tim menggambarkan salah satu nilai dari manifesto Agile yaitu,

Customer Collaboration over Contract Negotiation

karena PO ikut berkontribusi membangun aplikasi dalam bentuk backlog dan feedback.

Development Team

Dev Team minus hustler yang memotret :(

Development Team (DevTeam) berisi orang-orang yang mengerjakan produk sebenarnya dalam bentuk “Increment of Done Product” pada setiap Sprint. Setiap Sprint Review, DevTeam harus sudah menyiapkan hasil pengerjaannya selama satu Sprint dan dipresentasikan kepada PO.

Di dalam DevTeam sendiri, terdapat beberapa role yang sudah dibagikan di awal kuliah PPL ini, yaitu:

  1. Hacker
  2. Hipster
  3. Hustler

Scrum Master

~Ceritanya foto Dimas~

Scrum Master adalah orang yang memastikan bahwa dalam Scrum Team ini Scrum dijalankan dengan baik. Di kelompok PPL Teman Bisnis, Scrum Master-nya adalah Dimas Saputra yang menjabat sebagai asisten dosen pada perkuliahan PPL 2019. Scrum Master memiliki tugas-tugas seperti bagaimana meyakinkan PO bahwa seluruh anggota Scrum Team paham mengenai tujuan dari produk berserta backlog-nya. Scrum Master juga yang biasanya memimpin jalannya event-event Scrum yang akan dijelaskan pada bagian selanjutnya. Sekali lagi, tugas dari Scrum Master adalah memastikan Scrum dijalankan dengan baik oleh Scrum Team, bukan membantu mengerjakan produk.

Selesai penjelasan mengenai komponen dari Scrum Team. Sebelum berpindah ke section selanjutnya, ada satu nilai pada manifesto Agile yang ingin saya angkat.

Individuals and Interactions Over Processes and Tools

Dengan adanya pembagian tugas melalui role, setiap individu sudah diatur bagaimana cara berinteraksi di lingkungan pengembangan. Hal-hal seperti ini dianggap lebih penting untuk diperhatikan. Lebih penting bukan berarti yang lain tidak sama sekali. Lebih penting karena pada dasarnya produk tidak lahir dari suatu proses atau tools tertentu, melainkan hasil kerja tangan orang-orang di kelompok tersebut. Ceklis poin 1.

Sprint

Ada beberapa istilah yang digunakan pada Scrum. Salah satu yang paling penting adalah Sprint. Ya, kata sprint yang sama untuk berlari.

Sprinter saat Olimpiade

Jujur saya tidak tahu darimana datangnya istilah Sprint yang sebenarnya. Saya ingin mencoba menjelaskan dari perspektif saya saja. Sprint dalam atletik adalah berlari secepatnya dalam batas jarak yang tidak terlalu jauh dan dalam waktu yang terbatas. Sprint pada Scrum ini merupakan hal yang serupa. Dalam batasan waktu tertentu (biasanya 1–4 minggu), DevTeam “berlari” menyelesaikan produk yang harus dikerjakan. Karena DevTeam harus “berlari” secepatnya, bobot atau bagian yang harus dikerjakan dalam satu Sprint biasanya tidak terlalu banyak. Dari sekian product backlog, backlog yang diambil hanya sedikit saja untuk diselesaikan dalam Sprint sesi tersebut. Namun, sebagian backlog tersebut tetap harus merupakan produk yang deliverable. Pada bagian ini saya harus mengangkat kembali nilai dari manifesto, yaitu…

Working software over comprehensive documentation

Pada saat Sprint Review, hal yang diminta pertama kali untuk ditunjukkan adalah produk yang sudah berjalan. Produk yang bekerja lebih dibutuhkan (sekali lagi lebih bukan berarti tidak dibutuhkan). Seperti pada hasil Sprint pertama kami, yaitu “Halaman untuk menampilkan detail user”. Sebenarnya halaman tersebut hanya sebagian kecil dari keseluruhan produk. Namun, hal tersebut sudah bisa dianggap sebagai produk yang berjalan.

Scrum Event

Selanjutnya adalah event-event yang ada pada Scrum.

  1. Sprint Planning
  2. Daily Scrum
  3. Sprint Review
  4. Sprint Retrospective

Saya rasa tulisan ini sudah cukup. Sampai jumpa di tulisan saya yang berikutnya. Semoga bermanfaat. Terima kasih.

Bye

— Muhammad Yudistira Hanifmuti

Referensi

--

--