El objetivo de este curso es que el estudiante adquiera los conocimientos básicos para la aplicación de los principios básicos y técnicas ágiles para la gestión eficiente de proyectos software. Para lograr este objetivo, el alumnos debe adquirir una serie de conocimientos y capacidades.
Por lo que se refiere a los conocimientos al finalizar el curso, el estudiante será capaz de:
1) Conocer los principios básicos e ideario de las metodologías ágiles de desarrollo de software.
2) Conocer las principales metodologías ágiles de desarrollo software. (PO: a, c)
3) Conocer los procesos de negocio asociados a la construcción de soluciones tecnológicas innovadoras y disruptivas (PO: a, c)
a) Visión general de Lean Startup
b) Producto Mínimo Viable
c) Medición
d) Aprendizaje
e) Business Model Canvas
4) Conocer los aspectos básicos para una gestión eficiente de los requisitos en un proyecto ágil. (PO: a, c)
a) Técnicas de identificación y conceptualización de ideas: Product Visión Box, Story Mapping y Story Telling
b) Técnicas para la gestión de una lista de producto: Estimación, Priorización, Deuda Técnica
5) Conocer los aspectos básicos de la gestión de proyectos de desarrollo de software basados en ciclos de vida iterativos e incrementales con etapas de duración prefijada. (PO: a, c)
a) Planificación de portfolio, productos, versiones e iteraciones.
b) Seguimiento cuantitativo de proyectos ágiles.
c) Seguimiento del desarrollo de iteraciones.
d) Revisiones de fin de iteración y retrospectivas
6) Entender la diferencia entre metodologías de desarrollo de software ágiles y las tradicionales y siendo capaz de determinar las condiciones idóneas para su aplicación. (CECRI16) (PO: a, c)
En cuanto a las capacidades, estas las podemos clasificar en dos grupos uno de capacidades específicas y otro de capacidades más genéricas o destrezas.
En cuanto a las capacidades específicas, al finalizar el curso el alumno será capaz de (CG1):
1) Extraer y gestionar los requisitos de una aplicación de software mediante la aplicación de la técnica de las historias de usuario (CESI2). (PO: a, c, i, k)
2) Organizar las distintas etapas de desarrollo de software (iteraciones) mediante la aplicación de la técnica de planificación adaptativa (CESI5). (PO: a, c, i, k)
3) Diseñar la arquitectura de un sistema software aplicando los principios de diseño simple y la técnica de refactoring. (CESI3) (PO: a, c, i, k)
4) Desarrollar las funcionalidades requeridas por una aplicación software mediante el diseño y la programación en parejas.(CESI3) (PO: a, c, i, k)
5) Aplicar los principios del desarrollo dirigido por las pruebas. (PO: a, c, i, k)
6) Aplicar formalismos, técnicas y herramientas para la integración, compilación y construcción automatizada de unidades de software. (PO: a, c, i, k)
7) Utilizar prácticas y técnicas de gestión de configuración para la puesta en marcha de los principios de propiedad colectiva de código. (PO: a, c, i, k)
8) Conocer las técnicas de seguimiento de proyectos incluyendo: reuniones diarias, gráficos de seguimiento, reuniones de fin de iteración y retrospectivas. (PO: a, c, i, k)
En cuanto a las capacidades generales o destrezas, durante el curso se trabajarán:
1) Capacidad de organización y planificación de un trabajo de desarrollo en equipo. (PO: d)
2) Capacidad de seguir un plan de trabajo establecido para obtener un producto de calidad. (PO: e)
3) Capacidad para aplicar los conocimientos adquiridos con respecto al desarrollo de un proyecto.
4) Capacidad de resolución de problemas y formulación de hipótesis de una manera conjunta y participativa (PO: d, e)
5) Capacidad para informar del avance de un proyecto (PO: g)