¿Cómo se puede vender una idea como "deberíamos usar jQuery porque su marco altamente optimizado y compatible con varios navegadores" o "el marco de la entidad es genial porque está ordenado y se ocupa de nuestro modelo automáticamente" cuando la respuesta común es una declaración en blanco como "jquery no funciona bien "o" las entidades traen 12 columnas en una tabla cuando solo necesitamos 10 "?
Soy un tipo pragmático que tiende a confiar en los axiomas que he desarrollado a través de la experiencia (no es un problema de rendimiento hasta que haya una desaceleración visible). No sé si hay una "categoría" específica en la que encaje el otro extremo, mientras que todo es un problema de rendimiento hasta que se demuestre lo contrario ... o incluso dónde comenzar la comunicación aquí.
fuente
Respuestas:
¡Tráigalos hechos concretos!
Por ejemplo, existen puntos de referencia de rendimiento para los marcos ORM y JS. Además, todo el framework y ORM tienen buenos argumentos de venta en su página de inicio.
Después de leer su comentario, creo que en su caso el problema no es la tecnología adecuada. Son las personas que se niegan a aprender nuevas tecnologías.
fuente
Enfrenté este problema antes, gente que quería reinventar la rueda. Por lo general, les explico que podemos mejorar y pulir el producto si pasamos tiempo perfeccionando lo que es importante y no lo que hay debajo. Además ... quiero decir que los marcos están ahí por una RAZÓN, y el rendimiento realmente no es un problema en estos días. La confiabilidad es más importante, y si los marcos tienen buenas revisiones / calificaciones, entonces probablemente sean más confiables que algo que cualquiera pueda inventar sobre la marcha.
fuente
Todo el mundo parece estar en desacuerdo con su colega, pero creo que debería tomarse en serio sus argumentos si no es por otra razón que no sea entender su punto de vista. Creo firmemente en los marcos cuando los necesita o cuando realmente proporcionan optimización, pero también creo que la dependencia excesiva de un marco puede conducir a un desarrollo débil en algunos casos.
Creo que debería abordar el problema menos desde el punto de vista de que su compañero de trabajo está equivocado y más desde el punto de vista de que el uso de los marcos en los que está pensando mejorará el tiempo de desarrollo, el rendimiento, el mantenimiento, etc.
Siempre trato de tener en cuenta el uso de la herramienta adecuada para el trabajo correcto. No necesito un trineo de 12 lb (jQuery) para clavar un clavo para colgar una imagen (intercambio de imágenes). Pero si me encuentro con una situación en la que cuelgo una imagen que requiere una punta de ferrocarril para mantenerla en la pared, es mejor que tenga listo el trineo.
fuente
tiene razón, hay gastos generales
pero la suposición de que la sobrecarga de un marco es más que una solución codificada a mano puede no ser correcta, e incluso si es correcta, la sobrecarga puede no ser significativa.
proponer una prueba:
lo más probable es que haya una pequeña sobrecarga con el marco, muy pequeña, pero una gran diferencia en cuánto tiempo lleva codificar [y depurar] la solución
entonces tu amigo puede discutir los hechos, en lugar de contigo
nota: prepárate para una resistencia continua; muchas veces el rechazo a los frameworks se expresa en términos técnicos, pero en realidad es una cortina de humo para "no inventado aquí" o "No quiero aprender otra herramienta"
fuente
Recuerde a su colega que reinventa las ruedas que lo que está haciendo es una variedad de Optimización prematura. ¿Cómo puede saber que estos marcos representan un impacto de rendimiento inaceptable hasta que se demuestre que causan un problema? Mientras tanto, su productividad mutua seguramente habrá disminuido con todo el trabajo adicional que ha tenido que hacer.
fuente
¿Qué le parece explicar el impacto del rendimiento en el tiempo de entrega del proyecto cuando no utiliza algunos de estos enormes marcos probados y que ahorran tiempo?
fuente
Una opción sería decirle que él se encargará de ajustar el rendimiento, si se puede demostrar que hay un problema de rendimiento. O, si tiene los recursos, cree dos Pruebas de conceptos: cree los suyos con jQuery y todo lo que desee. Puede construir el suyo con su propio sistema súper rápido enrollado a mano. No permita que esto continúe por más de un par de días (es una prueba de concepto) y vea quién se desempeña mejor al final.
Y, por supuesto, como otros han mencionado, obtenga algunos números duros y perfiles de rendimiento para ambos lados del argumento.
fuente
Primero, él puede ser el adecuado para su situación específica.
Como parece que tienes problemas para que vea tu punto de vista, debes hacer un mejor trabajo para convencerlo.
Ustedes dos están en dos puntos diferentes a lo largo de la línea entre "Construir" y "Comprar". Esta es una línea bastante larga. A la izquierda, en "Build" tienes SpaceX, que tuvo que construir una industria completa. A la derecha, en "Comprar", tiene una externalización completa de todas las funciones de TI a IBM, HP y similares, y la empresa no codifica en absoluto. En el medio, a unos 2 mm de distancia, están ustedes dos. Ambos deben convencer a la gerencia de que su enfoque de "compilar frente a comprar" en el marco y la norma y tal, y por "comprar" me refiero a "no construido internamente", es lo mejor para la empresa, por mucho tiempo -término. Twitter habría muerto si hubieran subcontratado a IBM. Rodaron los suyos. Piénsalo.
De cualquier manera, la gerencia necesita salir del campo de golf y entrar allí y hacer su trabajo.
fuente
Bueno, para el ORM, la respuesta es "Solo si escribe su consulta de esa manera, lo mismo puede decirse de SQL". Como han dicho otros, lo que necesita son hechos concretos.
Además, haga preguntas específicas para profundizar en lo que dice: "¿Me puede dar un ejemplo de que JQuery no está funcionando porque esa no es mi experiencia".
La tercera opción, y un desarrollador viejo y sabio me sugirió esto, solo incluya la "cosa" de todos modos (suponiendo que no tenga problemas).
Buscar aprobación solo lleva a la respuesta "no". Téngalo allí, luego puede pedirles que señalen áreas específicas y pedirles que le digan cuál es el problema.
"Hey, este código EF, trae de vuelta solo los 2 elementos de datos necesarios de esa tabla, cuál es el problema", etc.
Obviamente, ¡debes tener mucha confianza en ti mismo y en la herramienta que estás utilizando antes de seguir adelante con este enfoque! :-)
fuente
Bueno, rechazar bibliotecas como esa fuera de control es estúpido y a veces arrogante. Las horas de producto invertidas en estos y el pensamiento detrás de ellos hace que rechazarlos sea simplemente ridículo.
Sin embargo, puede ser que su compañero de trabajo tenga razón, ya que necesita comparar y superar las demandas del software, que es parte del diseño. Puede ser que una solución ORM o ActiveRecord sea demasiado exagerada o, por el contrario, que el software necesite una solución realmente acoplada para el DB y ORM simplemente no lo corte.
Tener en cuenta estas cosas es importante cada vez que diseña un software.
Para las bibliotecas del lado del cliente, tendría que decir que es simplemente estúpido, ya que siempre puedes encontrar un marco que sea adecuado para tus necesidades. Y como algunos dijeron antes que yo, ¿qué es mejor que un marco de batalla probado?
Deje que elimine todos los problemas de los navegadores cruzados, él acudirá voluntariamente a usted sobre cómo usar un marco.
Por cierto, una vez tuve un jefe que no tenía en cuenta los marcos. Simplemente le mostré lo fácil que es hacer solicitudes ajax en lugar de copiar las funciones una y otra vez (que era una idea tonta en primer lugar), bueno, él no sabía cómo codificar, así que ...
fuente