Un desarrollo a medida tiene ventajas e incovenientes. Por lo general las ventajas con mayores y de más peso puesto que este tipo de proyectos son los más frecuentes en el mundo de la consultoría y desarrollo. En este artículo vamosa repasar los pros y los contras de este tipo de trabajos.
Ventajas
- Se puede realizar cualquier trabajo, siempre y cuando los requerimientos sean coherentes. Podemos resolver prácticamente cualquier problema y no estamos sujetos a las "reglas" de la plataforma con la que trabajemos. Un ejemplo sería decidir hacer un desarrollo dentro de nuestro CRM o fuera. El hecho de hacerlo fuera nos permitirá seguir nuestras propias reglas tanto de modo de implementar la lógica como de despliegues de nuevos cambios.
- En general, la performance será siempre mejor. Estamos hablando que una API hecha a medida puede aceptar sin mucho problema del orden de 30K peticiones por segundo. Esto, por lo general, no es alcanzable por otro tipo de plataformas ya construidas como podría ser CRM Dynamics (tampoco es para lo que están pensadas).
- Somos los dueños de nuestro destino. Para bien o para mal el resultado del desarrollo dependerá única y exclusivamente de nosotros. Aquí entra en juego la experiencia del equipo de desarrollo que juega un papel fundamental en la entrega de software de calidad.
- Utilización de varias tecnologías. Seremos nosotros quien decidamos qué tecnología usamos dónde con el consiguiente beneficio de poder usar las más óptimas para cada tipo de escenario.
- Hiper personalización. Dado que nosotros somos los dueños del desarrollo, podremos personalizarlo tanto como queramos. De hecho podemos organizar un plan de personalización constante que nos permita ir modificando la interfaz de nuestra apliación con pequeños cambios durante un largo periodo de tiempo, dando la sensación al usuario de que la aplicación está constantemente mejorando.
- Evitamos el pago de licencias. Nos ahorramos el pago de licencias mensuales o anuales.
- Posicionamiento. El único modo de conseguir un posicionamiento alto en motores de búsqueda es optimizando nuestro código y plegandonos totalmente a las reglas del juego que han impuesto los grandes buscadores. Y el mejor modo de conseguirlo es a través de un desarrollo a medida que nos permita añadir todos esas features o requerimientos especiales que nos haga conseguir mejores resultados en páginas de búsqueda.
Inconvenientes
- Mayor inversión. El coste monetario de construir un desarrollo a medida será siempre superior que el coste de usar productos o plataformas ya creadas. Es normal dado que hay que pagar
- Tiempo. Para programar algo a medida hace falta un análisis muy detallado, un proyecto de implementación, muchas baterías de pruebas y en general mucho más tiempo que el que necesitaríamos para usar una plataforma bajo pago por servicio.
- Infraestructura. Ahora dado que somos los dueños de la aplicación debemos preocuparnos también de en qué servidores la desplegamos, cómo gestionamos la alta disponibilidad y cada cuanto tiempo aplicamos parches de seguridad. Esto es uno de los mayores dolores de muelas de los desarrollos a medida porque esta tarea de mantener los servidores no termina con el proyecto sino que continua a lo largo de los años que dure el desarrollo publicado.
- Equipos sin mucha experiencia. Es posible que los desarroladores no utilicen las mejores prácticas a la hora de hacer las plataformas y que por tanto en el futuro, cuando el proyecto pase a manos de otra empresa, exista un problema de entender cómo se realizan los procesos y destapar problemas encontrados en el código del anterior equipo. Para evita esto existen técnicas de desarrollo que estandarizan el modo en el qué programamos y hace la vida más facil para entender qué acciones está realizando un código en concreto.
- Mala elección de la tecnología. La tecnología que se utilizará será una de las primeras preguntas a responder, y además aquella seleccionada no podrá cambiarse en el futuro (al menos no de una manera sencilla). Es por tanto uno de los mayores retos ante los que se encuentran los equipos de desarrollo y a menudo está influenciado por lo que ellos mismos saben hacer. Es recomendable moverse siempr en tecnologías "conocidas", que todos los programadores hayamos oido hablar de ellas y dejar a un lado auqellas que son más nuevas o mas a la moda. Para backend se recomienda usar .NET, Java o Node. Para frontend se recomienda .NET, React, Angular o Vue. Encontrar programadores que sean expertos en otras tecnologías y que además se atrevan a "abrir la tapa" de un proyecto hecho a medida para ver qué se encuenran al hacerlo es a menudo misión imposible.
En definitiva, saber si lo que mas se ajusta a tus necesidades es un desarrollo a medida u un producto en concreto será el resultado de un análisis muy detallado de tus necesidades y es totalmente recomendable que este análisis sea realizado por equipos de consultoría expertos en la materia. Si necesitas más información sobre esto no dudes en contactarnos a través de contact@mabartech.com.