Agile Development sudah jadi salah satu cara hidup dan bekerja sejumlah software house dan developer pada umumnya. Entah menggunakan tool SCRUM, Kanban, Trello dll semuanya tentu menginginkan project ‘selesai’ tepat waktu dan sesuai rencana.

Definisi sebuah project atau sub project itu ‘selesai’ juga harus jelas. Meskipun terkadang tidak jelas, entah karena terpaksa atau karena malas saja. Menurut om Paul M. Jones, salah satu developer dan tokoh kunci beberapa fitur di Zend Framework, mengatakan setidaknya ada 14 kriteria sebuah project dinyatakan ‘Selesai’:

  1. Source code telah memenuhi standar coding yang ditetapkan,
  2. Cakupan test unit yang cukup tinggi atas semua routeaction methods dan controller
  3. Cakupan test unit yang cukup tinggi atas semua logika bisnis dan repositori yang dipakai
  4. Cakupan yang cukup tinggi untuk otomasi UI dan integrasi pemenuhan test yang ada
  5. Source code sudah di review oleh sekelompok orang (peer reviewed)
  6. Source code harus sudah masuk di Source Control System dan proses build dan otomasinya harus berhasil (hijau)
  7. UI tampak baik dan bekerja dipelbagai resolusi pada semua browser terkenal dan beberapa edisi browser
  8. UI memenuhi kebutuhan aksesibilitas yang ditentukan sebelumnya
  9. UI dapat bekerja baik dengan maupun tanpa javascript
  10. Panduan penggunaan/tooltip dkk selesai dibuat
  11. Audit dan tracing source code sudah ditambahkan dan hasilnya terbaca dan berguna,
  12. Keamanaan akses sudah dipasang dan bisa diotomasi untuk diuji,
  13. Otomasi skrip migrasi database bisa dijalankan dan data sample bisa digunakan,
  14. pengguna sudah menguji fitur dan senang menggunakannya

Sedangkan menurut Kelly Waters dari AllAboutAgile.com, ada 10 poin yang menentukan sebuah project bisa dikatakan ‘selesai’:

  1. Source code sudah selesai ditulis semua (semua to do list sudah terpenuhi)
  2. Source code sudah punya komentar penjelasan, di cek dan berjalan sebagaimana yang ada di repo source code,
  3. Sudah mengalami peer reviewed, direview oleh banyak orang dan memenuhi standar development yang ditentukan
  4. Berhasil di build dengan hasil tanpa error
  5. Test unit sudah ditulis dan dipenuhi
  6. Berhasil dipasang di environment testing dan memenuhi syarat
  7. Memenuhi skor UAT (User Acceptance Testing)
  8. Seluruh proses build, deploy dan configure bisa diimplementasikan, didokumentasikan dan dikomunikasikan
  9. Dokumentasi/diagram yang ditulis relevan, dan atau diperbarui
  10. Seluruh jam yang tersisa dari task tersebut sudah di set 0 dan ditutup.

Nah, gimana gan, setidaknya sebuah project yang kita kerjakan sudah memenuhi berbagai kriteria diatas belum? Kalau belum, mari kita sama-sama belajar menyelesaikan project dengan memenuhi semua todo list, semua unit test, dokumentasi dan tentunya outputnya sesuai yang diharapkan!

Sumber: