1.1 "Nivel de uso"[1].
La creación de nuevos programas es el nivel más complejo, pues requiere no sólo habilidades como las de programación, sino también armar equipos interdisciplinarios de trabajo y conseguir la infraestructura y presupuesto adecuados para sostener un proyecto de desarrollo. Este nivel debe considerarse con seriedad antes de comprometer recursos. Crear software puede ser divertido y adictivo, pero también es caro, complejo y tardado (Gándara, 1995).
1.2 “Orientaciones de uso”[2]
Cuando creamos nuevo software, normalmente lo orientamos hacia el apoyo del aprendizaje o a la autoinstrucción con la computadora; y lo podemos enfocar a todas las etapas, desde la motivación hasta la presentación de los contenidos/habilidades a desarrollar, oportunidades de práctica, evaluación formativa y oportunidades de reforzamiento. La orientación es, sin duda, hacia el aprendizaje, más que a la enseñanza.
1.3 “Modalidades de uso”[3].
No es suficiente comprar o desarrollar software, sino que habremos de determinar bajo qué modalidad de uso se empleará, ya que no todo el software se presta para todas las modalidades de uso; y, por otro lado, cada modalidad de uso tiene requerimientos especiales en cuanto a infraestructura, capacitación, etc.
Algunos de los elementos que habremos de considerar son:
a) Contenido/objetivo del software. Aquí debemos responder a la pregunta: ¿Para qué usar una computadora?
b) Proporción computadora-usuarios. ¿Cuántos usuarios utilizarán simultáneamente la computadora?
c) Contexto de uso. ¿En dónde se utilizará, serán usuarios independientes y asilados entre sí, habrá trabajo grupal? etc.
d) Tiempo de uso. Duración promedio de uso por sesión y su frecuencia: en horas, diaria, semanaria o sesiones, etc.
2. Diferencias entre programar y desarrollar software.
2.1 ¿Qué es el desarrollo?
Si bien no existe una definición universalmente aceptada del desarrollo, podemos caracterizarlo como el proceso de creación de programas nuevos. Incluye no solamente la programación (cuando ésta es necesaria), sino la selección de contenidos, estrategias de uso, e incluso la documentación de los programas.
2.1.1 ¿Qué diferencia hay entre desarrollar y programar?
Originalmente ninguna, dado que los programadores profesionales normalmente asumían el conjunto de tareas asociadas al desarrollo. Con el avance y la progresiva sofisticación del cómputo, sin embargo, se evidenció que algunas de estas tareas involucran habilidades no necesariamente informáticas, como la de escribir la documentación (los manuales que acompañan a los programas) en un lenguaje claro y accesible, o la de diseñar la mecánica de interacción y uso del programa (la llamada "interfaz al usuario"). Por ello, se empezaron a diferenciar y distinguir estas tareas, y a adoptar el término "desarrollo" para el proceso en su conjunto, en el que participan diferentes especialistas con distintas áreas de responsabilidad; y a emplear el término "programación" o "codificación" para describir la tarea de los programadores en sentido estricto.
Así, hoy día el desarrollo es un proceso complejo, y por necesidad, interdisciplinario. Por lo mismo, ya no es el caso de que sea igual programar (escribir código en algún lenguaje en particular), que desarrollar - crear una solución completa en todos sus aspectos.
3. En qué condiciones se justifica el desarrollo.
Siguiendo las ideas de Álvarez-Manilla, José Manuel y Ana María Bañuelos, vertidas en los materiales de reforzamiento de la unidad; en general, parece haber acuerdo en que el desarrollo se justifica cuando no existen soluciones disponibles, las que existen no cubren las necesidades detectadas y con el desarrollo podemos competir contra las soluciones existentes y mejorarlas en precio o accesibilidad.
Adicionalmente podemos visualizar diferentes alternativas en la toma de decisiones previas al desarrollo de un programa.
3.1 Alternativas al desarrollo.
3.1.1 Uso de programas ya existentes.
Existe software disponible[4] tanto educativo como de uso general pero aplicable a la educación. Algunos programas se encuentran ya traducidos al español; otros son utilizables aún en su idioma original. En consecuencia para muchas necesidades y objetivos educativos, es factible que se encuentren soluciones desarrolladas y listas para ser usadas tal y como se distribuyen. Conviene, en consecuencia, investigar con profundidad esta opción antes de optar por un nuevo desarrollo.
3.1.2 Adaptación y modificación de software ya existente.
Hay muchos programas educativos que están "abiertos", en el sentido de que los autores aprueban e incluso promueven que nuevos usuarios hagan modificaciones o adaptaciones a fin de hacer a los programas más útiles[5].
3.1.2.1 "Localización".
La "localización" es una forma de modificación de software existente y consiste no sólo en traducir un programa de su idioma original a otro, sino en hacer las conversiones y ajustes necesarios para que el programa tenga sentido en el contexto cultural nuevo en el que será usado.
Este proceso es complejo, dado que no hay uniformidad de vocabulario ni cultural aún entre los hablantes de un mismo idioma. En el caso del software educativo, esto se traduce en la necesidad de ajustar terminologías, adecuar y hacer concordancias entre los diferentes currículos y, en los casos extremos, la necesidad de no solamente traducir sino explicar, aquellas cosas que pudieran resultar oscuras, aparentemente irrelevante o incluso ofensivas.
3.1.3 Diseño de estrategias de uso y experiencias de aprendizaje paralelas para programas disponibles.
Esta posibilidad involucra la creación de nuevas maneras de usar un programa o el diseño de experiencias de aprendizaje que pueden realizarse en conjunto con su uso.
3.2 ¿Cuándo se justifica un desarrollo educativo nuevo?
Un nuevo desarrollo procede cuando:
- Se ha mostrado que no hay soluciones disponibles y eficaces en otros medios (textos, videos, audio-casetes u otros medios de apoyo al aprendizaje); es decir, que la solución de cómputo es realmente necesaria y no redundante o superflua;
- Logra lo que otros medios no podrían y
- Se cuenta con un modelo sólido de la incorporación de la computadora al conjunto de la actividad académica.
Y realizar ese desarrollo será una opción cuando:
- No exista software adecuado a los objetivos, o
- Cuando se puede mejorar el precio o la calidad en relación al comercialmente existente.
4 Etapas del proceso de desarrollo.
El desarrollo requiere una estrategia o "metodología". Éste se construye a través de un proceso. Las etapas más comunes en el desarrollo de un programa, que a veces ocurren en paralelo, son, en general, cuatro: el diseño, el desarrollo, la prueba y depuración final, y la entrega. Cada etapa tiene fases o actividades, algunas de las cuales, de nuevo, no tienen una secuencia estricta o bien pueden ocurrir en paralelo.
4.1 Diseño
Antes de entrar con la planeación general del desarrollo, requerimos de un plan general de trabajo. Éste determina el propósito del programa y lista los puntos centrales que permitirán expresar este propósito. Después regresa a cada uno de estos puntos centrales y ubica que ideas subordinadas implica cada uno, hasta llegar a un nivel suficiente de detalle. Hasta aquí no estamos hablando de informática sino de lógica. Estamos organizando nuestras ideas y objetivos.
Esta estructura global adopta normalmente la forma de una organización jerárquica; ninguna rama de nivel subordinado se detalla hasta que estén especificadas todas las del nivel anterior, el énfasis en esta etapa es el registro de las ideas o puntos que se quiere incorporar, sin preocuparse en este momento por si el nivel jerárquico o el orden específico será el que quedará finalmente plasmado en el escrito. Por el momento, lo interesante es no dejar fuera ideas, y poder contar con una estructura de redacción que dé unidad y coherencia al todo.
Este enfoque reduce el riesgo de "olvidos" u "omisiones"; imparte "modularidad" al diseño de forma tal que puedan modificarse partes del conjunto sin alterar de manera drástica aquellas que no requieren cambios. En ocasiones se sigue una lógica de "producto y requisitos", en donde a partir del resultado final o producto típico de un sistema, se procede en orden inverso preguntándose qué subproducto es inmediatamente previo y necesario para que ese producto se logre, y así sucesivamente paso a paso hasta que llegar a los requerimientos fundamentales del sistema.
Este trabajo previo, llamado también "diseño conceptual" es indispensable para poder estimar tiempos y costos del proyecto, así como para determinar con precisión qué es lo que se espera como producto. Sus resultados principales son dos documentos: las "especificaciones" o descripción de general del programa a desarrollar que incluye criterios de evaluación para su funcionamiento; y un "prototipo" al menos en papel, de cómo se verá y operará el programa. Este prototipo lo podemos escribir en ideas lógicas o en un pseudocódigo.
A partir de una idea general, se va definiendo una imagen más clara del proyecto. Ésta se expresa en un primer prototipo dibujado en papel y en la especificación preliminar. A partir de sucesivas aproximaciones y ajustes se obtiene la especificación final y creamos entonces un prototipo funcional ya en la computadora. Ni la especificación ni el prototipo son el programa, son solamente modelos y representaciones de cómo se verá el mismo.
Las especificaciones permitirán afinar, adicionalmente, los criterios de ejecución para evaluar el resultado. Ello permite, a su vez, definir qué equipos (hardware), programas (software), y accesorios se requerirán; así como el personal que habrá que involucrar y los tiempos en que se prevé pueden terminar el proyecto. Las especificaciones actuarán también como documento guía, de forma tal que las expectativas entre desarrollador y cliente estén claramente explicitadas. Finalmente, permitirá elaborar un plan de trabajo tentativo, que liste las actividades y tareas a realizar.
4.2. Desarrollo.
Consiste en transformar las especificaciones y prototipos en un producto casi final, listo para evaluación y aplicación piloto. Involucra tanto la "codificación" (programación en algún lenguaje de cómputo o su equivalente en una herramienta de autoría), que constituirá la estructura que sostiene el contenido específico del programa; la creación, adaptación o captura de materiales de contenido -y las previsiones legales necesarias en el caso de utilizar materiales preexistentes de otros autores; la digitalización, captura o edición de los contenidos ya en formato digital; la integración de contenidos a la estructura y cuando el proyecto es de multimedia: se ubicarán textos, sonidos, imágenes, animaciones o videos digitales a sus lugares respectivos en el producto.
4.3. Depuración y prueba piloto.
Aquí revisamos el desarrollo, a fin de que no contenga errores de programación, contenido, o estrategia instruccional. Para ello se realizan evaluaciones y pruebas piloto tanto internas como externas, con una muestra representativa y variada de usuarios. Su resultado es el producto final revisado para la entrega.
4.4. Entrega.
Se realiza la producción de la versión final para distribución pública; se termina la "documentación" (manuales de instalación, del usuario, para el profesor, etc., los documentos que describen y registran el proceso de desarrollo; los resguardos del código, etc.). Se establece también el mecanismo para dar "soporte" (apoyo y solución de problemas) para los usuarios, así como para actualizar y mejorar el software. Su producto, evidentemente, es el software completo y entregado, y la estrategia de soporte y actualización.
5 Importancia de la interdisciplinariedad para mejorar las posibilidades de éxito de un desarrollo.
El desarrollo educativo es una empresa interdisciplinaria. No hay nada más lamentable que el esfuerzo desperdiciado en tratar de suplir con buenas intenciones lo que son campos de desempeño profesional muy específicos, cada uno con tiempos y dedicaciones destinados al desarrollo de habilidades que no se pueden improvisar de la noche a la mañana.
Los miembros del equipo requieren de un lenguaje común para establecer una comunicación ágil y significativa entre sí, de forma tal que todos puedan entender los requerimientos de los otros, es decir, la capacidad de trabajar en un equipo interdisciplinario.
La composición de este equipo puede variar de proyecto a proyecto, dependiendo del tamaño, sofisticación y ambiciones del programa a desarrollar; y puede variar también a lo largo del proyecto. No obstante, en condiciones ideales habría que contar cuando menos con un experto en contenido (en el área de conocimiento sobre la que trata el desarrollo); un experto en diseño instruccional (que garantice que el programa realmente apoye el aprendizaje); un programador (responsable del código); un diseñador, que supervise el diseño gráfico, de audio y video; capturistas de materiales previamente existentes (digitalizadores, editores y retocadores de materiales); y una persona con dotes organizativos, que lleve la administración del proyecto (calendarios, ejercicio de recursos, entrega de metas parciales).
----------------------------------------------------------------------------------------------
[A] El modelo NOM ubica: los Niveles, las Orientaciones y las Modalidades de uso, para clasificar el cómputo informático.
[1] Es el grado en el que el usuario altera un programa existente.
[2] Es el papel que se le asigna al software en el proceso de enseñanza-aprendizaje.
[3] La particular articulación entre el contenido/objetivo del software, la proporción computadora-usuarios, el contexto social y espacial de uso, y el tiempo de uso.
[*] Álvarez-Manilla, José Manuel y Ana María Bañuelos, Coords.
1994 LOS USOS EDUCATIVOS DE LA COMPUTADORA. CISE/UNAM. México. Pags.: 17-42.
[4] Ya sea comercialmente o como intercambio entre instituciones académicas.
[5] Es importante tomar en cuenta, en ese caso, que se requiere normalmente la autorización del autor original para realizar cambios y distribuir las versiones nuevas, y que generalmente se especifican condiciones de uso no-lucrativo para dichas versiones.
No hay comentarios:
Publicar un comentario