sommai - Fotolia

Cuando el desarrollo de software está en manos de terceros

¿Qué aspectos deben considerarse cuando se delega el desarrollo de aplicaciones o software empresarial a un tercero? Aquí le dejamos las recomendaciones de varios expertos de la industria.

En los últimos años se ha vivido un cambio de paradigma muy fuerte en el área de desarrollo de software, pasando de lenguajes tradicionales y metodologías de desarrollo orientadas a proyectos de largo plazo a lenguajes más complejos y especializados y metodologías que permiten a las empresas tener resultados más rápidamente. 

A esto se suma también un cambio en el enfoque que se le da a la construcción de soluciones, las cuales en el pasado se orientaban hacia el resultado y hoy suman a esta orientación un fuerte componente de experiencia de usuario.

Maximiliano Rojas Barros, socio consultor de Estrategia TI, manifiesta que la industria del desarrollo de software no hace otra cosa diferente al resto de las industrias, que es satisfacer las necesidades del mercado y del avance de la tecnología. Esto ha causado una diversificación y especialización de las empresas de desarrollo de software, favoreciendo la aparición de pequeñas y medianas empresas en el rubro.

Maximiliano Rojas Barros, Estrategia TI

“Así por ejemplo, el avance de la tecnología en cuanto a  la aparición y desarrollo de los dispositivos móviles ha abierto un sinnúmero de empresas de software orientadas a satisfacer este mercado que abarca desde los juegos y utilidades hasta el desarrollo de aplicaciones unidas a las arquitecturas empresariales de grandes industrias. Desde una visión informática teórica, esto es conocido como ‘Computación Ubicua’, entendiéndose esto como el hecho de la computación en todo: Celulares, relojes, tabletas, etc., lo que requiere un industria de desarrollo especializada para esto”, explica Rojas Barros.

“Otro flanco que es importante considerar al momento de ver las tendencias de desarrollo –agregó Rojas– se relaciona con las redes sociales, donde se han generado nuevos canales de comunicación entre las empresas y sus consumidores, favoreciendo la aparición de empresas de desarrollo que se abocan a la construcción de herramientas para manejar esto. De una forma similar, pero ahora siguiendo la evolución del mercado en cuanto a la tendencia de la industria a utilizar grandes sistemas, en general World Class, orientados a comunicaciones (CRM, CMS, etc.),  gestión administrativa (ERP) y sistemas de apoyo a los procesos productivos, ha generado un segmento de empresas de desarrollo para construir soluciones de integración entre los grandes sistemas y los desarrollos locales. En resumen, parece ser que la diversificación e integración son las actuales tendencias”, expresa.

Alexandre Jose Reis Tobias, Unisy

Por su parte, Alexandre Jose Reis Tobias, director de Servicios de Aplicaciones para Unisys Latinoamérica, señala que “hoy tenemos que estar atentos a las necesidades de negocio del cliente, lo que requiere, cada vez más, una mayor velocidad y calidad en el desarrollo de software para aproximar la tecnología al ritmo del negocio. Iniciativas como el uso de metodologías agiles de desarrollo en convergencia con la utilización de DevOps, buscan garantizar liberaciones constantes de versiones sin impacto en el ambiente de producción y con la posibilidad de utilizar ambientes en la nube.”

Existe la visión también de que desde un tiempo acá, parte del desarrollo de software se ha caracterizado por ir hacia ciclos más cortos de desarrollo, donde se deben presentar rápidamente resultados sin importar la plataforma o el lenguaje de programación.

Rodrigo Álvarez, GeneXus

“Las metodologías ágiles están dominando hoy el ecosistema. La demanda de desarrolladores en nuevas tecnologías se ha incrementado y al mismo tiempo la desocupación en el sector ha hecho que cada vez se reclute gente más joven. Hoy el desarrollo de aplicaciones móviles y de la nube son dos tendencias que están dominando las nuevas aplicaciones. Ni hablar de que las aplicaciones web se deben adaptar a todos los dispositivos, lo que se conoce como web responsive”, agrega Rodrigo Álvarez, Country Manager de GeneXus en Chile.

Para Álex Lagos, gerente comercial de Tecnova, en la actualidad cada vez se está optando más por el desarrollo ágil de software, es decir, una metodología basada en el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan mediante la colaboración de grupos auto-organizados y multidisciplinarios.

Álex Lagos, Tecnova

“Aunque existen muchos métodos de desarrollo ágil. Uno de sus principales beneficios es que la mayoría minimiza los riesgos, desarrollando software en lapsos cortos. El software desarrollado en una unidad de tiempo es llamado una iteración, la cual debe durar de una a cuatro semanas. Cada iteración del ciclo de vida incluye planificación, análisis de requisitos, diseño, codificación, revisión y documentación”, comenta Lagos.

