Saya telah memiliki kemewahan merancang beberapa database kompleksitas menengah, semua digunakan dalam bisnis, dengan berbagai ujung depan termasuk web, Access, dan C #.
Biasanya, saya sudah duduk dan mengerjakan skema database terlebih dahulu. Ini selalu masuk akal bagi saya. Namun, belum ada satu pun kasus di mana saya tidak akhirnya membuat perubahan, menambahkan tabel baru, atau hidup dengan aspek-aspek yang mengganggu saya dan pada dasarnya sudah terlambat untuk memperbaikinya.
Saya tidak berpikir obatnya adalah dengan menulis kode terlebih dahulu. Dan saya tidak berpikir masalahnya adalah "persyaratan bisnis yang tidak mencukupi" atau setidaknya, tidak satu pun yang bisa diselesaikan sepenuhnya. Para pengguna tidak tahu apa yang mereka butuhkan dan saya tidak memiliki kekuatan untuk membuat mereka berpikir lebih keras atau lebih pintar atau lebih sadar atau menjawab pertanyaan saya dengan lebih baik. Atau mereka berdebat dan saya diperintahkan untuk melakukan sesuatu dengan cara tertentu.
Sistem yang saya bangun biasanya di area baru yang belum pernah dikunjungi sebelumnya. Saya tidak mendapat dukungan dari organisasi, sumber daya, atau alat untuk melakukan pekerjaan seperti yang bisa dilakukan oleh tim pengembangan profesional desain papan atas yang dibayar sebagai tim sepuluh kali lipat dari yang saya hasilkan untuk membangun sesuatu di dua kali lipat waktu.
Saya BAIK pada apa yang saya lakukan. Tetapi hanya ada satu di antara saya yang melakukannya di lingkungan yang "tidak melakukan pengembangan."
Semua yang dikatakan, saya semakin baik dalam menemukan aturan bisnis. Dan saya melihat semacam opsi ketiga:
Sebelum Anda mendesain database, dan sebelum menulis kode apa pun, gambarkan layar kasar yang menunjukkan bagaimana aplikasi akan bekerja. Mereka harus digambar tangan untuk mencegah siapa pun mengomentari font atau ukuran atau dimensi - Anda hanya ingin berfungsi.
Dengan transparansi dan potongan-potongan kertas Anda dapat bertukar masuk dan keluar, memiliki satu orang menjadi komputer, dua menjadi pengguna materi-ahli non-teknis (dua sehingga mereka berbicara dengan suara keras) dan satu orang di sana sebagai fasilitator yang membuat catatan dan menggambar pengguna tentang proses pemikiran dan kebingungan mereka. Para pengguna "klik" dan seret dan tulis di dalam kotak, "komputer" memperbarui layar, dan semua orang dapat merasakan desainnya. Anda akan mempelajari hal-hal yang tidak dapat Anda pelajari sampai jauh ke dalam proses pengembangan.
Mungkin saya bertentangan dengan diri saya sendiri - mungkin itu adalah penemuan persyaratan yang lebih baik. Tetapi idenya adalah merancang aplikasi terlebih dahulu, tanpa menulis kode apa pun. Saya sudah mulai melakukan ini dalam skala kecil, dan itu berhasil! Meskipun ada masalah di lingkungan saya, ini membantu saya mendapatkan basis data yang dirancang lebih baik sejak awal. Saya belajar bahwa kolom harus pindah ke tabel induk baru karena ada beberapa tipe. Saya mengetahui bahwa daftar kerja harus memiliki pesanan tetap yang tidak berasal dari sistem pesanan terintegrasi. Saya belajar segala macam hal!
Menurut pendapat saya, ini adalah kemenangan besar.