Gotta Go Fast with Agile

Reza Ramadhansyah
PPL Teman Bisnis
Published in
5 min readApr 17, 2019

Halo lagi semua! Kali ini saya akan membahas metode yang dipakai dalam pengembangan software pada mata kuliah PPL.

Previously on RPL

Semester ini kami menjalani kuliah PPL, mata kuliah ini menurut saya merupakan penerapan dari apa yang sudah dipelajari pada mata kuliah RPL (software engineering) khususnya pada Scrum. Banyak sekali task yang sudah kami lakukan dalam suatu User Story, pengembangan task tersebut kami menggunakan pendekatan Agile. Dari penjelasan diatas saya akan membahas lebih lanjut mengenai Scrum dan Agile.

Agile

Jika diterjemahkan, agile mempunyai arti lincah atau gesit.

Nah, apa yang dimaksud dengan lincah atau gesit ini?

Agile merupakan suatu pendekatan atau metode dalam pengembangan software yang memerlukan suatu adaptasi yang cepat dalam prosesnya. Terdapat 4 manifesto dan 12 principles dalam penerapan agile. Dalam menerapkan agile, perlu adanya kerjasama antara pengguna dan developer karena setiap cycle atau iterasi untuk mendapatkan suatu produk yang nantinya akan terus dikembangkan. Dikatakan lincah

sumber : https://docs.microsoft.com/en-us/azure/devops/learn/agile/what-is-agile

Scrum

Lalu apaitu scrum? Hubungannya dengan agile apa?

Scrum sendiri merupakan sebuah framework dalam pengembangan software yang menerapkan prinsip agile pada setiap prosesnya. Terdapat 3 pilar yang menjadi penopang scrum yaitu transparency, inspection, dan adaptation. Ketiga pilar tersebut mendukung scrum untuk menerapkan prinsip agile.

sumber : https://nakahawk.wordpress.com/about-us/

Pengalaman Menerapkan Scrum dalam PPL

Dalam mata kuliah PPL tahun ini, kami ditugaskan untuk menerapkan scrum methodology dalam mengembangkan proyek masing-masing kelompok. Pastinya tidak ketinggalan juga prinsip dalam agile yang diterapkan dalam scrum. Banyak sekali hal yang saya pelajari mulai dari peran individu dalam scrum sampai bagaimana proses berjalan sehari-harinya. Singkat cerita scrum jadi makanan sehari-hari selama PPL berjalan.

Komponen dalam Scrum

Dalam scrum, terdapat beberapa komponen yang membentuk suatu scrum team. Berikutnya akan saya jelaskan masing-masing peran tersebut dalam kelompok PPL A1.

sumber : https://www.knowledgehut.com/blog/agile/agile-scrum-roles-responsibilities

1. Product Owner

Product Owner (Mas Zul)

Perkenalkan Product Owner kami yang akrab disapa Mas Zul. Beliau merupakan perwakilan dari Teman Bisnis, klien kelompok kami. Nah, peran Mas Zul disini yaitu membuat Product Backlog sesuai dengan requirements yang ada. Jika ada hal yang belum jelas ketika disampaikan, tim kami berkomunikasi secara langsung kepada Mas Zul untuk konfirmasi lebih lanjut.

2. Scrum Master

Scrum Master (Dimas)

Memastikan jalannya scrum dalam tim berjalan dengan lancar, merupakan peran seorang Scrum Master. Dimas adalah Scrum Master kelompok kami (A1). Tugas-tugas Scrum Master antara lain seperti memimpin jalannya scrum event dan meyakinkan Product Owner bahwa DevTeam telah memahami tujuan dari Product Backlog yang telah disampaikan. Scrum Master hanya memastikan, tidak membantu DevTeam dalam membuat dan mengembangkan software secara langsung.

3. Development Team (DevTeam)

DevTeam (kecuali Dimas dan Mas Zul)

Development Team (DevTeam) merupakan pengembang atau yang mengerjakan produk sebenarnya. Produk ini nantinya akan dilaporkan setiap sprint review. Dalam satu sprint review, produk merupakan hasil pekerjaan selama satu sprint yang nantinya ditunjukkan kepada Product Owner.

Individuals and interactions over processes and tools

Poin pertama yang didapatkan dari agile manifesto. Setelah dibaginya peran masing-masing individu dalam tim, perlunya memperhatikan interaksi antar anggota dalam mengerjakan/mengembangkan produk. Tidak hanya memperhatikan proses dan alat. Karena produk ini tercipta dari hasil kerja sama tim yang baik.

Event dalam Scrum

Salah satu event yang saya sebutkan sebelumnya ada sprint, nah apa saja sih event yang dijalankan dalam scrum? Berikut akan saya jelaskan.

Sprint

Ketika mendengar kata sprint, hal pertama yang saya pikirkan apakah para DevTeam nantinya akan berlari? Ternyata setelah dijalankan, arti berlari untuk para DevTeam tidak jauh beda, karena Sprint dalam Scrum ini merupakan tindakan untuk “berlari” bagi para DevTeam untuk mengerjakan bagian dari Product Backlog yang nantinya setelah satu sprint berakhir (sekitar 1–4 minggu) dapat mendeliver suatu produk yang functional. Pada PPL tahun ini, lamanya suatu sprint yaitu 2 minggu, artinya dalam waktu 2 minggu tersebut tim kami harus bisa memberikan suatu produk functional.

Sprint Planning

Nah sebelum memulai suatu sprint, tim kami melakukan sprint planning yaitu mengambil Product Backlog yang nantinya akan dikerjakan untuk mendeliver incremental product.

Daily Scrum

Untuk mengetahui sudah sejauh mana tim kami melakukan pekerjaan dalam sprint, maka dilakukan daily scrum. Daily Scrum ini dipimpin oleh Scrum Master. Hal-hal yang sudah dikerjakan akan dibahas dan apa saja yang akan dilakukan untuk sprint kedepannya.

Sprint Review

Merupakan finish line dari satu sprint. Dalam Sprint Review, DevTeam harus bisa mendeliver functional product kepada Product Owner. Dalam event ini, dapat memungkinkan untuk ditolaknya produk oleh Product Owner, nah ketika terjadi penolakan tim dapat melakukan sprint ulang untuk menyelesaikan bagian yang tertinggal. Selain itu, perubahan requirements dapat terjadi untuk memudahkan sisi DevTeam maupun Product Owner.

Working software over comprehensive documentation

Selama sprint review, hal yang paling penting untuk disampaikan adalah working/functional product. Meskipun hanya sebagian kecil fungsi yang sudah dapat dijalankan, dapat dikatakan bahwa hasil sprint tersebut dapat dinilai sebagai produk yang bisa berjalan.

Responding to change over following a plan

Saat menjalankan sprint review, adakalanya Product Owner akan meminta dan melakukan perubahan dalam requirements untuk memudahkan sisi DevTeam dan pastinya mempercepat pengerjaan. Contohnya saat melakukan perubahan pada chart yang akan ditampilkan dalam produk kami ketika filter berdasarkan tanggal tertentu.

Sprint Retrospective

Seperti namanya retrospective, dalam event ini dilakukan refleksi baik dari sisi yang baik maupun sisi yang buruk. Bagaimana meningkatkan efektivitas pekerjaan dalam tim agar lebih banyak mendeliver hal yang diinginkan.

Kesimpulan

Demikian tulisan saya mengenai Agile dan Scrum serta apa saja yang sudah saya rasakan ketika menjalani kedua hal tersebut dalam PPL ini. Jika ada kekurangan dalam tulisan silakan dikoreksi.

Thank you for reading!

--

--