Programmer "terprogram" untuk menyelesaikan masalah.
Pemrogram yang baik akan mencoba memecahkan masalah yang "benar".
Hanya memasok apa yang diminta seseorang adalah [sering] masalah yang salah untuk dipecahkan.
Pada hari-hari ketika otomatisasi MS Office adalah hal yang populer, Anda akan mendapatkan serangkaian pertanyaan, biasanya selama beberapa minggu, menanyakan bagaimana melakukan "ini" dalam satu produk Office, kemudian "itu" pada beberapa produk lain , lalu sesuatu yang lain lagi di yang lain. Masing-masing dengan cepat ditangani, tetapi "masalah" - belum sepenuhnya dinyatakan - tidak terpecahkan. Mereka terus kembali untuk "tautan" berikutnya dalam rantai mereka.
Jika Anda menghentikan mereka dan bertanya kepada mereka, "Mengapa?" kemudian mereka harus mundur dan menjelaskan secara lebih luas apa yang ingin mereka capai dan tidak hanya menggambarkan masalah langsung di depan mereka. (BTW, Programmer menderita dari ini sebanyak (jika tidak lebih dari) orang lain, yang dengannya seperti ini menanggung wasiat).
Rantai pengguna "Mendapatkan data dari Database besar ke Access, lalu ke Excel untuk memijatnya sedikit, lalu menyeberang ke Word sehingga mereka dapat menggabungkan hasilnya dan mengirimkannya melalui email kepada orang-orang setiap minggu" dengan cepat diganti oleh pekerjaan batch yang melakukan semua itu, dengan hasil duduk di kotak masuk orang hal pertama pada hari Senin pagi, tanpa keterlibatan pengguna manual sama sekali.
Pengguna seperti itu.
Kami perlu tahu di mana Anda ingin pergi, sebelum kami dapat menawarkan cara terbaik untuk sampai ke sana.
Sebagai alternatif, (dengan kata lain Monty Python): "Apakah Anda menginginkan jawaban 5 menit atau setengah jam penuh"?
Tidak ada gunanya Programmer mengoceh semua hal kecil dari fungsi tertentu ketika Anda hanya ingin tahu apakah itu akan mengatasinya jika Anda memberinya angka dengan tiga tiga tempat desimal.
Mengetahui perspektif Anda seringkali dapat secara radikal membentuk kembali jawaban yang Anda dapatkan.
How do I walk on water?
Why?
I want to cross the river
Build a boat.