top of page

Agile Development Methods

  • M Faisal Mazidnianto
  • Mar 17, 2017
  • 4 min read

Perangkat Lunak bukan hal yang asing lagi dibicarakan baik dari kalangan bawah maupun kalangan atas, karena banyak permasalahan yang teratasi dengan munculnya perangkat lunak tersebut sehingga tak heran banyak perusahaan-perusahaan yang membuat serta mengembangkan perangkat lunak. Dibalik suksesnya perangkat lunak ini dalam menyelesaikan masalah, terdapat proses pengembangan perangkat lunak yang cukup rumit, salah satunya adalah Agile Development Methods .

Apa sih Agile Development Methods itu?

Agile Development Methods merupakan kumpulan dari beberapa metodologi pengembangan perangkat lunak yang berfokus pada pengembangan sistem jangka pendek dimana memerlukan adaptasi cepat dari developer terhadap perubahan dalam bentuk apapun sehingga Agile Development Methods dapat diartikan pengembangan perangkat lunak yang cepat, ringan, bebas bergerak, dan waspada. Pada tanggal 17 Februari 2001. Tujuh belas developer (termasuk diantaranya adalah Ken Beck dan Martin Fowler) berjumpa untuk berdiskusi tentang teknik pengembangan perangkat lunak yang ringan dan lincah. Mereka kemudian menghasilkan apa yang disebut sebagai The Agile Manifesto yang terdiri atas 4 nilai dan 12 prinsip.

1. Interaksi dan Personel

Interaksi dan personel lebih penting daripada proses dan alat, maksudnya adalah interaksi antar anggota tim sangatlah penting, karena tanpa adanya interaksi yang baik maka proses pembuatan perangkat lunak tidak akan berjalan sesuai rencana. Contohnya adalah saat daily scrum meeting, kita biasanya saling berbagi tentang apa saja yang telah kita lakukan atau peroleh, blocker atau halangan pribadi, dan apa yang akan kita lakukan kedepannya. Halangan tersebut tidak hanya yang berkaitan dengan proyek bisa juga mengenai kehidupan pribadi, tujuannya agar masalah tersebut dapat diselesaikan sehingga tidak mengganggu kelancaran dalam proses pengembangan perangkat lunak.

2. Perangkat lunak yang berfungsi

Perangkat lunak yang berfungsi lebih penting daripada dokumentasi yang lengkap, karena saat melakukan proses demonstrasi kepada klien, perangkat lunak yang berfungsi dengan baik akan lebih berguna daripada dokumentasi yang lengkap. Contohnya, jika sprint telah selesai kita harus memberikan aplikasi yang dapat dijalankan daripada dokumentasinya tetapi aplikasi tidak berjalan.

3. Kolaborasi dengan klien

kolaborasi dengan klien lebih penting daripada negosiasi kontrak. Oleh karena itu, disini klien menjadi bagian dari tim pengembangan perangkat lunak. Kolaborasi yang baik dengan klien saat proses pembuatan perangkat lunak sangatlah penting ketika menggunakan agile, agar fungsi-fungsi dari perangkat lunak yang dikembangan dapat terus dibicarakan, ditingkatkan serta disesuaikan dengan keinginan klien. Contohnya adalah sharing session antara developer dengan partner atau pada grup slack yang didalamnya terdapat developer dan partner.

4. Respon terhadap perubahan

respon terhadap perubahan lebih penting daripada mengikuti rendana, agile development methods berfokus terhadap kecepatan tim menangani masalah apabila klien menginginkan suatu perubahan pada saat pengembangan proses perangkat lunak. Contohnya adalah antara partner dan developer telah masuk kedalam grup pada aplikasi slack, disitu kami saling sharing terkait progress kami sehingga partner akan memberikan feedback dan developer harus dapat melakukan perubahaan yang diminta klien.

Agile Principle

Supaya suatu tim berhasil dalam menerapkan metode diatas, maka tim tersebut harus mengikuti dua belas prinsip dibawah yaitu,

