El síndrome NIH (Not Invented Here)
En Why we use Ant (or: NIH), Bruce Eckel nos advierte de los peligros del síndrome de “No inventado aquí” (NIH, Not Invented Here). Cuando pienses en crear tu solución propia en lugar de usar el componente o software pre-existente, piensa que:
- Nunca es tan sencillo como parece. Empiezas pensando que lo puedes hacer en dos días, y acabas invirtiendo meses.
- Probablemente no es la guerra en la que deberías estar. Sería mejor invertir ese tiempo en tu negocio que en hacer algo que ya existe.
- Mucha gente lo ha intentado antes y falló. Todos nos creemos los programadores más listos sobre la tierra, pero es para pensarlo.
- Consideraciones políticas. Si piensas comercializarlo después, tu producto se encontrará con la barrera de entrada de los productos pre-existentes. Aunque sean peores que el tuyo, el cliente conoce los otros productos.
El artículo es entretenido en si mismo, lleno de jugosas anécdotas, el tipo de relatos que nos gusta a los programadores :-) (por lo menos, el tipo que a mi me gustan) .
http://www.russellbeattie.com/notebook/1005616.html
Y creo que en el caso de SWT, le viene como anillo al dedo.
http://www.joelonsoftware.com/articles/fog0000000007.html
Saludos
En cualquier caso la conclusión es interesante: Si quieres diferenciar a tu empresa en algo, no subcontrates ese algo. Efectivamente, si subcontratas, el contratista puede vender lo mismo a otro y se acabo tu diferenciación.
Ahora bien, si tu haces un programa de facturación, ¿no debes usar el componente pre-existente de, por ejemplo, menú? Tu no te vas a diferenciar por ese menu de la competencia, sino por la funcionalidad de tu programa. Está claro que esto ya es una cuestión de riesgo: ¿Puedo confiar en que ese componente me va a dar toda la funcionalidad que necesito? ¿o mejor lo implemento yo? Depende, depende, es una cuestión de coste frente a riesgo.
Por un lado Swing hace las cosa distintas a SWT. Hay quien dice que el modelo de Swing es más escalable, más adaptado a MVC y más fácil de programar. Hay quien dice también que el problema de Swing es cómo se utiliza (mal) y no una carencia del propio sistema (vease el proyecto jgoodies en java.net).
Finalmente creo que existen menos plataformas en las que SWT corre que en las que corre Swing, y Sun promociona tecnologías 100% java.
En cualquier caso tu sabrás más de esto. Mi negocio es java en el servidor y estos temas no los sigo demasiado.
Un saludo.
Ah, y tienes razón, la respuesta a casi todas las preguntas es "depende" ;-)
Saludos
:-)
Comentarios cerrados para este artículo