logo HiperComunicación
gente teoría tecnología textos proyectos publicaciones recursos Acerca de
Regresar a Publicaciones
Diseño de software: Terry Winograd, computadoras y cognición
Por Everardo Reyes García.
Profesor, Tecnológico de Monterrey Campus Toluca.
Estudiante Investigador, Universidad de Paris VIII, Vincennes-Saint-Denis
Noviembre, 2005.
Ref: http://hipercomunicacion.com/pubs/diseno-software.html
Introducción
El diseño de programas y aplicaciones basadas en la informática es un proceso que determina en gran medida la forma no sólo en la que interactuamos con las máquinas, sino también la manera de realizar las tareas que llevamos a cabo. Cuando diseñamos nuevas herramientas en realidad se están diseñando nuevas formas de ser.
El propósito de este artículo es presentar un acercamiento al modelo propuesto por Terry Winograd, profesor investigador de la Universidad de Stanford, y Fernando Flores, fundador de Action Technologies y antiguo ministro en el gobierno chileno, en el libro Understanding Computer and Cognition (Addison-Wesley, 1986).
Marco teórico
La informática, también conocida como Computer Science en inglés, tiene sus raíces en la ingeniería eléctrica, la lógica, las matemáticas y la lingüística, entre otras disciplinas. Dentro de esta ciencia, las investigaciones y desarrollo se han enfocado en principalmente cuatro ramas: la computación, los algoritmos, la inteligencia artificial y la interacción hombre-máquina.
El diseño de software se encuentra implicado en la rama de la interacción hombre-máquina en donde encontramos dos grandes paradigmas para su estudio y aplicación. Por un lado, el diseño centrado en el sistema, que se enfoca en la arquitectura de la información, y por otro, el diseño centrado en el usuario, en donde se habla de diseño colaborativo, diseño participativo, diseño centrado en las acciones o más recientemente, como lo ha propuesto el investigador Jakob Nielsen, diseño centrado en el resultado. Actualmente y en la práctica, se vuelve difícil distinguir los límites entre estos dos paradigmas.
El investigador estadounidense, Terry Winograd propuso desde 1986 una visión diferente a lo que el llama "la tradición racional" para acercarse al diseño de software y lo hizo principalmente mediante su teoría de manejo y conversación (del inglés Theory of management and conversation) y del análisis de tres factores determinantes en el diseño: readiness to hand, breakdowns y blindness.
El marco teórico en el que Winograd y Flores sustentan el libro Understanding computers and cognition considera el entendimiento de la naturaleza humana, de la filosofía del lenguaje y de la automatización en las oficinas. Algunas disciplinas que son empleadas para este estudio son las ciencias cognitivas, la hermenéutica, y las ciencias naturales.
El eje de estos investigadores está guiado por el hecho de que al diseñar herramientas en realidad nos encontramos diseñando formas de ser. Nuevas herramientas implican por consiguiente nuevas formas de ser que no existían previamente y nuevas acciones que anteriormente no daban sentido.
Las herramientas son fundamentales para las acciones, y mediante las acciones creamos el mundo. La transformación de la que se habla no es una transformación tecnológica más bien una continua evolución sobre cómo entendemos nuestro ambiente y cómo continuamos siendo los seres que somos.
Para comprender la naturalaza humana, las ideas de Winograd y Flores abordan el pensamiento del filósofo alemán Martín Heidegger, quien señala que nuestras creencias y prejuicios implícitos no pueden hacerse explícitos; que el entendimiento práctico es más fundamental que el entendimiento teórico sin la práctica; que los hombres no nos relacionamos con las cosas mediante las representaciones que nos hacemos de ellas; y, que el significado es una creación social y no puede ser reducido a la actividad de dar sentido por parte de individuos particulares.
Puesto en otras palabras, nosotros no podemos no actuar, tampoco podemos predecir el efecto de nuestras acciones y tampoco podemos tener una representación objetiva de nuestras situaciones. Cada representación que nos hacemos es una interpretación y en este marco, el lenguaje es acción.
El hecho de ver al lenguaje no como descripción, pero como acción es la base de la teoría del acto de hablar. Ser humano es ser la persona que genera compromisos mediante el acto de hablar y de escuchar. La capacidad de crear y aceptar (o declinar) compromisos está en el centro de lo que significa ser ser humano.
En este sentido un compromiso va más allá del simple significado que le damos a "hacer una cita" o a "comprometerse con algo". Debemos entender en este contexto que un compromiso es aquello que nuestro interlocutor espera de nosotros: ya sea una respuesta hablada o una acción.
Finalmente, el ser humano presenta lo que Winograd llama "breakdowns" o rupturas, que son aquellos momentos o lapsos de tiempo que tomamos para adaptarnos a nuestra forma de ser habitual. Por ejemplo, cuando aprendemos a andar en bicicleta al principio nos cuesta trabajo y ponemos atención a los pedales y al equilibrio, pero después ya no pensamos en cómo hacerlo, sólo lo hacemos por instinto.
Estas características del ser humano se observan desde dos perspectivas opuestas, por un lado la conducta de aquel quien crea la aplicación y del usuario quien la va a utilizar.
El punto más obvio de la creación de software es tener siempre presente que cuando escribimos un programa estamos haciendo un programa sobre algo, es decir, se debe tener claro el objetivo de nuestro programa. Un programador de computadora no considera una computadora como una máquina física con la cual va a interactuar, más bien como una abstracción, como un formalismo para describir patrones de comportamiento. Desde el punto de vista del programador, el comportamiento del sistema está determinado por el programa y se debe pensar siempre en el usuario final.
Winograd observa distintas tareas que deben ser llevadas a cabo cuando alguien diseña una aplicación:
Las limitaciones técnicas de todo sistema computarizado están denotadas por el mero hecho de que las computadoras, a diferencia de los humanos, no pueden crear compromisos ni hacerse responsables de sus acciones. El estudio del lenguaje es uno de los obstáculos que los investigadores de la inteligencia artificial no han podido resolver. Si bien hoy en día es posible encontrar programas que pueden simular patrones de inteligencia y tareas complejas como juegos de ajedrez, al final sólo están respondiendo a los actos de los usuarios de acuerdo a la forma en la fueron diseñados esos sistemas.
El modelo de Winograd y Flores
La propuesta de Winograd con base en estos postulados es la teoría del management and conversation que ha sido elaborada desde un punto de vista aplicado a las organizaciones y a la toma de decisiones (en este rubro, una organización es lo opuesto a un individuo, se refiere a un grupo social que presenta un comportamiento autopoiético). Esta teoría puede ser explicada en tres grandes puntos:
  1. Las organizaciones o instituciones existen como redes de directivas y compromisos.
  2. Las rupturas o los breakdowns son inevitables, son parte de la naturaleza humana y la organización debe estar preparada.
  3. La gente en las organizaciones se comunica mediante la palabra escrita o hablada para crear conversaciones que son necesarias para la organización de la red-sistema.
