Desafíos intangibles del desarrollo de software 1/3
Probablemente, si sos desarrollador o líder de un proyecto informático, te suenen familiares estas frases:
Frase 1: Con el sistema viejo yo podía hacer A, B, C y D en poco tiempo, ahora apenas puedo hacer A, y antes me era más fácil.
Frase 2: ¿Por qué al inicio anda todo bien y después se degrada el rendimiento y la respuesta a casi todo es “reiniciá tu equipo”?
Frase 3: Voy a cambiar de tecnología, porque no estamos avanzando con el lenguaje X y hoy en día en Silicon Valley todos usan el lenguaje Z.
Inspirado en un post legendario de la geek-social-network Quora, hacemos un análisis a las frases, que si estás en el ámbito de TI es muy posible que las hayas escuchado de amigos, parientes o empresarios que empiezan a ver TI como algo importante, pero aún no se convencen lo suficiente para invertir lo que quizá inviertan en otras áreas de sus empresas o lo necesario para que TI se convierta realmente en un aliado importante de sus negocios.
La Pregunta famosa, con una gran explicación en Quora (en Inglés): ¿Por qué las estimaciones de desarrollo siempre se postponen por un factor de 2 o 3 veces de tiempo?
La respuesta compara un proyecto de desarrollo con un viaje. Lectura muy recomendada.
Este es un post múltiple, donde explicaré nuestras experiencias para responder a cada una de las preguntas o frases famosas:
Frase 1: Con el sistema viejo yo podía hacer A, B, C y D en poco tiempo, ahora apenas puedo hacer A, y antes me era más fácil.
Muchas veces hemos visto que en realidad el nuevo sistema puede hacer A, hace B muy bien, y el usuario se dió cuenta que puede hacer C y D.
Todo bien con eso, nos encanta hacer la vida más fácil a la gente, para que pueda concentrarse en sus factores diferenciadores de negocio; enseñarles a usar el nuevo sistema, es parte de un proyecto de desarrollo.
Un sistema informático nuevo requiere por lo general un cambio de hábitos y de forma de trabajar de las personas que provienen de un sistema legacy (antiguo, legado), por eso es inevitable la comparación con el sistema anterior; acompañar esa transición es un proceso complejo.
Dependiendo de la profundidad del cambio, esto puede ser considerado como una reingeniería de procesos, psicología laboral, entrenamiento en nuevas metodologías de trabajo, etc.
En Sodep nos dedicamos mayormente al desarrollo de sistemas. Cuando el sistema es nuevo y pasan de cero a un sistema, los desafíos son diferentes a reemplazar un sistema legacy.
Re-entrenar sobre el uso de una herramienta a una persona que proviene del mundo empresarial/comercial, es un enorme desafío; y debe ser tomado con la debida seriedad y planeado como otro proyecto, diferente pero complementario a un proyecto de desarrollo.
Una persona que compra y vende, un importador, alguien del área de servicios, o de la industria; tendrá requisitos no funcionales muy diferentes, pero todos tienen una cosa en común:
Se dieron cuenta de que necesitan modernizar su operativa con un software para mantenerse competitivos.
Dos consejos podemos darles para facilitar estas migraciones:
- Utiliza ejemplos con datos relacionados al negocio. Esto permite una conexión mucho más rápida del futuro usuario con el sistema nuevo.
- Resalta que sus funcionalidades previas están cubiertas, y que además ahora el sistema puede hacer estas cosas nuevas. Las demos de funcionalidades nuevas, cuanto más pequeño es el delta; mejor. Primero se trata de ganar la confianza del usuario, para luego introducirle todas las ventajas.
Recordar siempre como máxima del proyecto, el motivo por el cual se decidió por un desarrollo a medida. Johanna Rothman lo usa constantemente bajo el nombre: Project Driver
Es clave para generar empatía, preguntar al cliente o usuario:
- ¿Cuánto tiempo necesitaría para entrenar a alguien para que haga su trabajo comercial o gerencial?
- ¿Cuánto para entrenar a todos los diferentes roles que utilizarán el sistema?
Nosotros, los desarrolladores tenemos que entender una gran parte de su negocio o idea, en conjunto con la operativa de todos los roles que utilizarán los módulos de sistema, y además generar mejores condiciones de las que tienen actualmente.
Entre algunos de los otros trabajos en el ámbito de la ingeniería que realizamos:
- anticipar ciertos comportamientos no deseados, para mantener la consistencia de los datos y por ende, del negocio en general;
- desplegar la información de una forma coherente y relacionados contextualmente;
- proyectar a futuro el crecimiento en términos de lustros o décadas;
- proteger la información y conocimiento del negocio de los delitos informáticos.
En el siguiente Post, respondemos a la Frase #2:
¿Por qué al inicio anda todo bien y después se degrada el rendimiento y la respuesta a casi todo es “reiniciá tu equipo”?