Bagaimana Saya Tentukan Features Mana Nak Bangunkan

Bagaimana Saya Tentukan Features Mana Nak Bangunkan

بسم الله الرحن الرحيم

Assalamu’alaikum. 

Saya terima banyak permohonan dan cadangan untuk penambahan fungsi (features) pada Mudeer. Untuk saya, ini petanda yang baik. Ia menunjukkan bahawa Mudeer membantu operasi seharian dan anda nampak potensi yang ada. Alhamdulillah.

Namun setiap tambahan (atau penghapusan) feature akan melalui proses pertimbangan terperinci sebelum dilaksanakan. Antara sebab proses ini dilakukan adalah:

  • Mengelakkan pembinaan terlalu banyak features yang tidak digunakan (atau kurang digunakan) sehingga menjadikan Mudeer sukar untuk digunakan. Ini juga dikenali sebagai feature bloat.
  • Mudahkan anda gunakan Mudeer! 
  • Supaya anda suka menggunakan Mudeer.
  • Elak berlakunya kesilapan apabila menggunakan sistem yang kompleks dan tidak mesra pengguna.

Kelemahan dan kelebihan pendekatan ini adalah:

Kelemahan: Bukan semua orang akan menggunakan Mudeer.
Kelebihan: Saya dapat bina sistem yang TERBAIK untuk anda.

Berikut adalah langkah-langkah yang saya ambil untuk tentukan features mana yang akan dibina. Ia terbahagi kepada beberapa peringkat.

1. Kenapa? Kenal pasti masalah dan sebab feature tersebut perlu dibina.

Pada peringkat ini, saya cuba kenal pasti dan faham punca masalah yang menyebabkan feature tersebut dicadangkan. 

Beberapa pertanyaan yang perlu terjawab:

  • Kenapa feature tersebut diperlukan?
  • Apakah masalah yang anda cuba selesaikan?
  • Adakah feature tersebut, betul-betul dapat menyelesaikan masalah itu. Kadang-kadang, setelah dikaji, masalah yang dihadapi boleh diatasi dengan features sedia ada.

Satu lagi faktor penting yang akan diambil kira: adakah feature ini dapat memudahkan pusat pengajian:

  • kutip yuran pelajar dan 
  • bayar elaun guru

Jika tidak, besar kemungkinan feature tersebut tidak akan diberi keutamaan atau tidak akan dibangunkan langsung.

2. Siapa? Kenal pasti mereka yang menghadapi masalah ini.

Setelah saya kenal pasti masalah yang dihadapi, saya cuba kenal pasti siapa lagi yang menghadapi masalah ini.

Soalan yang biasa saya tanya:

  • Berapa ramai yang menghadapi masalah ini? 
  • Adakah masalah ini mempengaruhi segelintir pengguna sahaja?
  • Adakah pengguna yang menghadapi masalah ini terlibat secara langsung dengan proses kutipan yuran dan pembayaran elaun guru?

3. Bila? Susun keutamaan bagi setiap feature yang hendak dibangunkan.

Pada peringkat ini, saya akan tentukan bila feature tersebut akan dilaksanakan.

Saya akan tentukan keutamaan (priority) bagi setiap feature yang akan dibangunkan berbanding semua features lain. 

Kerumitan teknikal juga akan menentukan tempoh dan bila ia akan dibangunkan. Pembangunan feature yang sukar atau yang akan banyak mempengaruhi bahagian lain dalam sistem akan mengambil masa yang lebih lama.

4. Bagaimana? Rancang dan laksanakan pembangunan feature tersebut.

Pada peringkat ini, saya kenal pasti kaedah terbaik untuk melaksanakan feature tersebut. Biasanya saya akan mula dengan menconteng beberapa process flow pada kertas untuk memudahkan saya gambarkan hasil akhir.

Kemudian saya akan pilih daripada beberapa flow tersebut, flow yang saya rasa paling mudah untuk difahami dan mesra pengguna.

Saya akan cuba pastikan supaya feature yang dilaksanakan itu tidak mengganggu proses kerja sedia ada.

Feature yang dibangunkan juga hendaklah memudahkan anda, bukan menyusahkan.

Kesimpulan

Post ini adalah sekadar perkongsian tentang proses yang saya gunakan untuk menilai dan memilih features mana yang akan ditambah atau dibuang.

Walaubagimanapun, yang paling penting dalam proses ini (sebab tu duduk pada nombor satu) adalah maklum balas berterusan anda. Saya tak dapat bangunkan sistem yang baik tanpa betul-betul memahami masalah anda.

Semoga kita dapat sama-sama bangunkan sebuah sistem yang seronok digunakan, dan dalam masa yang sama, melonjakkan usaha-usaha murni anda ke peringkat yang lebih jauh. In sya Allah.

Leave a Reply