Kupas Tuntas Seputar Agile Dan Contoh Penerapannya

 

Startup, perusahaan digital, atau bahkan programmer yang sedang melayani clientnnya untuk mengerjakan sebuah aplikasi memiliki metode. 

Metode ini menjadi panduan baku yang kerap digunakan dimananpun dalam pengemabangan produk digital

Lebih mudahnya saat kita membangun aplikasi mobile. Kita akan mempelajari bahasa pemograman apa saja yang dibutuhkan, juga serba serbi framework dan tool yang memudahkan segala prosesnya

Metode yang baru saja saya ceritakan diatas dinamakan Agile. Sedangkan project yang menerapkan konsep tersebut dinamakan, Agile Project

Apa Itu Agile dan Agile Project?

Menurut Wikipedia

Sekumpulan praktek yang bertujuan untuk menaikkan keefeketifan pengembangan suatu aplikasi secara profesional, tim dan terorganisir. Agile melibatkan pengembangan solusi melalui usaha secara kolaboratif dari sifat yang sudah terorganisir, fungsionalitas dan pelanggan

Metode ini sangat mengandalkan kolaborasi. Mulai dari para engineer hingga product manager, semuanya harus melalui sebagian proses agile

Sedangkan proses Agile memiliki alur seperti ini

Data. Data ini diambil biasanya dari sentimen para konsumen aplikasi kita. Cara mendapatkannya sederhana, biasanya kita akan melihat dari feedback yang diberikan pengguna, melihat rating bintang, atau turun langung ke forum forum seputar kendala dan manfaat yang didapat dari aplikasi kita

Jika aplikasi kita baru, maka kita bisa melihat keunggulan aplikasi kompetitor dan menerapkannya sendiri. Pastinya akan dijumpai kekurangan, tugas kita adalah menangggulanginya

Learn. Setelah kita mendapatkan data berupa feedback atau bisa jadi kebutuhan pasar, maka selanjutnya kita mempelajari teknologi yang bisa menyelesaikan rangkaian permasalahan. Jika kita ingin membuat aplikasi mobile, misalnya. Maka teknologi apa yang murah, efektif dan mudah dikolaborasikan bersama product manager dan engineer.

Product. Setidaknya setelah kita mempelajari segala tetek bengek, dan permasalahan, dan mengatasinya. Maka semua itu harus berakhir menjadi sebuah product yang disajikan kepada konsumen

Measure. Product yang sudah jadi harus kita ukur. Mulai dari skalabilitasnya, kapasitasnya, dan beberapa faktor yang barang kali bisa menjadi kesempatan kita untuk mengembangkannya. Termasuk mengukur target pasar siapa saja yang menikmati produk kita

Repeat. Ulangi proses ini, kembali lagi dapatkan data dari segala pengukuran (measure), pelajari, jadikan product yang lebih baik, ukur lagi, dan dapatkan data. Seterusnya, secara berulang ulang

Sedangkan Agile Project adalah project yang dijalankan sesuai dengan proses diatas. 

Sebenarnya tidak ada definisi baku atas bagaimana agile itu bekerja sendiri. Maka dari itu di akhir postingan ini saya akan menjelaskan seputar agile manifesto

Jenis Jenis Agile Development

Karena memang tak ada terms yang mendefisinikan agile ini, maka ada beberapa jenis pengembangan aplikasi/product kita di luaran sana, yang sama sama menerapkan prinsip agile, yang berulang ulang

  1. Adaptive Software Development (ASD)
  2. Agile Modelling (AM)
  3. Crystal
  4. Dynamic System Development Method (DSDM)
  5. Extreme Programming (XP)
  6. Feature Driven Development (FDD)
  7. Rational Unified Process
  8. Scrum Methodology

Menarapkan Agile Untuk Para Developer

Apakah kamu seorang developer, seorang programmer, atau seorang engineer? Maka sepertinya kita harus mengerti bagaimana prinsip agile ini diterapkan di lingkungan para developer

Memang sepertinya apa yang saya akan jelaskan dibawah ini terkesan nyeleneh.Maklum, developer adalah orang yang bekerja dengan orang banyak  dan menuntut produktifitasan dan fungsionalitas. Jika menjadi nyeleneh adalah satu satunya cara untuk menggapai keefektifitasan, maka mau tak mau semua itu harus dikerjakan

Jangan Mulai Dengan Proses

Lho, kenapaa begitu? Bagaimana saya bisa menyelesaikan product saya jika saya tak boleh melakukannya dengan proses?