1. Memuaskan klien dengan menghasilkan perangkat lunak yang bernilai dengan cepat dan rutin.

Contoh : Saat sprint review, kita diharuskan sudah dapat membuat perangkat lunak yang sudah dapat dipakai oleh klien

2. Memanfaatkan perubahan untuk keuntungan kompetitif klien.

Contoh : Saat ditengah sprint, kita bertemu klien yang kadang suka menambahkan atau ingin mengubah suatu fitur yang telah kita buat. Oleh karena itu, tim developer diharuskan untuk membuat program yang dapat responsive terhadap perubahan.

3. Menghasilkan perangkat lunak yang bekerja secara rutin,

Contoh : Scrum mengharuskan kita untuk saat sprint pertama selesai, klien dapat langsung menggunakan perangkat lunak yang sudah dibuat. Oleh karena itu, saat sprint planning kita diharuskan memilih Minimum Value Proposition (MVP).

4. Rekan bisnis dan pengembang perangkat lunak harus bekerja sama tiap hari sepanjang proyek

Contoh : Menggunakan aplikasi slack, tim developer dan klien selalu terhubung sehingga kami dapat berdiskusi disana untuk menyelesaikan perangkat lunak tersebut.

5. Memberikan masing-masing individu dalam tim lingkungan dan dukungan yang mereka butuhkan, dan percayai mereka untuk menyelesaikan pekerjaan dengan baik.

Contoh : Saat sprint planning, tim developer diharuskan membagi user story kedalam task-task kecil supaya dapat dibagikkan ke tim developer untuk dikerjakan oleh masing-masing anggota. Selain itu, saat scrum meeting setelah masing-masing tim developer memberitahukan blocker mereka masing-masing diharapkan anggota lain dapat membantunya untuk menyelesaikan permasalahan.

6. Komunikasi secara langsung

Contoh : Saat scrum meeting, tim developer beserta scrum master berkomunikasi secara langsung untuk men-share apa yang telah dilakukannya, blocker-nya serta apa yang akan dilakukannya kedepannya.

7. Perangkat lunak yang bekerja adalah ukuran utama kemajuan

Contoh : Saat sprint planing, kita diharuskan untuk memilih Minimum Value Proposition (MVP) guna untuk setelah sprint selesai perangkat lunak dapat langsung dipakai.

8. menggalakkan pengembangan berkelanjutan. Sponsor-sponsor, pengembang-pengembang, dan pengguna-pengguna dapat mempertahankan kecepatan tetap secara berkelanjutan.

Contoh : Saat scrum meeting, tim developer ditanya terkait apa yang telah dilakukannya untuk mengetahui progress apa yang telah dilakukannya guna mendorong tim developer untuk selalu melakukan pengembangan terhadap perangkat lunak yang sedang dibuat.

9. Perhatian yang berkesinambungan terhadap keunggulan teknis dan rancangan yang baik meningkatkan Agility.

10. Kesederhanaan adalah hal yang sangat penting.

Contoh : Saat membuat suatu program, tim developer harus membuat program sesederhana mungkin sehingga saat terjadi perubahan dapat diubah dengan mudah atau saat anggota lain ingin memakai program yang dibuatnya, maka akan lebih mudah untuk menggunakannya

11. Arsitektur, kebutuhan, dan rancangan perangkat lunak terbaik muncul dari tim yang dapat mengorganisir diri sendiri.

12. Secara berkala, tim pengembang berefreksi tentang bagaimana untuk menjadi lebih efektif, kemudian menyesuaikan dan menyelaraskan bekerja mereka.

Contoh : Saat scrum meeting, tim developer men-share tentang blocker mereka supaya diharapkan diakhir scrum meeting, permasalahan tersebut dapat diselesaikan.

Source : https://id.wikipedia.org/wiki/Agile_Development_Methods

Salam,

M Faisal Mazidnianto


Comments


© 2017 by GoodangCode

Subscribe for Goodang Team Updates!

bottom of page