Las redes de compromisos y de conversaciones en las que las personas participan se están volviendo cada vez más complejas y es aquí cuando la intervención de las computadoras se vuelve pertinente.
Las nuevas tecnologías de la comunicación basadas en computadoras pueden ayudarnos para anticipar los breakdowns; pueden también ayudarnos para mejorar el trabajo colaborativo en donde la coordinación de las acciones es el punto principal para las organizaciones. Los sistemas de cómputo pueden facilitar el monitoreo de los compromisos y aportar respuestas efectivas a preguntas como ¿qué es lo que tengo que hacer? o, en otra palabras, ¿cuál es el estado de mis actuales compromisos?
Junto con esta teoría, Winograd y Flores establecen tres factores para el diseño de software que debe ser tomados en cuenta:
Conclusión
El diseño de software es una tarea compleja que para ser eficiente desde un punto de vista práctico, debe tener en cuenta varios aspectos propios a la naturalaza humana y a las limitaciones intrínsecas de la tecnología.
El creador de programas de cómputo se convierte en un agente que emplea las formas de interacción con la computadora para facilitar tareas y formas de ser de las personas que colaboran profesionalmente dando vida a una organización. Estas personas se organizan mediante el uso del lenguaje, mediante el establecimiento de compromisos y mediante el empleo adecuado de la comunicación.
En este artículo hemos descrito de forma sucinta la teoría de manejo y conversación propuesta por Winograd y Flores, así como tres factores que deben ser considerados en el diseño de software: disponibilidad y facilidad de uso; anticipación de rupturas; y, conciencia de lo implícito.
Regresar a Publicaciones
Everardo Reyes. París, 2004-2006.