Agile? Mengapa sesuatu yang hanya komplain juga merupakan metodologi?

Sumber : cleart.com

Bagaimana bisa sesuatu yang hanya komplain-komplain saja menjadi suatu metodologi dalam pengerjaan software? Ya, dalam suatu meme dari Scott Adams, Agile memungkinkan kita untuk melakukan perubahan ditengah-tengah pengerjaan suatu proyek yang telah dibuat. Namun hal tersebut tidak selalu menggambarkan Agile yang sebenarnya, yuk simak Agile lebih lanjut.

DILBERT © 2013 Scott Adams. Used By permission of UNIVERSAL UCLICK. All rights reserved.

Pengertian Agile

Agile merupakan suatu metodologi pada pengembangan software melalui pendekatan pada project management dengan menggunakan teknik iterasi dan juga bertahap yang dikenal dengan Sprint. Agile memiliki tujuan untuk menghasilkan software yang memenuhi kebutuhan pengguna dan tim dapat merespon dengan cepat kebutuhan yang diinginkan sehingga dapat menghemat waktu dan biaya.

Pengembangan software secara Agile menekankan empat konsep yaitu :

  1. Individual and team 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

Scrum

Scrum merupakan salah satu metode agile yang berfokus pada mengatur dan mengelola dalam menjalankan suatu proyek. Scrum merupakan framework terbaik untuk merevolusi cara kerja tim dalam menyelesaikan pekerjaan. Scrum memiliki beberapa bagian yaitu Scrum Values, Artifacts, Roles, dan Events.

Terdapat 5 nilai yang harus dimiliki dari anggota Scrum dalam menjalankan suatu proyek yaitu Commitment, Focus, Openness, Respect, and Courage.

  • Commitment — berarti berkomitmen untuk mencapai tujuan dan saling mendukung satu sama lain.
  • Focus — berarti berfokus pada setiap Sprint yang dilakukan sehingga selalu lebih baik pada setiap Sprint yang dilakukan.
  • Opennessberarti setiap anggota Scrum dan stakeholders selalu terbuka terhadap pekerjaan dan tantangannya.
  • Respectberarti setiap anggota Scrum dapat saling menghargai satu sama lain
  • Courageberarti setiap anggota Scrum dapat berani untuk melakukan suatu hal yang benar dan menghadapi kesulitan.

Spesifikasi software termasuk fitur, fungsi, kebutuhan, peningkatan, dan perbaikan pada rilis terbaru yang akan dibuat disebut sebagai product backlog. Isi dari product backlog ini bersifat dinamis karena dapat berubah-ubah sesuai keinginan customer-nya. Daftar-daftar dalam product backlog disebut dengan product backlog items yang ditanggung jawabkan oleh Product Owner.

Setelah mengetahui apa saja nilai-nilai yang harus dimiliki pada setiap anggota, lalu kemudian kita akan mengetahui roles apa saja yang ada pada Scrum.

  • Product Owner — merupakan seseorang yang bertanggung jawab untuk memastikan tim memaksimalkan produk yang dihasilkan dari tim scrum. PO juga bertugas membuat dan mengelola product backlog, selain itu juga sebagai jembatan penghubung antara tim bisnis dan tim pengembang.
  • Scrum Mastermerupakan seseorang yang bertugas sebagai pendukung dan penyokong tim dalam proses scrum, dapat berjalan dengan baik. Selain itu scrum master juga bertugas untuk membantu product owner dalam mencapai tujuannya.
  • Development Teammerupakan tim yang bertugas untuk mengerjakan product backlog yang telah dibuat oleh product owner hingga dapat digunakan oleh user atau konsumen.

Terdapat event-event yang ada pada scrum di antaranya adalah Sprint, Sprint Planning, Daily Scrum, Sprint Review, dan Sprint Retospective.

  • SprintSprint merupakan detak jantung Scrum, dimana merupakan waktunya pengerjaan task yang telah dibagikan. Sprint juga berdurasi 1 bulan atau kurang untuk menciptakan konsistensi dan akan berlanjut setelah sprint sebelumnya selesai. Semua pekerjaan yang diperlukan untuk mencapai tujuan produk, termasuk Sprint Planning, Daily Scrum, Sprint Review, dan Sprint Retospective ada dalam sprint.
  • Sprint Planningsebelum memulai suatu sprint akan dilakukan perencanaan sprint yaitu product owner membagikan product backlog item yang akan dikerjakan kepada tim pengembang. Kemudian PBI akan dipecah-pecahkan menjadi lebih kecil atau disebut dengan task. Pada tiap task tersebut akan diberikan story point atau berat beban dari task tersebut guna merepresentasikan besaran effort untuk mengerjakan task tersebut.
  • Daily Scrummerupakan pertemuan rutin yang dilakukan beberapa kali pada tiap minggunya. Pertemuan ini dimaksudkan untuk menanyakan seberapa jauh progress yang dilakukan atas task yang diambil dari tiap individu dari tim pengembang. Biasanya berdurasi 15 hingga 30 menit dengan format Apa saja yang telah dilakukan? Apa kendala yang dihadapi? Apa yang akan dilakukan besok?
  • Sprint Reviewmerupakan bagian akhir dari sprint yaitu akan dihadiri oleh customer dan setiap tim pengembang melakukan demonstrasi terhadap fitur-fitur yang sudah dikerjakan selama satu sprint kemarin. Diharapkan semua fitur yang dikerjakan sudah siap untuk ditunjukkan tanpa alasan masih menunggu antrian pipeline dan sebagainya. Customer juga biasanya akan memberikan feedback terkait pengerjaan yang dilakukan dan mungkin akan dapat mengubah apabila dikiranya berbeda dari yang diminta.
  • Sprint RetospectivePada sesi ini merupakan sarana untuk merefleksikan diri terkait yang telah terjadi pada pengerjaan di sprint lalu dan memperbaiki apabila terdapat hal-hal yang dikiranya cukup buruk dan meningkatkan pengerjaan pada sprint berikutnya. Solusi akan dicari bersama-sama sehingga tidak terulang pada sprint berikutnya.

