A..gi..le (?)

Tyagita Larasati
PPL cewe semua!
Published in
5 min readApr 3, 2019
Image source: https://jsm85.github.io/assets/articles/31/ScrumBoard.png

Agile

Agile dalam software development adalah sebuah kemampuan untuk beradaptasi dengan cepat terhadap perubahan dan masalah yang (mungkin) terjadi.

Image source: https://uahtechcomm.files.wordpress.com/2014/10/funny-agile1.jpg

Agile ini sendiri memiliki banyak sekali keuntungan untuk sebuah development team. Beberapa kelebihan dalam menerapkan Agile ini adalah dapat meningkatkan produktivitas dari development team, membuat software product dengan kualiatas yang baik, dan juga dapat meningkatkan kepuasan dari Product Owner .

Nilai dan prinsip yang ada pada agile software development didasari pada Agile Manifesto dan 12 Prinsip Agile Development.

Agile Manifesto

Image source: https://cdn.dribbble.com/users/10120/screenshots/2993772/agile_manifesto_dribbble.jpg
  • Individu dan interaksi lebih dari proses dan tools
  • Software yang berfungsi lebih dari dokumentasi yang lengkap
  • Kolaborasi dengan klien lebih negosiasi kontrak
  • Tanggap terhadap perubahan lebih dari mengikuti rencana

12 Prinsip Agile Development

  • Memuaskan klien sebagai prioritas utama, dengan menghasilkan perangkat lunak yang bernilai dengan cepat dan rutin.
  • Menyambut perubahan kebutuhan, memperbolehkan penggantian requirements.
  • Menghasilkan perangkat lunak yang bekerja secara rutin, dari jangka waktu beberapa minggu sampai beberapa bulan, dengan preferensi kepada jangka waktu yang lebih pendek.
  • Product owner dan development team bekerja sama sepanjang proses pengembangan.
  • Mengembangkan proyek di sekitar individual yang termotivasi. Menciptakan lingkungan yang dapat memberikan dukungan satu sama lain, dan saling mempercayai untuk dapat menyelesaikan pekerjaan dengan baik.
  • Metode yang paling efisien dan efektif untuk menyampaikan informasi perkembangan proyek dalam development team adalah dengan komunikasi secara langsung.
  • Software yang berfungsi adalah ukuran utama kemajuan.
  • Proses agile mendukung pengembangan berkelanjutan.
  • Perhatian yang berkesinambungan terhadap keunggulan teknis dan rancangan yang baik meningkatkan Agility.
  • Kesederhanaan (memaksimalkan sumber daya yang tersedia) merupakan hal yang sangat penting.
  • Arsitektur, kebutuhan, dan rancangan perangkat lunak terbaik muncul dari self-organizing teams.
  • Secara rutin, development team berefleksi tentang bagaimana untuk menjadi lebih efektif, kemudian menyesuaikan dan menyelaraskan kebiasaan terhadap kebiasaan bekerja.

Usaha dalam Menerapkan 12 Prinsip Agile Development

Untuk dapat menerakan ke-12 prinsip agile development kelompok kami berusaha untuk sebaik mungkin untuk setiap sprintnya untuk dapat deliver product yang sesuai dengan requirement yang telah ditentukan dan tentunya dapat bekerja. Dan untuk setiap sprint review juga kelompok kami selalu meminta feedback dari product owner terkait hasil dari sprint kelompok kami, kami akan menanyakan apakah sudah sesuai atau harus ada yang diubah ataupun ditambah kembali untuk membuat product lebih baik. Dan juga kami akan menanyakan product backlog apa yang sebaiknya kita ambil untuk dijadikan sprint backlog selanjutnya.

Selain itu juga, selama masa sprint dikarenakan kebetulan kami sekelompok berada di kelas yang sama untuk mata kuliah lainnya, kami tidak mempunyai kesulitan dalam berkomunikasi untuk menanyakan hal-hal terkait sprint. Dan kami juga untuk dapat menyemangati dan dapat saling membantu mengerjakan task-tasknya biasanya kami selalu ngumpul rutin setiap senin untuk ngoding bersama dan biasanya juga setiap h-1 sprint review kami akan menginap untuk menyelesaikan task-task dan melakukan merge.

Penerapan Agile Software Development

Salah satu model yang terkenal dalam agile software development adalah Scrum. Dan dalam PPL 2018/2019 kali ini kami menerapkan metode Scrum.

Image source: https://2y5da6sqbsf4bertb26n96bz-wpengine.netdna-ssl.com/wp-content/uploads/scrumprocess.jpg

Sebelum dijelaskan lebih lanjut tentang proses scrum, ada sedikit penjelasan tentang istilah-istilah di Scrum:

Image source: http://www.barryovereem.com/wp-content/uploads/Myth_10-there-is-no-planning-1024x546.png
  • Product backlog

Product backlog merupakan kumpulan dari pekerjaan yang harus dilakukan agar project dapat selesai. Product backlog dapat bertambah, di hapus, ataupun di reprioritaskan oleh product owner tergantung dari kebutuhan user, ide baru, dsb.

  • Sprint backlog

Sprint backlog merupakan pekerjaan yang diambil dari product backlog yang akan dikerjakan selama sprint berlangsung.

Product Backlog

Sebelum proses pengembangan dimulai, product owner dan development team melakukan pertemuan. Product owner akna menjelaskan produk apa yang ingin dikembangkan dan memberikan MVP dari produk tersebut untuk dijadikan prioritas development team saat proses pengembangan. Product owner juga memberikan product backlog untuk development team agar pengembangan dapat dimulai.

Sprint Planning

Pada tahap ini, development team akan memilih backlog apa saja yang akan dikerjakan selama durasi sprint yang telah ditentukan. Pada proses ini juga development team akan memecah backlog (breakdown) menjadi beberapa tasks agar dapat dikerjakan oleh beberapa anggota tim. Selain itu juga, pada tahap ini ditetapkan sprint goal atau tujuan utama dari sprint ini yang harus dicapai. Biasanya sprint goal ditentukan oleh product owner. Sprint backlog dipilih sesuai dengan sprint goal yang telah ditentukan.

Sprint

Selama sprint berlangsung tidak boleh ada perubahan yang dapat mengacam sprint goal yang telah ditentukan saat sprint planning. Pada PPL kali ini durasi untuk setiap sprint selama 2 minggu.

Daily Meeting

Daily meeting berlangsung ketika sprint berlangsung. Daily meeting berlangsung tidak lebih dari 15 menit. Scrum master dan development team setidaknya dua kali dalam seminggu bertemu bersama membicarakan apa saja progress yang telah dilakukan oleh setiap anggota development team selama jeda waktu dari daily meeting sebelumnya. Pada daily meeting ini juga scrum board akan di-update agar progress dari pengembangan dapat terlihat lebih jelas.

Sprint Review

Setelah masa sprint selesai. Development team, scrum master, dan juga product owner akan bertemu mempresentasikan dan mendemostrasikan hasil dari sprint yang telah di kerjakan oleh development team. Product owner akan mementukan apakah hasil dari sprint ini dapat di-accept atau di-reject. Dan pada sprint review juga product owner akan memberikan masukan kepada development team mengenai backlog apa saja yang akan diambil untuk sprint selanjutnya.

Sprint Retrospective

Pada tahap ini development team akan sharing apa saja yang dirasakan saat sprint kali. Membahas apa saja yang harus diperbaiki untuk sprint selanjutnya, apa hal baru yang ingin dicoba untuk sprint selanjutnya, hal apa saja yang ingin dilanjutkan atau dihentikan untuk sprint selanjutnya.

--

--