
Case StudyCaso de EstudioCas d'Estudi
Creación de un nuevo Saas de e-learning
SEIDOR Opentrends ha creado un nuevo sistema de eLearning de vanguardia para Thinkö, enfocado en la experiencia de aprendizaje de los maestros de la escuela.
SEIDOR Opentrends ha sido responsable de todas las etapas del proceso, desde el diseño del producto hasta la implementación y el mantenimiento.
Los objetivos principales alcanzados son:
- Diseño y desarrollo de productos a través de metodologías LEAN y SCRUM.
- Adaptación exitosa del alcance debido a la incertidumbre causada por el impacto de COVID-19 en el trabajo de los maestros.
- Equipo multiprofile (PO, Scrum Master, UX, UI, Business analysis, Arquitectura, Dev, QA, DevOps).
- Outsourcing del departamento de IT del cliente.

Descripción del proyecto
Desarrollo de plataforma educativa para la creación e impartición de experiencias educativas basadas en aprendizaje por proyectos (ABP). La plataforma consta de tres grandes bloques:
- Registro y setup (Nuevo registro o registro con Google)
- Creación de experiencias y actividades
- Aula virtual
El nuevo producto de Thinkö requería acompañar al profesorado a generar y adaptar fácilmente nuevos proyectos y unidades didácticas para que puedan llevarse a clase en el menor tiempo posible.
Para ello se han afrontado tres principales barreras que se encontraban los docentes durante la creación y planificación de proyectos:
- Dificultades en la conexión de las experiencias con el currículum educativo.
- Poca capacidad de realizar un trabajo colaborativo en la programación y realización de nuevas experiencias educativas.
- Carencia de un puesto centralizado para la evaluación y comunicación entre profesorado y alumnado. Especialmente en la nueva situación de educación a distancia por la situación epidémica del COVID-19
Para ayudar al profesorado en estas tres dificultades que se encuentran al llevar nuevas experiencias ABP a las aulas, se ha generado una aplicación que permite gestionar de manera sencilla:
- Crear nuevas experiencias especificando cómo están conectadas con los diferentes currículums educativos oficiales de las diferentes comunidades autónomas españolas, sin tener que consultar los documentos oficiales.
- Gestionar las calendarizaciones, profesores colaboradores y alumnos de las experiencias.
- Gestionar entregas, comunicación con el alumnado (tanto individualmente con cada uno, como globalmente con todos los participantes) y evaluaciones y calificaciones del alumnado.
El siguiente gráfico es una representación visual de las principales entidades funcionales que se gestionan en Thinkö en cuanto a la creación y gestión de experiencias:

Tal y como se ve en el gráfico, se ha creado una entidad “Experiencia”, que incluye toda la información necesaria para la gestión en clase (todo aquello referente al profesorado, al alumnado y a las actividades que se llevarán al aula), creando así un core funcional compacto y sencillo de mantener que cubra todo el ciclo de vida de una experiencia.
A la hora implementar la solución en flujos de trabajo para los usuarios, se ha dividido en dos niveles de acceso, uno para el equipo docente y otro para el alumnado.

Thinkö se integra (Google API) con la plataforma de Google Google Suite for Education y algunas de sus herramientas como Google Classroom, Docs, Drive, Sites, Slides.
Metodología
- Metodología Agile
El proyecto se ha llevado a cabo con metodología SCRUM que permite tanto a nuestro cliente como a nosotros mismos poder ajustar mucho mejor el timing y sobretodo tener el resultado esperado por el cliente. En resumen, gracias al enfoque Agile se ha conseguido estar alineados en todo momento con las expectativas del cliente.
Para la gestión del proyecto, inicialmente, se utilizó JIRA. En esta herramienta, se definían las diferentes historias de usuario (US, por sus siglas en inglés). En estado avanzado de proyecto, el cliente decidió cambiar JIRA por Monday como herramienta de gestión.
- Metodología Growth
Durante el diseño y desarrollo de la aplicación se hace necesario entender de qué manera se aporta valor al negocio mediante la tecnología y el diseño. Para ello se ha gestionado mediante metodologías de growth, dedicadas al análisis de las necesidades y conocimiento de las mejores opciones de crecimiento de la solución aportada.

Finalmente, ya con la aplicación abierta a los usuarios generales de manera pública, ha sido necesario el control del uso realizado. Para ello se ha integrado en la aplicación un control mediante Mixpanel.
De esta manera, desde producto, y según los KPIs definidos, se definen los eventos (acciones de usuarios en la plataforma), manteniendo así un conocimiento del comportamiento de los usuarios. Los datos almacenados pueden ser analizados para conocer puntos de fricción y puntos de mejora de la plataforma, así como intereses y secciones que pueden ser de interés para reforzarlas.
Tecnología
Se han utilizado como tecnologías principales:
- JAVA
- MICROSERVICES, HEXAGONAL ARCH PATTERN, SPRINGBOOT, RESTFul API
- CSS3
- ANGULAR, NgRx (Redux), RxJS
- JS, TYPESCRIPT
- HTML
- AWS (ROUTE53, CLOUDFRONT, S3, CLOUDFORMATION, LAMBDA, FARGATE, ECR, CODECOMMIT, PIPELINE, CODEBUILD, API GATEWAY, AURORA SERVERLESS)
- DEVOPS
- DOCKER, DOCKER-COMPOSE
- LINUX Shell Scripting
- WORDPRESS
- Arquitectura de Infraestructura AWS:

- Arquitectura de software
Arquitectura desacoplada en frontend y backend
- Frontend: Arquitectura modular orientada a componentes. Desarrollada con TypeScript y JavaScript, utilizando el estándar Ecma (tslint) 6. Angular, NgRx (Redux), RxJS como frameworks principales.

- Backend: Arquitectura basada en microservicios. Implementado con arquitectura Hexagonal. Este tipo de arquitectura permite utilizar un enfoque de diseño controlado por dominio (DDD). Desarrollada en Java, usando como frameworks principales Spring, SpringBoot, SpringCloud & Netflix OSS.
Microservicios en contenedores con Docker.

Thinkö contactó con SEIDOR Opentrends por nuestra experiencia en el desarrollo de plataformas eLearning que cuidan la experiencia de usuario y están orientadas a obtener el mejor resultado de aprendizaje.