Los programadores están "conectados" para resolver problemas.
Los buenos programadores intentarán resolver los problemas "correctos".
Simplemente proporcionar lo que alguien está pidiendo es [a menudo] el problema incorrecto que hay que resolver.
En los días en que la automatización de MS Office estaba de moda, recibías una serie de preguntas, generalmente en el transcurso de unas pocas semanas, preguntando cómo hacer "esto" en un producto de Office, luego "aquello" en otro producto , entonces algo más otra vez en otro. Cada uno de estos se resuelve rápidamente, pero el "problema", que aún no se ha declarado completamente, no se resuelve. Siguen regresando para el próximo "eslabón" en su cadena.
Si los detiene y les pregunta "¿Por qué?" luego tienen que dar marcha atrás y explicar más ampliamente lo que quieren lograr y no solo describir el problema inmediatamente frente a ellos. (Por cierto, los programadores sufren de esto tanto como (si no más que) cualquier otra persona, a lo que foros como estos dan testimonio).
La cadena del usuario de "Obtener los datos de la gran Base de datos en Access, luego en Excel para darles un poco de masa, luego en Word para que puedan combinar los resultados por correo y enviarlos por correo electrónico a las personas cada semana" se reemplaza rápidamente por un trabajo por lotes que hace todo eso, con los resultados en las bandejas de entrada de las personas a primera hora del lunes por la mañana, sin ninguna participación manual del usuario.
A los usuarios les gusta eso.
Necesitamos saber a dónde intenta llegar antes de poder ofrecerle la mejor manera de llegar allí.
Alternativamente, (parafraseando a Monty Python): "¿Desea la respuesta de 5 minutos o la media hora completa"?
No tiene sentido que el Programador recite todas las minucias de una función en particular cuando solo desea saber si funcionará si le da un número con tres tres decimales.
Conocer su perspectiva a menudo puede cambiar radicalmente la respuesta que obtiene.
How do I walk on water?
Why?
I want to cross the river
Build a boat.