miércoles, 7 de junio de 2017

Proyectos tecnológicos exitosos

Es difícil negar que el concepto de proyectos de tecnología asusta a las compañías, presidentes, inversionistas, y ni se diga a los propios tecnológicos que tienen que ejecutarlos. Y es que es más sencillo mantenerse con lo que la empresa ya tiene, bien que mal ya funciona, a embarcarse en un proyecto que puede durar años, costar millones de dinero y de cabezas y en muchas ocasiones dejarse a la mitad, sin terminar. Los proyectos de tecnología suelen costar puestos, hasta áreas enteras. ¿Pero porque es tan difícil hacer que un proyecto de tecnología sea exitoso? Desde mi perspectiva, el problema principal radica en como abordamos los problemas, en el por qué abordamos proyectos de tecnología sin considerar variables que si consideramos en otro tipo de proyectos. Pensemos por un momento en la construcción de una casa, tardamos tiempo identificando si tenemos esa necesidad de construir una vivienda, analizamos el terreno, la distribución, los planos, las tuberías, probamos cada componente, nos aseguramos de tener buenos cimientos, analizamos todo antes de iniciar la construcción.
¿Porque entonces cuando hacemos un proyecto de desarrollo saltamos a codificar sin hacer algunos de estos análisis?
Desde mi experiencia, en esta entrada, quiero compartirles algunos tips a considerar al momento de iniciar un proyecto de tecnología:

1.    Iniciar siempre con las preguntas adecuadas y cuestionar las respuestas: Algunas compañías me han contactado para ofrecerme participar en distintos proyectos tecnológicos, implementaciones de soluciones, un ERP, CRM, un bus de servicios etc. Mi pregunta inicial siempre es, ¿Por qué han decidido implementar un producto de este tipo?
Si pudiera tabular las respuestas que he recibido, un 60% de las compañías me dirán que consideran que este sistema solucionara algún problema existente, mientras que otro grupo, también mayoría, seguro paso por un proceso de consultoría que entrego esa necesidad como sus recomendaciones de cierre. ¿Ninguna de las dos respuestas satisface suficientemente mi objetivo inicial de hacer el proyecto, la razón? Ninguna de las dos respuestas deja ver que la compañía en realidad ejecuto un análisis que la llevo a determinar cómo esa iniciativa apalancara su estrategia.
Cuando lo que se desea es solucionar un problema, el análisis debe ir mucho más de un software, y debe involucrar los procesos corporativos, las personas involucradas y la cultura organizacional. Con todo eso solventado, un software solo mejorara la productividad, pero ya no existirán problemas, el problema se puede solucionar con un papel y la automatización no es cura para ese mal, ¿o entonces las empresas antes de la tecnología no tenían problemas?
Cuando el análisis es de un consultor, esto es aún peor. Puedo estar disparándome en el pie pues he sido consultora en el pasado, pero debo decir en defensa de muchos consultores que conozco que no todos somos iguales. Pero la mayoría, los grandes, suelen aplicar plantillas de análisis y respuestas a todas las compañías, sin tomarse el tiempo real de analizar las características específicas de cada corporación, esto al final deja muchas recomendaciones que la compañía de cliente no sabe cómo ejecutar, en qué orden, ni porque, este tipo de procesos terminan convirtiéndose en miles de dólares tirados a la basura por las empresas que buscan transformarse.

2.    Aléjense de la moda: Para explicar este punto usare una de las modas más recientes, la adopción de nube. Y esto no es solo de ahora, sucedió en el pasado, con SOA, SCRUM, BigData, DataWarehouse, BI, Mobile.. etc, etc. Claro, yo me dedico principalmente a innovar los ambientes tecnológicos y culturales de las compañías usando tecnologías novedosas y métodos de trabajo innovadores, pero, no todo aplica para todos.
Siento temor cuando un proveedor ya trae la respuesta sin saber la pregunta, cuando me pide que nos reunamos para mostrarme un producto para solucionar un problema que ni siquiera sé si tengo, ese cuidado debemos tenerlo con las tendencias. No todo necesariamente debe estar en la nube, y solo montar todo sobre AZURE o Amazon no significa que adoptaras nube. No todas las empresas deberían de hacer SOA, es más esta arquitectura está viendo su fin, y algunas empresas siguen embarcadas en proyectos de hace más de cinco años para implementarlas, y sin hablar de las inversiones asociadas. Antes de decidir adoptar alguna de estas tendencias es importante hacer un análisis riguroso, entender pros y contras y valorar si es algo que realmente su compañía necesita. De lo contrario puede hacer una implementación de película, su proyecto no será exitoso.

