La planificación presupuestaria es una difícil tarea para los Directivos de Tecnología de Información y es una constante que se repite cada año. La pregunta en la mente de todos ellos es ¿Cómo gestionar la unidad de Tecnología de una forma eficiente y efectiva? Un enfoque es reducir el TCO (Total Cost of Ownership) de la unidad de Desarrollo de Software. No es de extrañar que esta inquietud quite el sueño y se planteen innumerables escenarios de costes para saber qué hacer. Entre las alternativas se encuentran la optimización en licenciamiento de software, planes de migración de plataformas, evaluación de soluciones en la nube, reestructuración de procesos tratando de eliminar desperdicios bajo un concepto “Lean” (producción sin desperdicios), evaluación de fusiones entre departamentos, planificación de externalización de procesos no críticos, virtualización y transformación tecnológica que abarca varias de estas iniciativas. Cualquiera de estas alternativas implican nuevas inversiones en activos y tiempo por lo tanto es difícil medir a priori, cuál será el verdadero beneficio en un plan de reducción de costes.
No conforme con esta complicada labor, también se une al ruedo la planificación del CAPEX (Capital Expenditure) y las metas de crecimiento de la empresa, la competencia por ganar cuotas de mercado, la inversión en innovación y automatización. Y dentro de esta rama tenemos redes sociales, movilidad, Big data e Internet de las Cosas que también implican inversión y en algunos casos se vuelve una necesidad para sobrevivir o el factor diferenciador para sobresalir.
Introducción
Con lo rápido que cambia la tecnología hoy en día, cualquier decisión se convertirá en una necesidad de actualización de plataformas, herramientas y capital humano en poco tiempo. Este es el ciclo de transformación con el que se tiene que vivir en el mundo de tecnología de la información. Las empresas que mejor lo gestionen tendrán los mejores rendimientos. Es una cuestión de adaptabilidad y evolución. Tal como dice la teoría de evolución de Darwin, no es el individuo más apto el que logra sobrevivir sino el que mejor se adapta a los cambios.
Una de las áreas evaluadas para bajar costes es el área de calidad de software. Hoy en día la calidad de software no es un lujo ni una carga sino una necesidad y forma parte del ADN del proceso de desarrollo porque mejora la seguridad, ayuda a lograr una mejor alineación de los productos con las solicitudes del negocio y garantiza la satisfacción del cliente final. En los últimos años se ha evidenciado que el presupuesto asignado a las pruebas de software ha crecido según el World Quality Report 2016 (World Quality Report 2016).
Por lo tanto, la mejora del rendimiento de esta unidad se puede lograr reduciendo costes, aprovechando mejor los recursos y revisando los procesos. Desde la perspectiva de calidad hay cinco cosas que se pueden poner en práctica y se explican a continuación. Probablemente no implican una inversión considerable y la ganancia puede ser muy significativa.
1- Priorización de requisitos
La mejor forma de empezar a reducir TCO (Total Cost of Ownership) es optimizando desde el principio. Es decir, desde que nace una necesidad o un requisito de negocio. Es importante definir la forma en que se hace la priorización de requerimientos o proyectos en base a la visión de la empresa. Esto parece fácil pero en la práctica ocurre que primero se atienden las necesidades más “urgentes”. Pero no siempre es la mejor opción puesto que hay que manejar la diferencia entre lo urgente y lo importante. Algunas veces el orden en que se atienden las necesidades no es el que más le conviene a la empresa.
En este sentido lo recomendado es establecer políticas de medición de requerimientos para puntuar y tener una escala conocida que permita la priorización objetiva en base a los intereses de la empresa. Estos intereses pueden ser en función de beneficios como rentabilidad, crecimiento de clientes, reputación o también en función a reducción de costos, beneficios sociales o medio ambientales, etc… Un estudio detallado que proyecte el beneficio a mediano y largo plazo no está de más para proyectos. También sería interesante incluir índices financieros como el TIR (Tasa Interna de Retorno) o VPN (Valor Presente Neto) en la escala de medición.
Las excepciones también se deben considerar porque existen necesidades regulatorias que son obligatorias. En todo caso, una buena priorización garantiza la optimización desde el principio de la cadena de forma que los recursos se dediquen a las iniciativas más provechosas y se descarten las que no producirán los resultados esperados.
2- Buscar defectos en etapas tempranas
Definitivamente es mejor encontrar defectos en etapas tempranas del ciclo de vida del desarrollo de software porque evita los costes de solventarlos si se consiguen en producción. Por lo cual, es buena idea invertir en mecanismos para validar análisis de requerimientos, revisiones, validación de diseños, pruebas estáticas de software, separación de ambientes, procedimientos de pruebas, segregación de funciones.
Hay que tener en cuenta que un defecto en producción puede costar 100 veces más que haberlo encontrado en la etapa de análisis (Boehm, 1981). Por supuesto, esto varía según las condiciones de los sistemas, arquitecturas y áreas de negocio involucradas pero es evidente que el coste se incrementa con el tiempo. Por otro lado, un defecto en producción tiene consecuencias que son difíciles de medir como el impacto en la reputación de la marca, que puede causar una mala experiencia de usuario o una opinión en redes sociales de un cliente insatisfecho.
Con la ayuda de metodologías de pruebas como TMAP® (Test Management Approach), evaluaciones de madurez de la calidad TPI® (Test Process Improvement) de SOGETI y estrategias apoyadas en herramientas adecuadas se pueden lograr buenos resultados. Para esto es necesario la armonía y aceptación de toda la organización pues la calidad es responsabilidad de todos.
3- Escoger el modelo de Pruebas adecuado
Siempre es oportuno revisar si el modelo de contratación de personal para ejecutar las pruebas es el que mejor se adapta a la organización. Existe un modelo conocido por mantener las pruebas bajo un equipo interno del cliente o el modelo apalancado con proveedores especializados en pruebas de software que manejan el equipo de proyecto de pruebas. Estos modelos son los conocidos como modelos Onsite y Offshore respectivamente. La elección de uno u otro depende del grado de madurez de los procesos, conocimiento del negocio y experiencia de los equipos. La externalización del servicio ofrece beneficios en términos de garantía y calidad pero hay que analizar los riesgos y sopesar la inversión versus las ventajas.
Los años de experiencia en pruebas de software cuentan mucho a la hora de diseñar la estrategia de pruebas. También influye el grado de innovación que la empresa requiere. Pues si la organización requiere adaptarse rápidamente a los cambios del entorno debe valorar un modelo Onsite o puede aplicar un modelo Offshore siempre que el proveedor seleccionado ofrezca entre sus factores de diferenciación el dinamismo. SOGETI ofrece un modelo NearShore (https://www.sogeti.es/ofrecemos/offshore-nearshore) que incluye una evaluación de la necesidades de las organizaciones y acompaña los retos a los que se enfrentan.
4- Automatización
Otra forma de optimizar es apuntar a un ecosistema basado en la automatización. Esto puede significar muchas cosas, desde las iniciativas más pequeñas de automatizar tareas y procesos del día a día como la adopción de un esquema de DevOps con entrega continua que puede venir acompañado de un proyecto de transformación tecnológica. Nuevamente dependerá de cada organización y sus metas a corto y largo plazo.
Muchas personas tienen la expectativa de que la automatización de pruebas es la solución para ganar tiempo y olvidarse de la preocupación de hacer las pruebas. Pero no siempre los proyectos de automatización de pruebas producen los resultados esperados porque dependiendo del diseño utilizado, el mantenimiento de los scripts se vuelve en contra del objetivo inicial. La automatización de pruebas es todo un arte y se debe basar en un buen diseño armonizando el ciclo de vida del desarrollo con infraestructura y herramientas.
En el Word Quality Report se evidencia que la adopción del principio de DevOps va en crecimiento a nivel mundial. Esto significa que además del entendimiento del cambio cultural, que DevOps implica, esta filosofía se ha transformado en una tendencia a seguir porque da buenos resultados. Tiene mucho sentido acompañar estos cambios estructurales con alguna metodología de desarrollo ágil. La tendencia de la arquitectura de microservicios ha crecido en 10% en el 2016 con respecto al 2015. Un 41% en el 2016 de las empresas están apostando a la integración continua de pequeñas piezas desarrolladas de manera ágil.
5- Mejora Continua
Finalmente toca el turno a la mejora continua de procesos. El principal reto para reducir TCO es un cambio en la manera de hacer las cosas, mente abierta y capacidad de aprendizaje. El tradicional Círculo de Deming (Deming, W.E., 1950) desarrollado para garantizar la aplicación de prácticas de calidad, es una buena herramienta para la mejora continua. Es un simple esquema de trabajo para Planificar, Ejecutar, Verificar y Actuar. También es conocido como el modelo PDCA (Plan – Do – Check – Act) y se puede aplicar a cualquier nivel. Puede abarcar procesos de negocio, ámbito tecnológico, productos o servicios.
Es ideal tener un repositorio de datos o Datamart que recoja los datos de esos procesos, productos o servicio que se quieren mejorar para luego hacer el seguimiento. Es muy importante estar alineados y focalizados a la visión de la empresa. Conociendo las metas de corto y largo plazo se puede hacer los planes tácticos y estratégicos respectivamente. De esta manera se pueden definir los tiempos y refinar las iniciativas. Después de aplicarlo varias veces se convertirá en parte de la cultura de los equipos de trabajo.
La idea es no dejar las cosas al azar y tampoco exagerar en mediciones costosas. Hay que encontrar el punto de equilibrio que combine las victorias tempranas con la estabilidad que se quiere lograr a largo plazo.
Conclusión
Existen muchas otras formas de reducir el TCO y ganar en calidad, sin embargo las iniciativas mencionadas en este post llevan un gran peso en el impacto positivo que pueden ofrecer para la organización. Es indudable que el factor humano tiene un papel protagonista, por lo tanto la comunicación y alineación es fundamental. Para mejorar la calidad no se puede trabajar en islas pues todo está relacionado. Los profesionales de pruebas de software entienden muy bien este concepto y muchas veces adoptan un rol evangelizador. El éxito total es cuando todo el equipo comparte estos principios y trabajan alineados. Dificultades siempre existirán pero la clave es la actitud con la que se enfrentan y lo rápido que se puede reaccionar ante lo desconocido. Siempre necesitaremos la reinvención y la compañía de aliados estratégicos que apoyen en su especialidad a alcanzar los objetivos empresariales.
Referencias
- (Boehm, B., 1981). “Software Engineering Economics”. Prentice-Hall, 1981
- (Deming, W.E., 1950. “Elementary Principles of the Statistical Control of Quality”
- (World Quality Report, 2016) Sogeti, Capgemini y HP. https://www.sogeti.es/explora/publicaciones/world-quality-report-2016/
0 comments on “5 formas de reducir los costes de Tecnología sin perder calidad”