La interrelación y trabajo conjunto que debe ocurrir entre dos disciplinas académicas, científicas o tecnológicas diferentes conlleva un buen número de habilidades de comunicación de parte de todos los involucrados, precisamente para lograr transmitir mensajes que cruzan dos o más fronteras del conocimiento y marcos conceptuales.
En el caso concreto de la informática, dado que se trata de una disciplina eminentemente de servicio a otras profesiones y oficios, la habilidad para comunicarse de una forma eficiente y completa es de suma importancia. El lenguaje técnico, tanto verbal como escrito y gráfico, que se usa dentro de la carrera de la computación es necesario y muy útil, pues es capaz de contener y transmitir mucha información importante para que los análisis, diseños y codificación de los programas realicen lo que deben ejecutar, según han sido concebidos.
Pero ese lenguaje propio de la computación, al igual que en el caso de otras disciplinas, es tan valioso para los profesionales de esta disciplina, como inútil y molesto para la mayoría de los demás profesionales.
La tarea de transmitir una idea, una concepción, o la descripción de necesidades para que una persona que intentará diseñar un sistema para solventarlas, no es sencilla para ninguna de las partes. Las preconcepciones, desconocimientos y experiencias previas que tenemos cada uno de nosotros sobre cada concepto intervienen en todas la comunicaciones que realizamos, y esto establece un límite importante en el mensaje que transmitimos y recibimos.
La conocida y antigua metáfora de la construcción del columpio ilustra en forma humorística esta realidad tan importante.
Por si no se alcanza a ver, las leyendas en cada figura se leen así, de izquierda a derecha, de arriba abajo:
- La solicitud del usuario
- Lo que entendió el líder del proyecto
- El diseño del analista de sistemas
- El enfoque del programador
- La recomendación del consultor externo
- La documentación del proyecto
- La implantación en producción
- El presupuesto del proyecto
- El soporte operativo
- Lo que el usuario realmente necesitaba
Las figuras 1 a 5, así como la 10, reflejan fases del proceso de desarrollo de un sistema de información. Las figuras 6 a 9 tienen que ver con otros aspectos del entorno del mismo tipo de proyectos. Cada una de estas figuras daría mucho material para reflexionar, discutir y, con este enfoque, también bromear.
Las barreras
De forma igualmente alegórica, se pueden listar frases cortas que intentan mostrar parte de los prejuicios y concepciones, acertadas o no, que tanto los usuarios (entendiendo como tales a las personas que utilizan los sistemas de información, independientemente de su formación, experiencia, edad, y otras características) como los desarrolladores (abarcando de este modo a todos los que intervienen en el proceso de desarrollo y construcción de un sistema de información.
Barreras de usuarios
Las computadoras reducen la creatividad
“La computadora tuvo la culpa”
Las computadoras desplazan empleados
Son sólo para “iniciados”
Pueden hacer cualquier cosa
Son sinónimo de programación
“Alguien más lo puede hacer por mí”
“Si tengo una computadora voy a trabajar todo el tiempo”
“Pretenden hacernos ver como tontos”
“Estoy demasiado viejo para aprender”
Es muy difícil de aprender
“Podría cometer errores”
Los métodos antiguos funcionan bien
Los técnicos no pueden expresarse sin usar un lenguaje confuso y rimbombante
“Mi área de saber no es susceptible de llevarse a computadora”
Problemas de “mala sangre” entre las personas
Barreras de desarrolladores
Un buen trabajo no se aprecia
Los usuarios no saben lo que quieren y no pueden definir sus necesidades
Los usuarios no le dedican el tiempo necesario al desarrollo del sistema
Los usuarios cambian las prioridades de los proyectos de desarrollo
“Mi trabajo es desarrollar una aplicación (mecanizar lo que se hacía manualmente) y nada más”
“Yo debería estar trabajando como jefe”
Los usuarios nunca están satisfechos: siempre quieren más
La espiral necesidad-satisfacción-necesidad
Precisamente esta última idea, la de que los usuarios nunca parecen satisfechos, es la que da origen a una sencilla concepción gráfica para explicarlo: la espiral necesidad-satisfacción-necesidad.
Una amplia porción del mercado de la industria de tecnología de información y comunicaciones (TIC) está formado por el desarrollo y/o adecuación de aplicaciones informáticas para atender y resolver los procesos y problemas que se dan en todas las empresas e instituciones del mundo.
El reto principal ha sido, desde siempre, que el diseñador y el programador comprendan el fenómeno que se pretende mecanizar y automatizar con ayuda de las computadoras. Existen un buen número de metodologías para intentar acercar a los profesionales del diseño y la programación a los demás procesos. Estas metodologías y enfoques han evolucionado con los años, lo mismo que las tecnologías de desarrollo, lo que permite velocidades mayores entre la definición de requerimientos y la presentación de prototipos.
En este proceso, es esperado que, después de desarrollar una primer versión de una aplicación, que haya observaciones, cambios y ajustes. Aun cuando la aplicación se entregue y se dé por concluida, siempre habrá una nueva necesidad que envía de nuevo a los desarrolladores a su estación de trabajo. Esta es la espiral necesidad-satisfacción-necesidad en el desarrollo de sistemas informáticos.
Lo que es más importante, sin embargo, es que lejos de considerar esta constante interacción como una molestia o una señal de insatisfacción por parte del usuario, debe ser visto como el involucramiento y aceptación del sistema por sus destinatarios, al punto de desear mejorarlo todo el tiempo, reconociendo que la aplicación provechosa de las TIC en cualquier negocio puede marcar la diferencia.
Algunas propuestas
Es importante establecer y acordar que los objetivos de unos y otros, usuarios y desarrolladores, son los mismos, pues se encuentran definidos en relación a los grandes objetivos de la empresa o institución donde laboran. Siendo ése el caso, es vital considerar lo siguiente:
Para asegurarse de considerar al usuario en el desarrollo
El desarrollo es para satisfacer los objetivos del usuario, no de los analistas
El grupo de sistemas no debe asumir la responsabilidad del desarrollo individualmente
Debe nombrarse un administrador del proyecto por parte del grupo usuario (“campeón”)
El grupo usuario debe entender y aceptar el compromiso y responsabilidad del desarrollo, proveyendo tiempo para las reuniones y evaluaciones de seguimiento
La participación del grupo usuario debe ser activa, no pasiva
Los planes en el tiempo deben ser realistas, considerando los recursos y la dedicación de los mismos
El grupo de sistemas debe tomar en consideración los comentarios y opiniones de todos los usuarios, llevando a discusión general aquellos que sean conflictos potenciales
La(s) gerencia(s) involucradas deben mantenerse informadas de los avances y problemas relevantes del desarrollo
Los nuevos requerimientos deben
Responder a los objetivos generales de la organización y el sistema
No entrar en conflicto con requerimientos de otros usuarios
Ser rentables, en términos de costo-beneficio
Reflejar un entendimiento claro de las potencialidades del sistema
Ser justificados desde la perspectiva del usuario
Los factores humanos que deben mantenerse presentes
1. Mantener la sencillez
2. Ser consistente
3. Diseñar y mostrar terminación de tareas
4. Apoyar la sensación de control del usuario
5. Proveer atajos y formas alternas de hacer las cosas
6. Manejar errores adecuadamente
7. Permitir la reversión de acciones fácilmente
8. Usar efectivamente la sorpresa o diferenciación
9. Evitar confundir al usuario