Software Development Agile

Benedictus Alvin
PDB+R
Published in
4 min readMar 18, 2019

Halo semuanya!! Kembali lagi dengan saya Bene, Hacker dari kelompok PDB+R. Kali ini saya akan membahas tentang Software Development Agile

Apa sih itu Agile Development?

Agile Development adalah salah satu metode pengembangan perangkat lunak yang mengedepankan inovasi serta responsibiliti yang baik antara tim pengembang dan klien agar menghasilkan perangkat lunak yang berkualitas. Agile Development menuntut perencanaan yang baik, perbaikan secara berkala, serta melatih respon yang cepat dan fleksibel terhadap perubahan syarat atau hal yang diinginkan klien.

Agile Manifesto

Selain itu Agile Development merujuk pada sekumpulan metode dan praktik berdasarkan nilai dan prinsip yang tercantum didalam Agile Manifesto

  1. Kolaborasi dari klien sangatlah penting karena perangkat lunak yang akan kita hasilkan harus terus menerus mengalami pengembangan sesuai keinginan klien
  2. Interaksi yang terjadi pada setiap anggota tim akan menentukan proses pembuatan perangkat lunak tersebut
  3. Agile development mengedepankan fokus terhadap perubahan yang diinginkan klien dan bagaimana tim pengembang dapat meresponnya
  4. Saat melakukan demonstrasi kepada klien, menampilan perangkat lunak yang dapat berfungsi akan lebih baik dibandingkan dokumentasi pengembangan yang lengkap namun perangkat belum dapat berjalan dengan baik.

Principle of Agile Manifesto:

Selain itu terdapat 12 prinsip agar Agile Development dapat dilaksanakan dengan baik

  1. Customer satisfaction -klien akan lebih menyukai perangkat lunak yang dapat berjalan dengan cepat dan rutin.
  2. Accommodate changing requirements -menerima perubahan yang disampaikan klien
  3. Frequent delivery of working software -menghasilkan perangkat lunak yang bekerja pada setiap jangka waktu.
  4. Collaboration between the business stakeholders and developers-rekan bisnis dan pengembang perangkat lunak harus bekerja sama sepanjang proyek.
  5. Support, trust, and motivate the people -berikan lingkungan yang saling support, percaya, dan penuh motivasi agar mereka dapat menyelesaikan pekerjaan dengan baik.
  6. Enable face-to-face interactions -Komunikasi akan lebih berhasil bila dapat menyampaikan informasi dari dan dalam tim secara langsung.
  7. Working software -menghasilkan perangkat lunak yang dapat bekerja adalah nilai utama.
  8. Agile processes -Proses agile menggalakkan pengembangan secara berkelanjutan.
  9. Attention to technical detail and design -memperhatikan setiap detail mulai dari design hingga rancangan program untuk mengingkatkan performanya.
  10. Simplicity -memaksimalkan sumber daya yang tersedia.
  11. Self-organizing teams -kebutuhan dan rancangan perangkat lunak terbaik muncul dari tim yang saling terorganisir.
  12. Regular reflections -secara berkala, tim pengembang berefleksi tentang bagaimana untuk menjadi lebih efektif, kemudian menyesuaikan dan menyelaraskan kebiasaan bekerja mereka.

Penerapan Agile dalam Kelompok

Salah satu method agile yang digunakan dalam kelompok kami adalah Scrum. Scrum memiliki 3 role berbeda yaitu product owner (kak Umroh) sebagai klien yang menentukan produk yang akan dibuat, development team (kelompok kami)sebagai tim pengembangan yang akan menghasilkan produk tersebut, serta scrum master (kak Jessi) yang akan mengawasi proses scrum yang berjalan dalam proses scrum ini.

Pada scrum sendiri terdapat proses yang berlangsung secara berkala selama pengembangan produk berlangsung. Proses tersebut dibagi menjadi :

  1. Sprint 0 (Init Phase): Masa untuk menentukan project vision dan backlog, serta membuat ide-ide. Kami melakukannya saat pertama kali bertemu dengan klien di gedung baru.
  2. Sprint Planning: Masa untuk menentukan PBI (Product Backlog Item) yang akan diambil pada setiap sprint dan membagi-bagikannya ke dalam task yang lebih kecil. Kami melakukannya setiap 2 minggu sekali (pergantian sprint).
  3. Implementation-Daily scrum meeting: Masa untuk membahas progress yang telah dilakukan selama sprint tersebut serta menentukan rencana berikutnya pada sprint tersebut. Kami melakukannya 2 kali dalam seminggu (4 kali daily meeting untuk setiap sprint).
  4. Sprint Review: Masa bagi product owner untuk melihat progress yang telah kita kembangkan selama satu sprint serta memberikan acceptance pada PBI yang dirasa sudah sesuai dengan keinginan klien. Kami melakukannya pada hari terakhir dalam 2 minggu sprint.
  5. Sprint Retrospective: Masa yang dilakukan setelah sprint review. Tahap ini bertujuan agar setiap anggota tim dapat menyampaikan kesulitan dan masalah yang dihadapi saat sprint sebelumnya dilakukan. Diharapkan setelah itu setiap anggota tim dapat melaksanan sprint berikutnya dengan lebih baik lagi. Kami melakukannya setiap 2 kali sprint review selesai dilakukan.

Jadi bisa dirasakan sendiri pengaruh agile development dalam proses kami mengembangkan SI-Sidang NG. Kami jadi lebih mengerti produk yang akan dibuat karena Kak Umroh sebagai product owner telah memberikan PBI yang lengkap dan detail. Kak Jessi sebagai scrum master juga terus memantau dan mengajak kami daily meeting secara rutin. Komunikasi yang baik antara setiap peran tersebut telah membantu kami menjalankan setiap sprint menjadi lebih mudah. Jadi jangan takut-takut untuk menerapkan Agile Development dalam kelompok kalian ya. Oke, saya rasa sekian dulu penjelasan tentang agile development dalam kelompok kami. Doakan agar kelompok kami dapat terus berkomitmen menjalankan proses ini dengan baik ya!! Sampai jumpa di medium yang selanjutnyaaaa!! (*≧▽≦)////

Referensi :

https://www.visual-paradigm.com/guide/agile-software-development/what-is-agile-software-development/

--

--