Ejercicios propuesto por tema
¿Qué es Construcción de Software?
-
Ejercicio 1: ¿Qué no es construcción de software?
Nivel: Individual
Enunciado: Redacta una lista de actividades comunes en el desarrollo de software que no hacen parte directa de la construcción, pero que la complementan. Justifica tu clasificación.
Objetivo: Identificar límites y conexiones con otras etapas.
-
Ejercicio 2: Refactorización orientada a SOLID
Nivel: Grupal (2-3 personas)
Enunciado: Se te entrega una clase UserManager monolítica con múltiples responsabilidades. Ajustala usando principios SOLID, separando entidades, casos de uso y repositorios.
Objetivo: Aplicar Clean Code y Clean Architecture.
-
Ejercicio 3: Diagrama de capas
Nivel: Individual
Enunciado: Dibuja un diagrama de Clean Architecture para un sistema de gestión de tareas con Angular (frontend) y NestJS (backend).
Objetivo: Comprender separación de capas y responsabilidades.
-
Ejercicio 4: Análisis de errores frecuentes
Nivel: Grupal (3-4 personas)
Enunciado: Revisa fragmentos de código con errores de construcción (nombres confusos, responsabilidades mezcladas, mal manejo de errores) y propón mejoras.
Objetivo: Identificar malas prácticas y reforzar criterios de calidad.
-
Ejercicio 5: Construcción dirigida por pruebas
Nivel: Individual
Enunciado: Implementa una función calculateTotalPrice(cart: Product[]) que sume el total, aplicando TDD y respetando los principios SOLID.
Objetivo: Introducir buenas prácticas de diseño y pruebas desde el inicio.
Introducción al enfoque ágil y al modelo SCRUM
-
Ejercicio 1: Rol por una semana
Nivel: Individual
Actividad: Asume el rol de Product Owner, crea un Product Backlog con 10 historias de usuario para una app universitaria.
Objetivo: Comprender enfoque de valor y priorización.
-
Ejercicio 2: Simulación de Sprint
Nivel: Grupal (4 personas)
Actividad: Divide roles SCRUM. Planifica un Sprint de 1 semana. Define objetivos, tareas, revisiones y una retrospectiva.
Objetivo: Vivenciar flujo completo de SCRUM.
-
Ejercicio 3: Tablero SCRUM visual
Nivel: Grupal
Actividad: Implementa una vista de Kanban con Angular y arrastrar/soltar tareas entre columnas.
Objetivo: Comprender visualización del trabajo en curso.
-
Ejercicio 4: Diagnóstico de madurez ágil
Nivel: Individual
Actividad: Evalúa con una rúbrica el nivel de madurez SCRUM de un equipo (real o simulado).
Objetivo: Reflexionar sobre prácticas y oportunidades de mejora.
-
Ejercicio 5: Análisis crítico
Nivel: Grupal
Actividad: Lee un caso de fracaso ágil documentado. Identifica errores y propón cómo SCRUM habría ayudado.
Objetivo: Comprender los límites y condiciones del enfoque ágil.
Roles de un equipo SCRUM
-
Ejercicio 1: Asignación de roles
Nivel: Grupal (3 estudiantes)
Actividad: Formar un equipo SCRUM (PO, SM, DT) para construir una aplicación de lista de compras.
Resultado esperado: Rúbrica con roles, tareas y entregables.
-
Ejercicio 2: Simulación de Sprint Planning
Nivel: Grupal
Actividad: PO crea 5 historias; el equipo estima esfuerzo con Planning Poker y construye el Sprint Backlog.
Objetivo: Vivenciar priorización y estimación colaborativa.
-
Ejercicio 3: Diagnóstico de desempeño por rol
Nivel: Individual
Actividad: Evalúa cómo se desempeñó cada rol SCRUM en un proyecto previo (real o simulado).
Producto: Autoevaluación o estudio de caso.
-
Ejercicio 4: Debate
Nivel: Grupal
Actividad: Defender por qué su rol es el más crucial para el éxito del proyecto SCRUM.
Objetivo: Desarrollar pensamiento crítico y comprensión profunda.
-
Ejercicio 5: Mapa de impedimentos
Nivel: Individual
Actividad: Lista de bloqueos frecuentes para un equipo SCRUM. Luego, como Scrum Master, propone soluciones.
Resultado esperado: Mapa de riesgos + plan de mitigación.
Artefactos: backlog, sprint, entregables
-
Ejercicio 1: Crear Product Backlog
Nivel: Individual
Actividad: Escribe 8 historias de usuario para una app universitaria (formato clásico).
Objetivo: Aprender a redactar requisitos orientados al usuario.
-
Ejercicio 2: Planificación de Sprint
Nivel: Grupal
Actividad: Selecciona 4 historias del Backlog, divídelas en tareas técnicas y estima tiempos.
Producto: Sprint Backlog en Trello o Angular app.
-
Ejercicio 3: Simulación de Incremento
Nivel: Grupal
Actividad: Construye una funcionalidad completa y verificada al final de un Sprint simulado.
Objetivo: Practicar DoD y entregables funcionales.
-
Ejercicio 4: Refinamiento
Nivel: Individual o en pareja
Actividad: Reescribe 3 historias mal redactadas para cumplir con INVEST (independiente, negociable, etc.).
Objetivo: Mejorar calidad del Backlog.
-
Ejercicio 5: Histograma de tareas
Nivel: Grupal
Actividad: Construye un histograma que compare esfuerzo estimado vs. real por historia.
Producto: Análisis visual del Sprint Backlog.
Ciclo de vida de un proyecto ágil
-
Ejercicio 1: Mapeo del ciclo ágil
Nivel: Individual
Actividad: Representa el ciclo de vida ágil con tus propias palabras y ejemplos de un proyecto real o ficticio.
Producto: Infografía o presentación.
-
Ejercicio 2: Simulación completa
Nivel: Grupal
Actividad: En 2 semanas, desarrolla una app mínima aplicando todas las fases del ciclo ágil.
Producto: Repositorio, tablero y retrospectiva escrita.
-
Ejercicio 3: Contraste con modelo en cascada
Nivel: Individual
Actividad: Realiza una tabla comparativa entre ciclo ágil y tradicional.
Objetivo: Reconocer ventajas del enfoque ágil.
-
Ejercicio 4: Caso real de iteración
Nivel: Grupal
Actividad: Investiga un proyecto que haya fracasado por no iterar a tiempo.
Producto: Informe breve con lecciones aprendidas.
-
Ejercicio 5: Diario del desarrollador
Nivel: Individual
Actividad: Escribe durante una semana un “log” diario de trabajo siguiendo el esquema de un Daily Scrum.
Objetivo: Fomentar autorreflexión y autogestión.
Principios de UX/UI
-
Ejercicio 1: Evaluación heurística
Nivel: Individual
Actividad: Analiza una app conocida aplicando 5 heurísticas de Nielsen (consistencia, visibilidad, prevención de errores, etc.).
Producto: Informe de usabilidad.
-
Ejercicio 2: Rediseño de UI
Nivel: Grupal
Actividad: Toma una app mal diseñada y propón una nueva interfaz siguiendo principios UI.
Producto: Mockup en Figma o plantilla Angular.
-
Ejercicio 3: Accesibilidad
Nivel: Individual
Actividad: Agrega etiquetas ARIA, navegación con teclado y colores accesibles a una app.
Producto: Pull request con mejoras UI/UX accesibles.
-
Ejercicio 4: Test de usabilidad
Nivel: Grupal
Actividad: Realiza pruebas de usabilidad con al menos 2 usuarios y registra tiempos, errores, frustraciones.
Producto: Matriz de resultados + propuestas de mejora.
-
Ejercicio 5: Mapa de flujo UX
Nivel: Individual o pareja
Actividad: Diseña un flujo de navegación para un usuario nuevo (signup → onboarding → dashboard).
Producto: Diagrama de flujo + interfaz inicial.
Heurísticas de usabilidad de Nielsen
-
Ejercicio 1: Evaluación heurística individual
Nivel: Individual
Actividad: Analiza una app real o simulada y detecta al menos una violación por heurística.
Producto: Matriz de hallazgos y recomendaciones.
-
Ejercicio 2: Aplicación práctica con Angular
Nivel: Grupal
Actividad: Implementa un formulario aplicando al menos 5 heurísticas de Nielsen.
Producto: Demo en Angular + listado de heurísticas aplicadas.
-
Ejercicio 3: Rediseño guiado por heurísticas
Nivel: Grupal
Actividad: Tomar una interfaz mal diseñada y rediseñarla usando las heurísticas como criterios de calidad.
Producto: Antes y después + justificación.
-
Ejercicio 4: Juego de clasificación
Nivel: Individual o en pareja
Actividad: Se presentan ejemplos de interfaces y los estudiantes deben asignar qué heurística se cumple o viola.
Producto: Cuadro clasificatorio + discusión.
-
Ejercicio 5: Testing heurístico con usuarios
Nivel: Grupal
Actividad: Observar a un usuario interactuar con una app y mapear en tiempo real qué heurísticas están involucradas.
Producto: Mapa de heurísticas en uso.
Diseño centrado en el usuario (DCU)
-
Ejercicio 1: Entrevista de usuarios
Nivel: Individual
Actividad: Entrevista a 2 usuarios de una app que usarás como proyecto. Documenta contexto, objetivos, frustraciones.
Producto: Mapa de empatía o informe breve.
-
Ejercicio 2: Diseño de personas
Nivel: Parejas
Actividad: Crea al menos 2 "personas" (perfiles ficticios pero realistas de usuarios) para guiar decisiones de diseño.
Producto: Ficha de usuario.
-
Ejercicio 3: Flujo centrado en el usuario
Nivel: Grupal
Actividad: Diseña el flujo para completar una tarea (por ejemplo, registrar un pago) con base en entrevistas reales.
Producto: Diagrama de flujo + prototipo.
-
Ejercicio 4: Evaluación iterativa
Nivel: Grupal
Actividad: Lanza un prototipo y aplica pruebas de usuario. Evalúa y rediseña.
Producto: Informe de hallazgos + mejoras aplicadas.
-
Ejercicio 5: Filtro heurístico de interfaz
Nivel: Individual
Actividad: Evalúa una interfaz con preguntas orientadas a necesidades del usuario: ¿Qué busca? ¿Qué le frustra? ¿Dónde se detiene?
Producto: Diagnóstico de experiencia.
¿Qué es un wireframe y un mockup?
-
Ejercicio 1: Dibujar wireframe
Nivel: Individual
Actividad: Realiza un wireframe en papel o Figma para una pantalla de perfil de usuario.
Producto: Imagen del wireframe con anotaciones.
-
Ejercicio 2: Crear mockup visual
Nivel: Pareja
Actividad: Toma el wireframe anterior y crea un mockup con estilos visuales definidos.
Producto: Mockup en Figma, Adobe XD o CSS Angular.
-
Ejercicio 3: Comparación crítica
Nivel: Grupal
Actividad: Analiza dos pantallas (una en wireframe y otra en mockup) y discute fortalezas y debilidades de cada formato.
Producto: Cuadro comparativo + presentación.
-
Ejercicio 4: Validación con usuarios
Nivel: Grupal
Actividad: Muestra wireframe y mockup a 3 usuarios y documenta sus reacciones.
Producto: Informe de feedback.
-
Ejercicio 5: Prototipo completo
Nivel: Grupal
Actividad: Diseña wireframes y mockups para una app de tutorías.
Producto: Carpeta organizada con iteraciones.
Uso básico de Figma o Penpot para prototipos
-
Ejercicio 1: Prototipo de flujo de login
Nivel: Individual
Actividad: Diseña 2 pantallas (login y dashboard) y conecta un botón para navegar entre ellas. Herramienta: Figma o Penpot
Producto: Prototipo navegable + link de visualización.
-
Ejercicio 2: Flujos alternativos
Nivel: Parejas
Actividad: Crea un prototipo con dos rutas de navegación posibles: éxito y error (por ejemplo, ingreso válido vs. incorrecto).
Objetivo: Modelar decisiones del usuario.
-
Ejercicio 3: Prueba con usuarios
Nivel: Grupal
Actividad: Comparte tu prototipo con al menos 2 personas, observa cómo interactúan e identifica mejoras.
Producto: Informe de usabilidad + iteración rediseñada.
-
Ejercicio 4: Integración con proyecto Angular
Nivel: Grupal
Actividad: Diseña los mockups de tu app final, exporta assets y guías visuales, y compáralos con la implementación en Angular.
Producto: Figma → HTML/CSS en Angular (comparativo).
-
Ejercicio 5: Rediseño colaborativo
Nivel: Grupal (3–4 personas)
Actividad: En Figma o Penpot, usen colaboración en tiempo real para rediseñar una pantalla con base en heurísticas de Nielsen.
Producto: Versión final + historia de cambios.