Sulitnya Membuat Software : Kasus KRS Online
Beberapa tahun yang lalu, gw pernah diminta memuat software untuk mencatat transaksi pembayaran siswa di suatu sekolah.Kebutuhan yang diminta sendiri sebenarnya tidak terlalu banyak : Mencatat history pembayaran SPP, uang bangunan, dan kewajiban-kewajiban lain seperti baju seragam, buku, dll. Masing-masing pembayaran memiliki aturan sendiri, sperti SPP dibayar setiap bulan, uang bangunan hanya sekali, dan lainnya.
Ok, buat kalian yang kebetulan programmer, mungkin dikepalanya akan langsung muncul struktur database. Selain database, yang juga ikutan muncul diotak palingan proses CRUD sederhana + pencarian. Soal design dan interface bisa belakangan. Ya.. ama sedikit report agregasi lah.. Gak gitu salah emang. Dulu juga yang muncul dikepala gw kayak gitu pada awalnya. Sampai.. proses development dimulai.
Semakin jauh proses development dijalani ternyata semakin banyak kebutuhan-kebutuhan dan masalah yang sebelumnya tidak terpikirkan sama sekali. Sebagai contoh, apa yang terjadi dengan siswa yang biaya sekolahnya digratiskan? Apakah dianggap sudah membayar saja? Apakah proses ini perlu diotomatisasi? Atau dilakukan manual oleh petugas? Lalu bagaimana efeknya terhadap laporan pemasukan sekolah? Terus gimana kalau biaya yang digratiskan hanya sebagian saja? Hm.. baru sampai sini sudah bikin pusing kepala. Itu belum termasuk hal-hal mendasar yang mau gak mau harus dibuat dan dipikirin alur datanya seperti struktur database siswanya sendiri. Inilah analisis software, mungkin tepatnya bussiness logic. Sangat sulit.






