7 de agosto de 2007

Sistemas pequeños y modulares en la economía regional del software.

Hace algunos años ya estuve muy involucrado en el desarrollo de sistemas de administración escolar para universidades y por experiencia propia pudo decirles que es un proceso complicado el adaptar uno de estos sistemas a la medida de cualquier cliente. ¿La razón? Pues que algunos usan sistemas de créditos y otros no, pero incluso algunos más usan híbridos de los anteriores. Por otro lado, cada quién maneja sus procesos de control escolar de maneras tan diversas, cada quién tiene requisitos diferentes y procesos que no se semejan en mucho a los del resto de las instituciones. Incluso en algunas de estas universidades las materias pueden tener varios nombres (¡Haga usted el favor!).

Ahora imagínense la tarea que representa implantar un sistema genérico bajo estas condiciones. Es una ardua tarea a todas luces.

Esto es sólo un ejemplo de lo que puede representar la adopción de un sistema genérico de grandes proporciones en cualquier empresa (o institución académica, en el ejemplo).

Pero qué sucedería si en lugar de instalar una aplicación que haga de todo un poco, adoptamos una solución mucho más reducida pero que cumpla una función en específico.

Supongamos que solamente necesitamos aplicaciones muy específicas como por ejemplo llevar una lista de los alumnos, los profesores, las materias que se imparten en un semestre determinado y en base a ello generar re portes de horas por profesor, listas de asistencia, horarios de alumnos y grupos, entre otros.

Ahora, digamos que mi escuela ahora quiere llevar los contenidos de sus cursos a la web en un formato en el que el estudiante pueda descargar información, presentar exámenes, subir tareas, etc. Después podemos agregar un bloque para que los profesores guarden las calificaciones de lo alumnos. De aquí obtendremos también historias académicas de los alumnos y tendremos también las bases para la creación de un módulo para que los alumnos se puedan inscribir por Internet.

¿Y cómo lo armamos?

Simple, si se quiere diseñar una aplicación casera basta con instalar un servidor con un sistema operativo adecuado (Linux por ejemplo), un servidor de web robusto (Apache), una base de datos potente (PostgreSQL) y lo más importante, hacer todo esto con un lenguaje de programación que sea simple pero poderoso como PHP. El costo básicamente se reduce al aprendizaje. Ahora, si lo que queremos es que alguien más lo haga la historia quizás sea diferente.

¿Qué tal comenzar poco a poco con sistemas pequeños, a la medida y no muy caros, hechos en casa o por alguna empresa de la región, con software abierto y flexible? ¿Esto no nos ayudaría a darle un empujoncito al mercado del software en Puebla?

En general, este tipo de recetas se puede aplicar no sólo a las universidades, si no a muchas más áreas tanto productivas como académicas. Inclusive sería interesante encargar desarrollo de software a las universidades o bien, a algunas empresas que empleen de manera parcial y a manera de tercerizados a algunos estudiantes.

Que quede claro que no estoy en contra de las soluciones grandes, finalmente también han invertido dinero en el mejoramiento de sus productos, pero ¿para qué comprar un cañón para matar moscas?