Agrega que “una iteración no debe agregar demasiada funcionalidad para justificar el lanzamiento del producto al mercado, sino que la meta es tener una demo sin errores al final de cada iteración, momento en el cual el equipo vuelve a evaluar las prioridades del proyecto. Esta metodología busca responder a las necesidades reales que se dan en los proyectos informáticos. Muchas veces, dentro de la organización no tienen absoluta claridad de lo que necesitan y con este método es posible descubrirlo en conjunto y paso a paso, con éxitos claros y cortos que posibilitan que toda la organización se involucre más en el proyecto”, explica el ejecutivo.

Diego González, DEFONTANA

Una opinión similar tiene Diego González, gerente general de DEFONTANA, quien destaca que una gran parte del negocio del desarrollo de software se está trasladando a la nube. No sólo como sistema de almacenamiento de información o procedimientos, sino también el propio proceso de desarrollo de aplicaciones. “Asimismo, los componentes web son el presente y futuro del desarrollo web.  Big data en tiempo real gracias a la tecnología Apache Spark, plataforma de computación distribuida de código abierto, que ofrece tiempos de cálculo en memoria muy rápidos; y también destacaría la irrupción de PHP 7, un lenguaje de programación flexible, rápido, fácil de aprender, codificar y  depurar. Por último, es importante comentar el mayor uso de metodologías y procesos ágiles, como Scrum o Extreme Programing (TDD, ATDD, etc.),  que permiten reducir considerablemente los ciclos de desarrollo de software. Esto, junto a procesos de integración y entrega continua,  es lo que agiliza no solo el desarrollo sino también la puesta en marcha de los software”, resalta.

¿Qué es mejor para las organizaciones, desarrollar internamente o delegar a un tercero? 

Para los expertos, desarrollar software al interior de la empresa es una práctica que se mueve en retirada. Los motivos para externalizar los desarrollos son muchas, entre las que se cuentan  la penetración de soluciones informáticas World Class, el encarecimiento de los procesos de desarrollo interno, producto de las metodologías de aseguramiento de la calidad y la especialización de los recursos humanos calificados. En muchos casos en  los que los requerimientos de una empresa son altamente específicos al core de su negocio, se suele adoptar una modalidad mixta, en la que el diseño se realiza por la empresa o en conjunto con desarrolladores externos, quienes lo construyen e implementan.

Pablo Vittori, Globant

Pablo Vittori, CTO de Globant para América Latina, explica que el modelo de tercerizar tiene sus pros y sus contras, “pero hoy, en la mayoría de los casos, creo que es más conveniente buscar la expertise en una empresa que principalmente se dedique y tenga el talento para enfocarse en los desafíos que presentan las nuevas tecnologías, tendencias y conocimiento del usuario. Buscando el partner correcto para el desarrollo de la estrategia digital se puede lograr un componente de innovación que internamente estará quizás siendo enfocado en el core de la compañía. El socio especializado en tecnología cuenta con equipos especializados, con distintos backgrounds y conocimientos que pueden aportar visiones e ideas distintas a los productos o soluciones que se están intentando construir. Está en las empresas encontrar ese socio que pueda aportar no sólo un equipo de desarrollo, sino un socio que entienda las necesidades de negocio, se alinee con los objetivos y pueda concebir y construir una estrategia y experiencias digitales que sorprendan al usuario final”, opina.

En tanto, Alexandre Reis Tobias, de Unisys Latinoamérica, piensa que hay ganancia mediante las dos opciones, todo depende del enfoque que tenga la compañía. “Delegar el trabajo de desarrollo a un tercero experto en el tema, garantiza que el equipo de la empresa se enfoque en su negocio,  incrementando su ventaja competitiva en el mercado. El tercero, como es un experto en este tipo de servicio, debe aportar las mejores prácticas, metodologías, herramientas, personas con conocimiento vertical y horizontal. De esta manera, se logra un mejor desempeño del equipo de negocio de la empresa al tiempo que se apalanca el desarrollo de los sistemas de la empresa de acuerdo con las necesidades del negocio, manteniendo e incrementando su competitividad”, sostiene.

En todo caso, algunos expertos advierten que todo depende de lo que la compañía esté buscando. Por ejemplo, en el caso de la gestión de negocios, se recomienda optar por software de mercado, con reconocido respaldo, y sumar desarrollos adicionales puntuales para optimizar ciertos requerimientos propios del negocio.

María Lastra, Level 3

