Definisi SIAP dalam software development

Untuk pelanggan, yang tak pernah terlbat dalam pembangunan perisian, sebenarnya mereka tak faham apa yang programmer ni buat. Mereka sangka kerja programmer ni sekadar cuma tulis aturcara macam tulis sajak, dan kemudian siap. Diaorang tak ada idea langsung apa sebenarnya langkah langkah yang perlu diambil dalam proses menyiapkan perisian ini.

Adalah penting setiap team project mempunyai satu definisi “siap” yang dipersetujui bersama oleh ahli kumpulan kerja. Apabila kita mempunyai definisi ini, kita mempunyai task list atau framework yang perlu ditepati dalam setiap development chunk. Setiap “check” yang kita letak, maksudnya adalah software tersebut telah melalui proses yang sama demi memastikan kualitinya.

Disini saya senaraikan contoh definisi “siap” supaya boleh jadi panduan kepada team team software development, untuk memastikan hasil akhir projek adalah perisian yang bermutu dan menepati keperluan pelanggan. Definisi siap ini adalah berdasarkan praktis dalam agile scrum method.

Pada peringkat Development / coding

  • Code yang ditulis mestilah mempunyai unit test
  • Unit test mestilah sekurang-kurangnya merangkumi 80% dari keseluruhan code.
  • Code dan semua branch mestilah telah digabungkan dengan main.
  • Code boleh compile dan unit test sukses apabila dijalankan semasa automated build.
  • Skema database berada dalam source control
  • Database build/upgrade script berada dalam source control.
  • Code telah diperiksa oleh orang lain, bukan coder yang asal.

Testing, deployment, ops

  • Dokumen QA test plan tersedia
  • Software tested oleh orang lain, bukan code asal.
  • Boleh deployed dan tested dalam staging environment
  • Automated UI tests lengkap dan lulus
  • Tiada major bugs pada severity 1 or 2
  • Diperiksa oleh product owner
  • Lulus acceptance test oleh product owner
  • Dokumen deployment dan rollback plan
  • Deployment plan diperiksa oleh sys admin
  • Database diperiksa oleh dba
  • Load tested untuk menguji performance
  • Security tested
  • Deployed dalam production

Definisi siap ini perlu dipatuhi oleh setiap team member, dan sebarang perubahan walaupun cuma sedikit perubahan perlulah menjalani semula proses diatas dari awal sampai akhir. Setiap cadangan perubahan perlulah dibawa ke backlog yang akan datang.

 

Leave a Reply

Your email address will not be published. Required fields are marked *