¿Cómo puedo justificar una tecnología sobre otra? (Java sobre .NET)

7

Estamos trabajando en una empresa Java / .NET y mi equipo y yo estamos planeando un proyecto para un cliente.

Uno de los requisitos es que el proyecto debe realizarse en .NET

Le pregunté acerca de este requisito, y el cliente dijo que no importa, y que si tengo una buena razón podemos usar otra tecnología. Pero, tengo que justificar la decisión.

Como Project Manager / Analyst, estoy interesado en realizar el proyecto en Java porque:

  • El equipo sabe java mucho mejor, en relación con el lenguaje y los marcos
  • No sé nada acerca de la tecnología .NET (y tal vez podríamos tomar malas decisiones pensando en una forma Java de hacer las cosas)
  • Hay otras personas en la compañía que tienen más habilidades en .NET pero tienen otros proyectos con más prioridad.

Por experiencia, estoy seguro de que si usamos Java, el proyecto tendrá mucha más calidad. Pero estos argumentos podrían ser débiles desde la perspectiva del cliente.

¿Cómo puedo justificar la realización del proyecto en Java?

EDITAR: No estoy preguntando si una tecnología es mejor que otra. "No es una guerra tecnológica" pregunta.

    
pregunta user674887 16.11.2011 - 14:27

6 respuestas

16

¿Por qué es débil el argumento de que producirá un producto de mejor calidad en Java?

Suponiendo que la tecnología con la que está familiarizado se puede usar (relativamente) fácilmente para implementar las soluciones que necesita , debe utilizar la tecnología que usted (como desarrollador) conoce por varias razones:

  • Está más familiarizado con las bibliotecas, los marcos y las herramientas, por lo que trabajará más rápido.
  • Producirás un producto de mayor calidad por la misma razón y esto te llevará a:
    • Un producto más estable, por lo tanto, menos llamadas de soporte.
    • Desarrollo más fácil de mejoras

Por el contrario, el uso de una tecnología desconocida conducirá al desarrollo

  • tardando más tiempo
  • es más probable que tenga errores y, por lo tanto, requiera más apoyo
  • será más difícil de extender en el futuro

Obviamente, esto solo es cierto si no hay un caso de negocios para usar una tecnología en lugar de otra. Tal caso sería cuando el cliente tiene la infraestructura y las habilidades de TI para .NET y no Java (o viceversa).

    
respondido por el ChrisF 16.11.2011 - 15:07
3

No creo que haya un cliente en este planeta que considere que la calidad es un argumento débil.

Sin embargo, como gerente / analista de proyectos, realmente no creo que debas ser tú quien tome esta decisión. Pregunte al equipo qué quieren usar y por qué. Deje en claro que tiene que ser una razón que usted pueda explicar al cliente (es decir, algo más beneficioso para ellos que "Quiero .NET en mi CV"). La autonomía es el principal motivador para los desarrolladores de software , y permitir que tomen decisiones técnicas es importante. Son los más calificados para decidir y ellos serán los que tendrán que vivir con la decisión.

Si tienen buenas razones para elegir .NET, entonces déjalos. Su falta de conocimiento de la tecnología es irrelevante. Pero es más probable que escojan el que les resulte más cómodo, lo cual es una razón perfectamente válida para elegir Java.

    
respondido por el pdr 16.11.2011 - 14:45
2

Me puse en tus zapatos y definitivamente iría por Java, pero por lo que entendí, ya tomaste la decisión. Su problema es cómo explicar la decisión al cliente. (corrígeme si me equivoco).

Le diría que su equipo tiene más experiencia en Java que en .Net.

No tome una decisión de marketing barata para un cliente y dígale que Java se adaptaría mejor para ese proyecto porque eso sería una gran mentira. no porque .Net sea mejor que Java, porque no tiene experiencia en .Net y no sabe si sería adecuado para este proyecto o no.

    
respondido por el tugberk 16.11.2011 - 15:36
1

Respuesta corta rápida:

Java es un marco de programación (tecnología) bueno, estable y actualizado, y tenemos años de experiencia con ellos. (Se lo puedes decir a tu cliente)

Respuesta larga, aburrida, descriptiva y filosófica:

Como se mencionó en otras publicaciones, ya tiene la respuesta, su equipo tiene más experiencia en la "tecnología" de Java que en la tecnología ".NET".

Ambas tecnologías tienen buenas características, pero requieren tiempo y amp; Habilidades para aprenderlos. ".NET" tiene algunas características mejoradas.

No puedes descartar ninguno de ellos por estar "obsoleto" o sin "bibliotecas suficientes", "no admitir idiomas internacionales" u otras cosas.

Proponer el marco de Java.

Sin embargo, puede considerar poner a algunos de sus desarrolladores a practicar con ".Net" con un "mundo real", no con los requisitos de los libros.

Por ejemplo, en algún tiempo libre, permítales hacer algunos formularios o páginas web que tengan un propósito idéntico, utilizando una copia del mismo D.B. Incluso, si parece una pérdida de tiempo. De esta manera, se preparará cuando llegue otro cliente y desee una aplicación similar, pero con ".NET"

Oracle, comienza a poner Java en la pista.

Solo mis 2 hamburguesas (2 centavos).

    
respondido por el umlcat 16.11.2011 - 17:46
0

Preferiría responder, no como programador, sino como administrador. Soy responsable de un futuro dentro de mi departamento donde el desarrollo sigue siendo asequible y flexible.

Prefiero Java, no porque Java pueda funcionar en múltiples plataformas (¿quién migra realmente las aplicaciones Java a través de plataformas?), sino porque mis desarrolladores (con Java como solo uno de los entornos) pueden trabajar en múltiples plataformas. Estoy mucho más preocupado por educar a los desarrolladores con muchas habilidades que tienen ganas de aprender tecnología.

Si compro .Net simplemente porque me permite contratar a un programador barato o ayudarme a seguir con Windows (posiblemente fácil de administrar), entonces bloqueo mi comunidad de desarrolladores a una plataforma. El único futuro garantizado es que Microsoft encontrará una manera de cambiarlo y luego me cobrará más por el privilegio.

    
respondido por el Drew 30.11.2011 - 17:27
0

Me sorprende que nadie haya mencionado el costo. .net va a costar más al cliente por mantener y comprar el marco, mientras que Java es gratuito e independiente de la plataforma. Cuánto discute: al final, la JVM se envía gratis con cada sistema operativo y CLR no.

    
respondido por el A4coder 17.04.2013 - 03:19

Lea otras preguntas en las etiquetas