Bukan, tanpa proses disini adalah maksudnya menyusun segala proses dan berharap segala perencanaan itu sesuai dengan yang diharapkan

Alih alih menyusun rencana dan terlalu stick dengan perencanaan, bagaimana jika kita buat product itu berdasarkan data apa saja yang kita dapat, mulai dengan sedikit proses, evaluasi, buang yang tak perlu, dan tambahkan jika itu mendukung

Saya akan membagikannya menjadi tiga bagian

1. Mulai dengan proses sekecil mungkin

2. Dapatkan Feedback

3. Tambah/Kurangi Proses Kapanpun dibutuhkan. Ingat, tak ada aturan dogmatis tentang bagaimana proses agile ini bekerja

Inilah saat saat dimana kita memungkinkan menerapkan semua itu

Setiap hari. Jika kamu adalah seorang manager dari proses ini, maka biarkan para engineer bekerja satu sama lain dan berkolaborasi

Setiap minggu. Setiap minggu kumpulkanlah para engineer untuk bisa meeting. Tak usah berbicara banyak seputar bagaimana meningkatkan prodcut, namun cukup bicarakan bagaimana tim kita bisa semakin efektif dalam beraktifitas

Ketahui Bagaimana Software Project Management Bekerja Terlebih Dahulu

Memang saat ini kita sedang membicarakan bagaimana sistem agile bekerja, namun sudah selayaknya paa engineer dan developer bagaimana project pembuatan software

1. Kumpulkan Yang Dibutuhkan

2. Rancang Sistem

3.  Kembangkan Sistem

4. Test dan Cari Bug (jika ada)

5. Deploy Sistem

6. Maintain (itu pun hanya terkadang)

Proses ini biasa disebut sebagai Waterfall Model dikatakan waterfall (air terjun) karena memang proses ini hanya mengandalkan langkah langkah satu arah.

Untuk aplikasi/product sederhana menggunakan warerfall memang lebih mudah dikerjakan. Namun ketika kita menghadapi case yang lebih besar maka metode ini tidak efektif. Karena kita tak bisa kembali kepada proses dimana aplikasi/product kita direview atau dibenahi

Maka dari itu kita harus menerapkan metode agile. Karena agile sangat mendukung konsep kolaboratif disetiap tim dan berjalan dengan berulang ulang. 

Agile manifesto adalah sebuah konsep dan nilai nilai bagaimana agile diterapkan. Berikut

1. Individual & Interaksi > Proses dan Alat

2. Software Yang Berjalan Dengan Baik > Dokumentasi Yang Mudah Dipahami

3. Kolaborasi Antar Konsumen  > Negosiasi Kontrak

4. Adaptif Terhadap Perubahan > Mengikuti Rencana



 

Jika kita bekerja pada lingkungan pekerjaan yang kolot. Maka sepertinya, agile metodology diatas akan sangat mengejutkan. Apakah mungkin mengandalkan para manusia ketimbang proses dan perencanaan? Tentu agile menjamin penyelesaian project seperti itu, karena di lingkungan pekerjaan pada saat ini pun mengikuti perubahan berdasarkan konsumen sudah sangat lumrah terjadi

Setelah kita membahas metodologi, nilai nilai, prinsip dan beberapa konsep bagaimana agile diterapkan. Kini kita akan belajar hal hal yang lebih konkrit

Agile Toolset. Perlengkapan Sebelum Segalanya Dimulai

Layaknya sebuah pertempuran atau membangun istana. Maka kita memerlukan cangkul, pasir dan semen untuk mewujudukannya

Begitu pula untuk membangun tim yang berjalan secara agile. Kita membutuhkan segala perlengkapan, alat yang secara konkrit bisa kita rasakan. Sehingga kita merasa kita adalaha bagian dari proses ini

Saya mulai dengan mengetahui bagaimana proses agile bekerja. Barangkali sampai sini ada yang bingung terkait dengan proses, mengapa kita tak boleh mengedepankannya terlebih dahulu

Buat Aplikasi PHP Pertamamu Yuk!

Proses Tak Perlu Baku atau Too Much Sticked To The Plan

Betul, ada beberapa hal yang bisa kita sebut juga sebagai proses dan itu tak masalah. Gunakan beberapa proses atau cara dibawah sesuai dengan studi kasus kalian. Kita akan bedah satu persatu

Stands-Up. Meeting harian yang fokus pada tiga pertanyaan. Apa yang sudah dikerjakakan kemarin, hari ini, dan apakah ada sesuatu yang menghalangi segala rutinitas mereka