María Lasta, vicepresidente de TI de Level 3 Latinoamérica, sostiene que el área de TI debe concentrarse en las funciones claves del negocio. “El subcontratar servicios permite que TI se aboque en profundidad a contribuir al funcionamiento de operaciones que son propias de su organización y que agregan valor al negocio propiamente dicho. No obstante TI debe ser dueño y velar integralmente por el servicio de principio a fin, siendo su socio tecnológico un eslabón que procure proporcionar soluciones de calidad superior, desarrollando en menor tiempo y en forma más profesional, que una empresa cuyo negocio central es otro”.

Álex Lagos de Tecnova resalta: “Delegar en manos expertas siempre es la mejor opción. Aunque la compañía cuente con un área de desarrollo propia, ésta perfectamente puede contar con el respaldo y ayuda de una empresa externa que no solo tenga experiencia y conocimiento, sino también certificaciones y acreditaciones que avalen su trabajo, como por ejemplo la metodología CMMi.”

¿Qué debe considerarse cuando se adquieren soluciones de un desarrollador externo?

Para los expertos existen puntos clave en los cuales cada empresa debe poner atención al momento de buscar un desarrollador externo de software.

Carlos Osiniri, SONDA

“El desarrollo de software es un proceso complejo, plagado de riesgos y con inversiones tan altas como el beneficio potencial que puede reportar al negocio una buena elección. Por lo tanto, la decisión sobre qué empresa contratar, debe ser meditada con mucho cuidado. Entre los criterios más relevantes, debemos incluir la experiencia previa de la empresa en soluciones similares (tipo de negocio, tamaño del sistema, clientes, y otros factores), porque es una variable crítica en este negocio”, explica Carlos Osiniri, gerente de la división de Aplicaciones de SONDA.

“Además, como en general un sistema opera por varios años (o décadas en muchos casos) dentro de la organización, esto trae consigo una serie de acciones críticas a realizar a lo largo de su ciclo de vida, como servicios de soporte, modificaciones y adaptaciones en su funcionamiento, corrección de errores, y soportar cambios en el negocio. Por esto es importante contratar empresas que puedan dar garantías sobre su permanencia, solidez y proyección en el tiempo, aspectos que no solo permitirán asegurar la operación del sistema, sino también un adecuado acompañamiento para agregar valor y propiciar el crecimiento que debe tener el core business de la organización en el tiempo. Por último, la empresa proveedora de herramientas o servicios de software debe contar con procesos de calidad, ojalá certificados bajo estándares que aseguren la utilización de buenas prácticas del mercado global, para así minimizar los riesgos de pérdidas de datos y caídas de sistemas que disminuyen la productividad y en muchos casos se traducen en fuga masiva de clientes”, aconseja Osiniri.

Pablo Vittori, de Globant, enfatiza que además de los criterios tradicionales, es importante tener en cuenta la capacidad del partner de contar con talento innovador, de poder enfrentar los desafíos que plantean las nuevas tecnologías y tendencias, de contar con un entendimiento del negocio y del usuario final, de poder trabajar junto a la empresa en definir la estrategia y la travesía digital para sorprender a sus consumidores, y de tener el conocimiento, innovación y creatividad para llevar a cabo los proyectos. “Es decir, es importante asociarse con una empresa que pueda aportar, colaborar o ayudar a crear una visión estratégica centrada en los usuarios que soporte la experiencia digital que estamos persiguiendo y posteriormente tener la capacidad de ejecutar esa visión”, resalta. 

Respecto del factor precio, Alexandre Reis Tobias, de Unisys, sostiene que es un punto importante, pero puede resultar también una trampa si es considerado aisladamente. “Tenemos que tener en mente que el precio puede ser proporcional a la calidad del servicio prestado y si es el único tema a ser evaluado el cliente puede tener un problema mayor. Creo que la reputación de la empresa, las certificaciones de calidad, las referencias de otros clientes, su presencia y conocimiento del negocio de desarrollo, así como el conocimiento del negocio de la empresa contratante, son temas que deben ser también considerados”, advierte.

Carlos Oettel, TOTVS

Otro especialista, Carlos Oettel, director comercial de TOTVS para el Sur de América Latina, destaca “la necesidad de exista una real capacidad de adecuación y el nivel de soporte y la responsabilidad de proveer los cambios solicitados en tiempo y forma.  También se debe tener en cuenta su trayectoria y experiencia en empresas similares.”

Finalmente, Maximiliano Rojas de Estrategia TI, agrega un aspecto crucial relacionado al manejo de la propia empresa respecto de los desarrollos externos. “Es importante la necesidad de que la misma empresa tenga procesos de desarrollo implementados y orientados al desarrollo externo, que permitan gestionar y controlar el desarrollo que es realizado por terceros”, concluye.

Investigue más sobre Software de mejora de procesos

ComputerWeekly.com.br
Close