Sebagai seorang professional dalam bidang kejuruteraan perisian, saya telah dilatih dalam pelbagai kaedah pengurusan untuk pembinaan sesebuah perisian. Kaedah paling popular adalah kaedah “Waterfall” yang telah terguna pakai sejak sekian lama. Kaedah ini amat mudah untuk dijelaskan, namun ianya juga datang dengan cabarannya yang tersendiri. Setelah sekian lama kaedah ini dipakai, saya kemudiannya melangkah ke dunia pengurusan projek sebagi seorang Scrum Master. Perubahan cara kerja daripada kaedah tradisional (seperti Waterfall) kepada Agile merupakan satu anjakan paradigma yang besar. Dalam kaedah Waterfall, perancangan dibuat secara menyeluruh dari awal hingga akhir, namun dunia pembangunan perisian sentiasa berubah mengikut keperluan pasaran dan pengguna.
Apa Sebenarnya Agile?
Agile bukan sekadar satu set peraturan atau proses yang tegar, sebaliknya ia adalah satu falsafah dan cara berfikir (mindset). Kebanyakan yang saya temui selalu tersalah tafsir aspek ini, dengan memperkenalkan Agile sebagai sebuah peraturan yang sangat ketat dan merepek.
Prinsip teras Agile memfokuskan kepada:
- Pembangunan iteratif: Memecahkan projek besar kepada kitaran kecil yang boleh dihantar secara berperingkat.
- Maklum balas pantas: Menguji dan mendapatkan maklum balas pengguna seawal mungkin.
- Fleksibiliti: Mudah menyesuaikan diri dengan sebarang perubahan keperluan tanpa merombak keseluruhan asas projek.
Memperkenalkan Scrum: Kerangka Agile Paling Popular
Jika Agile adalah falsafahnya, Scrum adalah kerangka kerja (framework) praktikal untuk melaksanakannya. Dalam Scrum, kerja distrukturkan ke dalam kitaran masa tetap yang dipanggil Sprint (biasanya 1 hingga 4 minggu).
Komponen utama dalam Scrum merangkumi:
- 3 Peranan Utama:
- Product Owner: Menentukan visi produk dan menyusun keutamaan dalam Product Backlog.
- Development Team: Pasukan teknikal rentas fungsi yang membina produk.
- Scrum Master: Pemudah cara (facilitator) yang memastikan prinsip Scrum dipatuhi, melindungi pasukan daripada gangguan luar, dan menghapuskan sebarang halangan (blockers).
- Acara (Ceremonies):
- Sprint Planning: Menentukan apa yang ingin disiapkan dalam Sprint tersebut.
- Daily Scrum / Standup: Perjumpaan harian ringkas (15 minit) untuk menyelaraskan kerja harian.
- Sprint Review: Demonstrasi ciri yang telah siap kepada pihak berkepentingan.
- Sprint Retrospective: Sesi refleksi pasukan untuk menambah baik proses kerja seterusnya.
Sudut Pandang sebagai Scrum Master
Peranan Scrum Master bukan seperti pengurus projek tradisional yang sekadar mengarah atau memeriksa status tugasan (command and control). Sebaliknya, ia berteraskan konsep Servant Leadership. Dengan konsep ini, Scrum Master tidak ada sebarang kuasa (authority) ke atas Development Team mahupun Product Owner, tetapi lebih kepada:
- Menjadi Pelindung Pasukan: Memastikan fokus pembangun tidak terganggu dengan permintaan luar yang tidak terancang.
- Memupuk Ketelusan dan Kepercayaan: Membina persekitaran yang selamat untuk pasukan berbincang secara terbuka mengenai masalah teknikal atau proses.
- Penambahbaikan Berterusan (Kaizen): Membimbing pasukan untuk sentiasa belajar daripada kesilapan lalu dan meningkatkan kecekapan setiap kali selesai satu Sprint.
Melaksanakan Scrum bukan bermakna tiada perancangan langsung, tetapi merancang secara adaptif dan berterusan. Bagi pasukan yang ingin menghasilkan perisian berkualiti tinggi dalam persekitaran yang dinamik, Scrum menawarkan struktur yang seimbang antara disiplin dan fleksibiliti. Ikuti blog saya ini dan saya akan menulis berkenaan Scrum dan juga Agile dari masa ke semasa.

Be First to Comment