Retrospectives. Meeting yang mendiskusikan tiga hal. Apa yang sudah berjalan dengan baik, apa yang belum, dan apakah ada yang harus dirubah dari proses yang sudah berjalan kemarin?

Back-logs. Daftar segala task atau tugas yang harus dikerjakan

Sprints. Waktu yang ditentukan untuk menyelesaikan suatu daftar pekerjaan (Backlogs), biasanya berkisar antar 1 atau 2 minggu

Pair Programming. Ketika dua programmer mengerjakan pekerjaan bersama sama. Biasanya satu akan mengajakan dan yang lain lebih dominan untuk mendengarkan. Sangat cocok  untuk team-building untuk segi ilmu

Pull Request. Ketika kode sudah selesai, maka kode tersebut akan direview. Sangat baik untuk menunjang kualitas kode yang baik

Roles. Pastikan Seluruhnya Punya Tanggung Jawab Yang Jelas

Project Manager / Scrum Master. Peran yang memiliki tugas untuk memastikan segalanya berjalan dengan baik dan lancar. Karena pada dasarnya programmer atau engineer tak menyukai segala aktifitas adminisrasi pada pekerjaan mereka, sehingga diperlukan seseorang yang menghandle semua itu.

Product Owner. Biasanya orang ini tidak memiliki skill yang mendalam pada bagian teknologi, namun kemampuan yang diperlukan darinya adalah mengkomunikasikan kebutuhan programmer yang

Agile Methodology

Ada banyak agile methodology di luar sana. Namun saya akan memberikan dua contoh saja, yaitu Scrum dan Kanban. Keduanya sangat cocok bagi kita yang ingin menerapkan prinsip agile ini sebagai permulaan

Kanban

Kanban sangat cocok diterapkan untuk peningkatan product yang konsisten. Biasanya kita akan meletakkan beberapa tugas pada suatu papan atau buletin (Jika kalian menggunakan trello seharusnya sangat familiar dengan ini) lalu nanti para developer atau engineer akan menyelesaikannya satu persatu tanpa ada aturan deadline

Scrum

Jika kalian masih ingin menggunakan prinsip deadline sepertinya, Scrum cocok dipilih. Katakanlah project yang saat ini dikerjakan harus selesai selama satu bulan. Maka kalian membaginya menjadi beberapa hari atau beberapa minggu untuk melaporkan segala hasil prosesnya. Setelah itu hasil pekerjaan dievaluasi untuk meraih hasil terbaik

Ingin Kerja Di Startup? Cari Tahu Dapat Tawaran Pekerjaan Lewat LinkedIn

Contoh Contoh Penerapan Agile Pada Perusahaan Digital

Nama nama perusahana dibawah menerapkan proses agile dalam bisnisnya. Namun jangan sampai terpaku atau menganggap bahwa proses yang mereka lakukan sudah sempurna. Justru dengan mereka menerapkan proses agile, mereka sebenarnya masih terbuka atas segala perubahaan dan adaptasi. 

Lihatlah bagaimana keluaran atau hasil terbaik yang mereka lakukan. Jika itu bermanfaat, bisa saja kita terapkan pada bisnis yang kita jalani saat ini

Spotify. Autonomous Tribes

Dulu Spotify mengadopsi konsep fairly verbose framework, dimana mereka membagi divisi tim engineer menjadi tiga bagian Tribes, Chapters dan Guilds. Ini memungkinkan segala pengembangan aristektur aplikasi berjalans sangat ter-decentralized atau tak terpusat dan terbagi bagi sesuai dengan divisnya masing masing

Amazon. Press Release

Tak banyak aturan atau framework yang ada dalam konsep yang Amzon pilih ini. Sesuai dengan namanya Press Release, tim engineer pada Amazon lebih mengedepankan alasan atau "why" atas segala peningkatan fitur dan dampak yang mereka ingin berikan dari para konsumen mereka

WhatsApp. No Process

Betul, No Prosess. Tanpa proses. Bahkan di salah satu pertemuan antat tim pada perusahaan diakui bahwa setiap engineer memiliki semacam backlog dimana mereka memiliki kuasa atas segala apa yang mereka kerjakan. Dan itupun hanya satu yang diberikan: Benahi bugs terlebih dahulu

Ini juga memungkinkan para engineer bisa saling berkomunikasi dan bekerja sama atas bug apa saja yang mereka atasi

Tulisan ini bisa kalian baca dalam versi bahasa inggris disini



Comments

Video Baru!