Pada tahun ini saya (Aan Nur Wahidi) sebagai mahasiswa Fasilkom Universitas Indonesia mengambil mata kuliah PPL (Proyek Perangkat Lunak). Dalam mata kuliah ini akan dibagi suatu kelompok untuk mengerjakan proyek yang diminta client dan partners yang telah bekerja sama dengan kampus kita. Adapun proyek yang kita ambil adalah Hepi Circle-Admin yaitu aplikasi Hepi Circle namun untuk Administratornya.

  • ClientUntuk client yaitu dari pihak hepi circle dengan perwakilan Bu Kumala Sari
  • PartnersUntuk perihal coding kita memiliki Pak Anthony, dan untuk design yaitu Kak Veronica

Kemudian pada Proyek ini kita menggunakan scrum untuk pengerjaannya, berikut adalah siapa saja role-rolenya.

  • Product OwnerPO pada proyek kami adalah Kak Darin
  • DevOps — DevOps yang akan me-manage source code kita yaitu Kak William Gates
  • Scrum Master — Scrum master pada proyek kami yaitu Kak Janita

Pada PPL tahun ini akan diadakan sprint sebanyak 5 kali dengan waktu per-sprint 2 minggu. Namun pada pertengahan sprint atau dengan kata lain 1 minggu setelah sprint berjalan akan ada Individual Review. Individual Review ini cukup berbeda, selain kita memberitahukan progress pada proyek kita, kita juga diharapkan untuk membuat artikel tentang topik yang disediakan dan mengaitkannya dengan proyek kita. Ya artikel inilah salah satunya. Kemudian setelah sprint berakhir akan dilakukan Sprint Review. Sprint Review yaitu kita akan mempresentasikan apa saja yang telah kami kerjakan kepada dosen, scrum master, PO, partners, client, dan DevOps. setelah berakhir akan dilakukan Sprint Retrospective, yaitu merefleksikan diri pada sprint yang dilalui, memperbaiki apa yang kurang baik, apa yang perlu dipelajari lagi, setelah itu akan dimulai kembali sprint berikutnya dengan pemilihan task yang ingin diambil.

Tentunya bagi yang baru pertama kali melakukan scrum cukup sulit untuk awal-awalnya, dan saya termasuk ke dalamnya. Pada awal sprint saya beserta tim saya cukup kesulitan untuk menerapkannya, karena kami terbiasa dengan deadliner. Belum lagi ini merupakan kali pertama bagi kami untuk mengerjakan proyek dengan framework Flutter. Lalu apa saja yang saya lakukan untuk membiasakan hal ini?

  • Buat jadwal perhari, apa saja yang dilakukan. Hal ini menjadi sangat membantu kalian dalam menjaga keseimbangan dengan mata kuliah lain dan tentunya tidak ada yang namanya begadang sampai pagi.
  • Usahakan tiap hari selalu ada progress dalam untuk memenuhi Sprint. Pada kali ini tim kami beserta asdos pada 2 sprint akhir telah menerapkan daily update yaitu setiap hari kumpul untuk melaporkan progress apa saja yang dilakukan pada hari tersebut. Hal ini dikarenakan tim kami memiliki kesibukannya masing-masing atau kendala hingga melupakan komunikasi antar tim.
  • Menyelesaikan task sebelum deadline yang ditentukan. Hal ini bermaksud untuk tidak menjadi deadliner, saya sudah mengurangi hal ini sejak sprint 2 agar dapat membantu tim apabila memiliki kendala.
  • Kumpul untuk coding bersama. Saya mengakui melakukan ini sangat-sangat membantu tim dalam meningkatkan produktivitasnya, bahkan dapat menyelesaikan sekian banyak task hanya dalam beberapa pertemuan saja. Jadi lebih seringlah kalian untuk kumpul bersama, walau tidak hanya untuk coding saja.

Seperti yang kalian lihat agile, scrum dapat merubah kepribadian Anda menjadi lebih disiplin dan tertruktur. Serta membiasakan Anda untuk bekerja sama dengan orang lain mau siapapun orangnya.

Agile merupakan metodologi yang cukup baik untuk menjalankan suatu proyek pada zaman sekarang ini yang selalu terjadi perubahan. Scrum adalah salah satu bagian dari agile. Scrum merupakan jenis agile yang baik untuk mengubah kepribadian seseorang menjadi lebih baik dalam menjalankan suatu proyek. Karena itu Scrum Values muncul menjadi bagian dari Scrum, namun tidak semua proyek dapat menggunakan metodologi ini karena tergantung dari kebutuhan customer. Metode ini dapat merubah kepribadian Anda menjadi lebih baik terutama dalam menjalankan proyek yang memerlukan kerja sama tim.

Mahasiswa Fasilkom UI angkatan 2018

Mahasiswa Fasilkom UI angkatan 2018