Penerapan Agile dalam PPL C3

hwulanayu
PPL 2019 C3
Published in
3 min readApr 3, 2019

Dalam pengerjaannya, mata kuliah PPL menggunakan metode Scrum. Scrum adalah subset dari Agile yang merupakan metodologi pengembangan perangkat lunak yang bersifat iteratif di mana requirements dapat berubah-ubah sehingga developer team harus bersifat fleksibel.

agile illustration

poin-poin penting dalam Agile manifesto yaitu:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

Tim kami berusaha menerapkan 4 poin tersebut dalam pengembangan perangkat lunak dalam mata kuliah PPL.

Tim developer bersama dengan Scrum Master menjaga interaksi tetap berjalan dengan melakukan daily scrum meeting. Sesuai namanya, seharusnya pertemuan tersebut dilakukan setiap hari selama 15 menit. Namun karena keterbatasan waktu tiap developer dan terkesan redundant jika dilakukan tiap hari, maka daily scrum meeting dijadwalkan tiap hari Senin dan Jumat.

Pada awal perkuliahan, dokumentasi yang diberikan berupa PBI dari Product Owner. setelah mengetahui daftar PBI yang ada, tim developer bersama Scrum Master melakukan sprint planning untuk memecahkan beberapa PBI menjadi task-task yang kecil. Tiap PBI mempunyai bobot masing-masing. Tim kami memutuskan untuk mendahulukan PBI yang berbobot paling penting, yaitu 1. Hal ini pun kami komunikasikan dengan Product Owner.

Dalam pengerjaan sprint, tim kami beberapa kali menghubungi Product Owner untuk memastikan apakah requirements sudah sesuai/ada perubahan dan meminta data untuk kepentingan pengerjaan PPL.

Selain Agile Manifesto, Agile juga mempunyai 12 prinsip yang harus diterapkan oleh penggunanya, yaitu:

1. Satisfy customers through early and continuous delivery of valuable work.

Dalam mata kuliah PPL, sudah dijadwalkan setiap tim akan melakukan sprint review dua minggu sekali, sehingga tim developer dapat memberikan hasil pekerjaannya secara rutin. Pada sprint ganjil(1,3,5), sprint review hanya diadakan bersama Product Owner. sedangkan sprint genap(2,4,6) dilakukan bersama dengan Product Owner dan dosen.

2. Welcome changing requirements for the customer’s competitive advantage.

Tim kami berusaha untuk menjaga komunikasi dengan Product Owner agar apa yang kami lakukan sesuai dengan tujuan akhirnya. Contohnya, saat sprint review ke-3, Product Owner menambahkan PBI baru sesuai dengan hasil kerja tim developer.

3. Deliver working software frequently.

Prinsip ini juga sudah diterapkan dengan adanya sprint review setiap 2 minggu sekali.

4. Work together with business people daily throughout the project.

Hal ini tidak mudah untuk dilakukan karena kurang feasible untuk bertemu dengan Product Owner setiap hari. Namun kami masih tetap berkomunikasi via media sosial(chat room) jika ada pertanyaan atau hal yang ingin disampaikan.

5. Build projects around motivated individuals.

Sebagai tim, kami selalu menyemangati satu sama lain untuk menyelesaikan task-task yang ada. Tim kami juga sering menyelipkan humor dan candaan tiap ada kesempatan agar suasana tidak selalu tegang dan serius.

6. Convey information with face-to-face conversation.

Hal ini terlaksana dengan adanya daily scrum meeting 2 kali seminggu. Namun kondisi yang ada tidak memungkinkan kami untuk sering bertatap muka dengan Product Owner.

7. Working software is the primary measure of progress.

Perkuliahan PPL menetapkan definiton of done sehingga diharapkan tiap sprint ada goal tertentu untuk menilai apakah pengerjaan software sudah bisa dikatakan selesai/deliverable.

8. Promote sustainable development.

Tiap PBI dipecah menjadi task-task yang nantinya akan akan dikerjakan dalam suatu sprint. Tim kami mengusahakan untuk memecah task-task tersebut dengan estimasi hitungan pengerjaan +- 4 jam agar tiap task tidak memberatkan developer dalam pengerjaannya.

9. Give attention to technical excellence and good design.

Desain program yang baik dan penulisan clean code akan memudahkan pengembangan dalam jangka waktu lama. Kami masih berusaha menerapkan prinsip ini walaupun memang tidak mudah.

10. Simplicity is essential.

Seperti yang sudah disampaikan pada paragraf awal-awal, tim kami memutuskan untuk mengerjakan PBI yang urutan prioritasnya paling tinggi(1). Fitur tambahan dikerjakan setelah fitur utama selesai.

11. Self-organizing teams.

kemampuan tiap anggota tim berbeda-beda, karena itu kami pun menyesuaikan dengan mengambilkan task sesuai kemauan dan kemampuannya. Kami pun saling membantu jika ada yang menemukan kendala.

12. Teams reflect on how to become more effective.

Pada sprint retrospective, kami memutuskan mengadakan jadwal koding bersama. Hal ini dinilai lebih efektif jika ada anggota tim yang ingin berdiskusi/bertanya dengan yang lain.

Pada awalnya, tim kami hanya mengandalkan scrum board. Namun hal ini membuat tim kami sulit untuk men-track task apa saja yang sudah selesai atau belum diambil, sehingga harus ‘tunggu-tungguan’. Maka tim kami membuat akun Trello untuk melihat task-task secara online. Tentu saja kami masih bergantung pada scrum board, hanya saja ada dokumentasi online pada akun trello.

--

--