Apa itu Agile?
Metode agile adalah cara untuk mendekati manajemen proyek (dalam pengembangan perangkat lunak) dengan membantu tim dalam menanggapi ketidakpastian pengembangan produk menggunakan urutan kerja tambahan dan berulang yang biasa dikenal sebagai sprint.
Kolaborasi ini melibatkan tim pengorganisasian mandiri dan lintas fungsi dengan pengguna akhir dan pemangku kepentingan. Setelah Anda menerapkan Metode Agile dalam pengembangan produk, tim harus siap dengan hal-hal seperti perencanaan adaptif, peningkatan berkelanjutan, dan respons cepat yang fleksibel terhadap perubahan. Dengan kata lain, tidak ada perencanaan tetap tanpa mendapatkan umpan balik dari pengguna itu sendiri.
Proses pengembangan produk Agile
Metode Agile diyakini dapat memberikan produk yang dapat digunakan lebih cepat dan lebih akurat untuk pengguna akhir di mana pengembangan produk akan dipecah menjadi beberapa langkah kecil untuk menghindari jumlah perencanaan dan desain di muka.
Penambahan ini akan menjadi daftar tugas yang perlu dilakukan dalam sprint dan iterasi yang melibatkan tim lintas fungsi yang bekerja dari setiap aspek pengembangan produk seperti perencanaan, analisis, desain, pengkodean, pengujian unit, dan pengujian penerimaan.
Pada akhir iterasi, produk yang berfungsi akan ditunjukkan kepada pemangku kepentingan, memungkinkan produk beradaptasi dengan perubahan dengan cepat. Sasaran iterasi bukanlah untuk membuat produk yang siap dipasarkan tetapi memberikan rilis yang tersedia (dengan sedikit bug) di akhir setiap iterasi. Untuk memiliki produk yang berfungsi penuh atau fitur baru, terkadang diperlukan beberapa iterasi.
Perangkat lunak yang berfungsi dianggap sebagai ukuran utama kemajuan dalam metode Agile.
Untuk memastikan setiap orang dalam tim memberikan jumlah pekerjaan yang berharga pada pengembangan Agile, lingkungan kerja juga memainkan peran besar. Komunikasi tatap muka yang efisien perlu dikembangkan dalam kelompok kecil yang ketat dari tim pengembangan, termasuk representasi pelanggan (Pemilik Produk di scrum). Ini akan menghindari waktu siklus yang diambil pada mode pengembangan biasa melalui telepon, obrolan, wiki, atau email.
Pemilik Produk akan bertanggung jawab untuk menjawab setiap pertanyaan yang diajukan oleh tim pengembangan selama iterasi dan meninjau atau bahkan mengevaluasi ulang prioritas untuk memastikan keselarasan antara kebutuhan pelanggan dan tujuan perusahaan.
Tim juga harus dapat melakukan stand-up harian yang cepat untuk memperbarui kemajuan sehari-hari mereka. Dalam sesi singkat, anggota tim saling melaporkan apa yang mereka lakukan hari sebelumnya terhadap tujuan iterasi tim mereka, apa yang ingin mereka lakukan hari ini menuju tujuan, dan hambatan atau hambatan apa pun yang dapat mereka lihat untuk mencapai tujuan. Dengan adanya daily stand up ini pengembangan produk dapat beradaptasi dengan perubahan yang mungkin terjadi selama iterasi dan tetap fokus pada kualitas pengiriman.
Bagaimana Agile dimulai?
Dengan pengembangan yang didorong pelanggan kita hadapi saat ini, Agile dapat menjawab kebutuhan organisasi untuk melampaui pengembangan perangkat lunak dan memungkinkan proses untuk menjadi lebih adaptif untuk mengatasi kebutuhan pengguna yang tidak stabil, tidak pasti, dan kompleks.
Jika kita menelusuri kembali ke tahun 1957, metode pengembangan iteratif dan inkremental sudah diterapkan dalam manajemen proyek evolusioner dan pengembangan perangkat lunak adaptif yang muncul pada awal 1970-an.
Sepanjang jalan, ada beberapa metode, kerangka kerja yang berkembang dalam pengembangan perangkat lunak selama tahun 1990-an. Ada pengembangan aplikasi cepat (RAD), proses terpadu (UP), metode pengembangan sistem dinamis (DSDM), pemrograman ekstrim (XP), dan scrum. Meskipun mereka memulainya lebih awal, mereka sekarang secara kolektif disebut sebagai metode pengembangan perangkat lunak tangkas.
Tidak sampai tahun 2001 ketika tujuh belas pengembang perangkat lunak akhirnya menerbitkan Agile Manifesto pada sebuah pertemuan di Snowbird, Utah setelah membahas metode pengembangan ringan. Di antara peserta acara ini adalah Kent Beck, Ward Cunningham, Dave Thomas, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, dan Robert C. Martin.
Berdasarkan pengalaman gabungan mereka dalam mengembangkan perangkat lunak dan membantu orang lain melakukan itu, tujuh belas penandatangan manifesto menyatakan bahwa mereka menghargai:
Individu dan interaksi atas proses dan alat
Software yang Bekerja atas dokumentasi yang komprehensif
Kolaborasi pelanggan atas negosiasi kontrak
Menanggapi Perubahan lebih dari mengikuti rencana
Bersamaan dengan nilai tersebut, Manifesto for Agile Software Development didasarkan pada dua belas prinsip:
- Kepuasan pelanggan dengan pengiriman perangkat lunak berharga secara dini dan berkelanjutan.
- Menyambut persyaratan yang berubah, bahkan dalam pengembangan yang terlambat.
- Sering mengirimkan perangkat lunak yang berfungsi (berminggu-minggu, bukan berbulan-bulan)
- Nah, kerja sama keseharian antara pebisnis dan developer
- Proyek dibangun di sekitar individu yang termotivasi, yang harus dipercaya
- Percakapan tatap muka adalah bentuk komunikasi terbaik (lokasi bersama)
- Perangkat lunak yang berfungsi adalah ukuran utama kemajuan
- Pembangunan berkelanjutan, mampu mempertahankan kecepatan yang konstan
- Perhatian terus menerus terhadap keunggulan teknis dan desain yang baik
- Kesederhanaan — seni memaksimalkan jumlah pekerjaan yang belum diselesaikan — sangat penting
- Arsitektur, persyaratan, dan desain terbaik muncul dari tim yang mengatur dirinya sendiri
- Secara teratur, tim merefleksikan bagaimana menjadi lebih efektif dan menyesuaikannya
Siapa yang mengimplementasikan Agile?
Eksperimen awalnya dimulai dengan satu tim dan diperluas menjadi sekelompok tim dalam organisasi berskala lebih besar. Salah satu organisasi yang membangun produk mereka berdasarkan prinsip dan nilai Agile saat ini adalah Spotify. Mereka memulai dengan scrum untuk produk awal pertama mereka dan seiring pertumbuhan platform, mereka membuktikan bahwa agile dapat memenuhi kebutuhan pengguna mereka.
Ada baiknya platform pertama mereka dibangun di atas scrum di mana segala sesuatunya direncanakan dan ditentukan, sehingga mereka tidak kehilangan fokus pada apa yang mereka coba capai dan presentasikan kepada publik. Namun begitu pengguna dan tim tumbuh secara signifikan, metode pengembangan pivot to Agile benar-benar membantu mereka untuk lebih memahami tentang pengguna mereka dan dengan cepat menyediakan produk yang tepat untuk pasar mereka.
Spotify menunjukkan contoh yang bagus tentang bagaimana menumbuhkan produk dengan pendekatan yang dapat memuaskan pemangku kepentingan dan pengguna akhir menggunakan metode Agile.
Video berikut akan memberi Anda penjelasan yang lebih baik tentang bagaimana mereka menjatuhkan scrum dan beralih ke Agile.
Dengan semua manfaat dan nilai yang dimiliki Agile, praktik tersebut masih bisa menjadi tidak efisien dalam organisasi besar dan jenis perkembangan tertentu. Beberapa masih menganggap agile terlalu ekstrim, sehingga mereka mengadopsi pendekatan yang lebih hybrid dengan mencampurkan pendekatan agile dan plan-driven seperti DSDM dan scrum tanpa mengorbankan prinsip-prinsip fundamental.