Agile Manifesto 01
Pendahuluan
Individual and Interaction over Processes and Tools
- Agile Manifesto
Ini adalah Agile Manifesto yang pertama, dan selalu menjadi jargon pamungkas ketika sebuah organisasi/perusahaan mengambil Agile sebagai metoda developmentnya.
Manifesto ini cukup dipertanyakan di era sekarang ini.
Apalagi di dunia IT Software Engineering dan IT pada umumnya.
Era dimana proses dan tools untuk otomasi dan orkestrasi diterapkan di semua bidang IT.
Dan ini hampir mendominasi pekerjaan kita di IT.
Misalnya :
-
Melakukan deployment ke server. Tidak perlu ada lagi komunikasi dengan tim Deployment/DevOps, karena sudah memakai otomasi dan orkestrasi, misalnya pakai CI/CD seperti GitLab CI CI, GoCD, Jenkins, Pipeline, Terraform, Scalr. Otomasi meminimalisir komunikasi dan interaksi individu.
-
Merging data committan kita ke Repository. Tidak perlu lagi komunikasi dengan developer lain. Cukup update atau rebase dari main/develop branch. Lalu kita bisa melanjutkan committan ke branching kita. Merging ke develop juga cukup merge request dan direview. Sudah begitu saja.
-
Assignment task di JIRA atau di Task Workflow Management lainnya. Cukup assign, tulis detail requirementnya. Kemudian otomatis diambil oleh seseorang, dan tiba-tiba tasknya selesai.
-
Requirement bisnis. Yang penting dari sisi bisnis mendefinisikan apa saja requirementnya. Nanti tim teknis IT tinggal mengerjakannya saja.
Tapi benarkah begitu ?
Proses dan tools
Proses dan Tools adalah alat bantu bagi kita dalam memecahkan masalah yang berulang.
Hal yang kita lihat seperti di pabrik.
Ada conveyor, mesin robot, SOP (Standar Operating Procedure), pipeline yang digunakan untuk menghasilkan barang yang diinginkan.
Project Manager biasanya sangat suka dengan sesuatu yang otomatis, punya proses dan tools yang jelas.
Process dan Tools membantu kita dalam memprediksi kerjaan dengan lebih cepat dan tepat.
Hal yang merupakan keniscayaan dalam sebuah proyek yang sudah ditentukan tanggal dateline, budget, dan kerjaannya.
Tetapi membuat Software beserta proses development nya bukanlah proses iteratif saja seperti di pabrik.
Pembuatan Software melibatkan proses berpikir, tukar bertukar ide, validasi bisnis dan teknis secara bersamaan.
Apalagi dengan kondisi VUCA di era sekarang, yang membutuhkan adaptasi dan fleksibilitas yang tinggi baik dari tim teknis dan tim bisnis, bahkan dari sisi leadership.
Apakah hal tersebut bisa diselesaikan cuma dengan proses dan tools yang ada ?
Menakar kata “Over”
Individual and Interaction Over Processes and Tools
Ada istilah Over atau melebihi di manifesto diatas.
Artinya Individu dan interaksi melebihi proses dan tools
Artinya secara implisit metoda Agile menempatkan Orang diatas Proses.
Bukan berarti proses tidak diperlukan.
Akan tetapi proses dan tools ditempatkan pada porsinya sebagai alat bantu saja.
Apa salah memakai proses dan tools ?
Tentu saja tidak.
Tetapi yang biasanya kita lihat adalah.
Semakin banyak tools dan SOP yang dipunyai, maka semakin kaku kita dalam menyelesaikan sebuah masalah.
Fleksibilitas kita dalam menyelesaikan masalah menjadi berkurang.
Untuk hal-hal yang repetitif, hal ini bagus.
Tetapi akan susah untuk kasus penyelesaian masalah yang butuh interaksi antara orang.
Misalnya tentu saja dalam menyelesaikan masalah bisnis ke dalam sistem IT.
Apa contoh nya ?
Ok..ok, kita coba buka contoh kasus di awal artikel ini :
Misalnya :
-
Melakukan deployment ke server. Tidak perlu ada lagi komunikasi dengan tim Deployment/DevOps, karena sudah memakai otomasi dan orkestrasi. Padahal sebenarnya ada porsi interaksi dengan tim DevOps mengenai perbaikan script, menambahkan plugin yang dibutuhkan, memperbaiki flow dengan teknologi yang baru, atau juga diskusi ttg teknologinya agar lebih efektif.
-
Merging data committan kita ke Repository. Tidak perlu lagi komunikasi dengan developer lain. Cukup update atau rebase dari main/develop branch. Padahal ada porsi diskusi mengenai kenapa perubahan dilakukan, gaya coding atau paradigma yang dipilih waktu melakukan coding agar saling bisa bantu membantu.
-
Assignment task di JIRA atau di Task Workflow Management lainnya. Cukup assign, tulis detail requirementnya. Kemudian otomatis diambil oleh seseorang, dan tiba-tiba tasknya selesai. Padahal ada sesi analisa task secara teknis dan diskusi ide yang lebih baik.
-
Requirement bisnis. Yang penting dari sisi bisnis mendefinisikan apa saja requirementnya. Nanti tim teknis IT tinggal mengerjakannya saja. Padahal ada sesi diskusi validasi bisnis dan teknis secara bersamaan antara tim bisnis dan teknis agar tercapai memo of understanding antara keduanya. Atau ada proses yang dianggap sebenarnya tidak perlu atau perlu ditambahkan.
Aaah ribet amat sih..
Kenapa mesti ngobrol diskusi dan meeting sih ?
Membuang-buang waktu saja.
Wait.. tidak ada yang mengharuskan Anda untuk ngobrol, diskusi, atau mengeluarkan ide-ide setiap ada kasus diatas.
Insidental saja boleh, dan paling penting adalah mindset untuk interaksi.
Its just Individual and Interaction
Karena dengan Individual and Interaction lah, ego dari masing-masing pihak tereduksi dan punya pandangan yang sama terhadap sebuah permasalahan.
Karena dengan Individual and Interaction lah, fleksibilitas bisa dicapai.
Karena dengan Individual and Interaction lah, mendevelop sebuah aplikasi Software menjadi menyenangkan.
Karena dengan Individual and Interaction lah, maka kita bisa berkomunikasi tidak seperti kanebo kering.
Kesimpulannya
Individual and Interaction Over Processes and Tools
Jargon diatas sebenarnya mencoba untuk menekankan pentingnya bagi tim dan individu bekerjasama secara manusia untuk memecahkan masalah.
Proses dan tools digunakan dalam membantu proses ini, dan bukan dikesampingkan.
Tetap keduanya berjalan bersama, bergandengan seperti truk gandeng.
Lingkungan Agile ujung-ujungnya berpusat kepada People dan partisipasi aktif dari semua pihak agar bisa beradaptasi terhadap tantangan, hambatan, ide, dan inovasi baru.