¿Qué tan “comercialmente inteligente” deberían ser los desarrolladores de software? [cerrado]

7

He estado viendo las respuestas a muchas preguntas en este sitio y he llegado a la conclusión de que el pragmatismo comercial no se incluye en muchas discusiones sobre el desarrollo de software. Como resultado, me pregunto seriamente sobre las habilidades comerciales dentro de la industria, específicamente la capacidad de entregar proyectos a tiempo y dentro de un presupuesto. No veo ninguna indicación en el sitio de que la entrega de proyectos comercialmente exitosa sea una preocupación seria, sin embargo, la industria tiene una reputación de bajo desempeño en esto.

Rara vez, si alguna vez, el costo del tiempo se toma en cuenta en las discusiones. Nunca he visto conceptos como el costo de oportunidad, el tiempo de comercialización, la ventaja competitiva o el flujo de efectivo mencionados, y mucho menos se analizan en las respuestas técnicas a las preguntas. ¿Cómo puede responder virtualmente a cualquier pregunta sin comprender los antecedentes comerciales sobre los que se realiza?

Incluso los proyectos de código abierto tienen la necesidad de operar de manera eficiente y desplegar sus recursos limitados para proporcionar el mayor valor por el esfuerzo. Por lo general, las pequeñas empresas nuevas tienen problemas de flujo de efectivo que superan las preocupaciones sobre la longevidad, pero aún así se les recomienda construir para un futuro que probablemente no tendrán si lo hacen.

¿Es justo decir que estos problemas son únicamente los gerentes y gerentes de proyectos que deben resolverse o nosotros, como desarrolladores, también somos responsables de asegurar el éxito a tiempo, dentro de la entrega de proyectos de presupuesto, incluso si esos presupuestos no permiten su uso? ¿Para alcanzar la excelencia en ingeniería?

    
pregunta mattnz 21.09.2011 - 07:42

3 respuestas

6
  

No veo ninguna indicación en el sitio de que la entrega de proyectos con éxito comercial sea una preocupación seria ...

Comentario: Creo que estás siendo bastante selectivo en tu lectura. Las personas a menudo incorporan los aspectos comerciales del desarrollo de software en sus respuestas. Pero dicho esto, este sitio está destinado a la discusión del lado de programación de nuestra industria, por lo que no es sorprendente que de eso se haya hablado en su mayoría.

  

¿Es justo decir que estos problemas son únicamente los gerentes y gerentes de proyectos que deben resolverse o nosotros, como desarrolladores, también somos responsables de asegurar el éxito a tiempo, dentro de la entrega de proyectos de presupuesto, incluso si esos presupuestos no permiten su uso? ¿Para alcanzar la excelencia en ingeniería?

Este último, IMO. Y los desarrolladores experimentados / experimentados reconocen esto. Pero esa no es toda la historia porque un producto de ingeniería menos que excelente a menudo está empujando los costos (de varios tipos) hacia el futuro. Y los tipos de gerentes con frecuencia no entienden esto o lo minimizan con la alta gerencia, los clientes, etc. (y adivinen a quién se culpa por el trabajo de mala calidad ...)

Pero "¿Y qué ?!". ¿Qué propones hacer al respecto? ¿Hacer un MBA una calificación obligatoria para los programadores de Java?

Tal como lo veo, la parte comercial del desarrollo de software es principalmente la responsabilidad de los gerentes. Nosotros (los programadores) podemos ayudarlos a hacer su trabajo entendiendo lo que necesitan los usuarios, haciendo las preguntas correctas, brindándoles el asesoramiento correcto, etc. Y tener conocimiento de los negocios nos ayudará a hacerlo.

Pero la conclusión es que los gerentes suelen ser los que tienen experiencia en negocios y calificaciones, y es principalmente su responsabilidad. (Y si no, ¿por qué la compañía los emplea en primer lugar?)

Y cuando tengamos esa experiencia, usaremos el sombrero de "gerente" ... a menos que trabajemos duro para evitarlo.

    
respondido por el Stephen C 21.09.2011 - 08:40
5

Joel Spolsky tiene una vista de este aquí que tiene mucho sentido ...

"... un programador que entiende los fundamentos de los negocios va a ser un programador más valioso, para un negocio, que un programador que no lo hace. Eso es todo. No puedo decirle cómo muchas veces me he sentido frustrado por programadores con ideas locas que tienen sentido en el código pero no tienen sentido en el capitalismo. Si entiendes esto, eres un programador más valioso, y serás recompensado por ello ... . "

    
respondido por el dodgy_coder 21.09.2011 - 08:00
2
  

¿Es justo decir que estos problemas son únicamente los gerentes y los gerentes de proyectos para resolver ...

En un mundo perfecto, sí.

He estado en algunos proyectos donde los gerentes fueron lo suficientemente buenos como para manejar estos problemas por sí mismos, distrayendo a los programadores solo con un mínimo de pasos laterales principalmente educativos en "área de negocios". Debo admitir que en estos proyectos me sentí más productivo como programador.

El mundo está lejos de ser perfecto. Si el gerente / la compañía no es de primera categoría, los desarrolladores deberían aprender a manejar / discutir asuntos relacionados con los negocios y los costos.

  • "Si su administración no sabe cómo administrar un proyecto de ingeniería exitoso, o su departamento de marketing no sabe cómo acceder a los clientes, o si no le dice lo que quiere el cliente, o si su los abogados no manejan su propiedad intelectual correctamente, o si el arquitecto jefe no tiene la capacidad de crear una arquitectura simple y consistente, entonces su trabajo puede ser en vano, y puede pasar años construyendo cosas que nunca ven la luz de día. "
    ( Las cosas que desearía haber aprendido en la Escuela de Ingeniería )
respondido por el gnat 21.09.2011 - 09:23

Lea otras preguntas en las etiquetas