3.  Definan una arquitectura: Esta fuertemente asociado con el punto anterior. La práctica de arquitectura esta tan desgastada por personas que se llaman a sí mismas arquitectos, por dominios de alguna tecnología, porque llevan siendo programadores muchos años y porque universidades con currículo alejada de la real profesión de un arquitecto los engañan sobre el alcance del arquitecto, el arquitecto es mucho más de eso.
No puedo ni mencionarles cuantas compañías he conocido que llaman arquitectura a sus diagramas de servidores y redes, en una era en la que, como sabemos, el software lo define todo. La práctica de arquitectura debe existir dentro de las organizaciones y debe ser quien analice las variables y cree las cartas de navegación de las compañías, el arquitecto es por encima de todo, un estratega tecnológico, a veces esta habilidad es mucho más importante que sus dotes sobre humanos de programación. Para tener proyectos exitosos los arquitectos deben crear los planos tecnológicos que permitan identificar cual es el camino que la empresa recorrerá por medio de los proyectos, en donde la dejara cada uno de ellos y como se verá su futuro en un plano tecnológico y de negocio.

4.    Apliquen métodos agiles de administración y entrega de valor: Cuidado, que cuando menciono métodos agiles no estoy hablando de ninguna metodología/framework en particular. Simplemente recomiendo siempre que para ejecutar proyectos exitosos debemos de asegurar entregas de valor rápidas. ¿Por qué? Porque como mencionaba al principio, esto debe de seguir las mismas reglas de cualquier otro tipo de proyecto, no me imagino a un ingeniero civil que inicie la construcción de su casa y solo espere para probarla hasta que está terminada. Probará capa por capa para asegurar que el producto cumpla la mayoría de lo deseado por el ciento, no lo cumplirá todo, pero si estará cerca. Adicionalmente, porque eso permitirá mantener el interés y la dedicación del equipo involucrado y porque finalmente, solo los resultados reales pueden dar testimonio de los avances del equipo. Para tener proyectos de software exitosos debemos acostumbrarnos a buscar feedback constante del avance del proyecto, de lo que hemos conseguido, de hacia dónde nos dirigimos. De lo contrario podemos estar construyendo un barco para una ciudad que desde la última vez que la vimos se convirtió en desierto.

5.     Impacto del proyecto en la estrategia: Finalmente pero no menos importante, entendamos desde el principio, el impacto que tiene el proyecto sobre la estrategia, y primero asegurémonos que esto alguien lo haya validado y considerado. Y no solo sobre la estrategia, sobre la cultura, las personas, los roles, los procesos.  Recordemos que un sistema nuevo de tecnología por sí solo no servirá de nada, si todas las demás variables no se trabajan con igual o más cuidado, construiremos el mejor sistema que no será usado por nadie. Siempre asegurémonos de entender el impacto y transformación estratégica que traerá nuestro proyecto a la empresa y a las personas laborando en ellas.


Y finalmente como siempre digo, disfrutémoslo, sino estamos disfrutando nuestro trabajo de ejecutar proyectos tecnológicos, de innovar, entendiendo que eso conlleva consecuencias que debes afrontar como ser disruptivo, soportar a los agentes negativos de cambio y ser águila en épocas de borregos, si no estas disfrutando toda esta rebeldía con causa que trae la innovación tecnológica y la ejecución de proyectos, NO lo estás haciendo bien y NO será exitoso,