Cuando se desarrolla una aplicación de tamaño medio/grande se produce muchas veces la siguiente situación:
- Se dividen las tareas entre los programadores
- Se terminan las tareas. Parece que esta todo
- Se empieza a probar y el jefe se da con un fallo muy claro.
- ...
¿Como puede ser que ningun programador se haya dado cuenta? El jefe se da cuenta que la realidad es que los programadores no tienen un conocimiento del negocio para darse cuenta de ese fallo, pero como es posible? la mayoria de programadores suelen llevar tanto tiempo como el jefe en el proyecto. ¿Como es posible que no conozcan mas el negocio? La respuesta es que gran parte del trabajo del jefe consiste en aprende el negocio y como la aplicación da respuesta a las necesidades del negocio mientras que toda la jornada laboral de un programador consiste en programar. Un programador no puedes saber tanto de negocio, necesidades de cliente, etc.. como un jefe ya que NO GASTA UN TIEMPO SIGNIFICATIVO EN ELLO por lo que es lógico que no tenga ese conocimiento.
Ahora lo normal es pensar, pues deberia tenerlo. Esto hay que pensarlo bien porque para que lo tenga hay que dedicar tiempo (que no podrá usar en programar) y ademas alguien (un jefe) tendrá que perder su tiempo en explciarlo.
¿Que se puede hacer? Cada caso requerirá su propia solución. A veces merecerá la pena que programador tenga el conocimiento y otras que sea simplemente el que fabrica las piezas y son otros los que encajan esas piezas.