Unidades Didácticas

13 febrero 2018

 
Sirva el contenido de estas páginas como apuntes oficiales para la preparación de la asignatura. Los temas en los que no publique contenido se verán en el transcurso de las clases presenciales.

En estas páginas se recoge el contenido teórico y práctico oficial de la asignatura, descrito en la Guía Docente. El material incluido en ellas constituye, junto a las lecciones magistrales desarrolladas en horario de clase y el trabajo autónomo que se propone, la base teórica y práctica del examen final de la asignatura.

Dado el dinamismo de las fuentes de esta asignatura he de congelar las fuentes para tener material invariable que nos ayuden a preparar el examen final, por lo que se sugiere que se estudie la asignatura a partir de las versiones en caché que acompañan a los enlaces de estas páginas.

Dedico bastante tiempo y esfuerzo para preparar este blog, no pertenece a una asignatura en la que te hayas matriculado con docencia online, de momento sólo te has podido matricular con docencia presencial, pero intento actualizarla para que los alumnos que justificadamente no pueden asistir a las clases presenciales puedan estudiar de forma «autónoma» si así lo deciden. Aún así es posible que no exprese aquí todo el conocimiento que intento transmitir en las clases presenciales, donde tengo interacción con los alumnos y podemos descubrir entre todos detalles esenciales de esta asignatura que no quedan reflejados en este blog. Esos detalles a menudo aparecen en la evaluación final de la asignatura que, como he dicho, no tiene versión «no presencial», por lo que es posible que si te defines «autodidacta» encuentres que no has estudiado concretamente todo lo que yo he intentado transmitir en mis clases, problemas del sistema que yo resuelvo a mi modo y tú resuelves al tuyo.

Si encuentras cualquier inconsistencia en este blog, por favor, avísame. Si no entiendes algo después de un par de lecturas, por favor, avísame. En la medida de lo posible intentaré ir resolviendo todos nuestros problemas en cuanto al contenido y alcance de esta asignatura a través de este blog. Pero en ningún caso ofrezco educación no presencial, este blog es sólo una herramienta más que utilizaré para desarrollar mejor la docencia presencial en la que te has matriculado.
 

Uno de los libros de la bibliografía básica (que será oficial cuando se desbloquee mi acceso identificado y pueda añadirlo) se distribuye con licencia CC-BY-NC-ND 3.0 por lo que podemos utilizar todos su versión digital sin correr con gastos monetarios. Se trata de Scrum y eXtrem Programming para programadores, de Eugenia Bahit (bubok) (caché) y lo utilizaré como libro de referencia en algunos de los temas del curso. Si consigo una edición en papel económica y de calidad pediré algún ejemplar para la biblioteca.

 
 

Unidad 1. Introducción

Enlace permanente

 

Descripción

 
El desarrollo de software requiere la agilidad suficiente para responder a los continuos cambios de necesidades de los clientes y al alto grado de innovación tecnológica. La Ingeniería del Software es un buen punto de partida para conocer de un modo científico las necesidades y recursos de cualquier empresa de desarrollo de software, sin embargo establece una rigidez en el proceso que en muchos casos obliga a clientes y empresas a trabajar con las peores condiciones imaginables. Las Metodologías Ágiles de Desarrollo de Software toman lo mejor de la Ingeniería del Software pero lo aplican utilizando técnicas y valores que permiten reaccionar con rapidez ante cualquier imprevisto, bien utilizadas pueden mejorar notablemente la productividad de un equipo de desarrollo de software.

 

Objetivos

 
Comprender las diferencias y coincidencias entre técnicas ágiles y técnicas pesadas de desarrollo de software.

 

Temas de teoría

 

  1. Ingeniería del Software
  2. Necesidad de aplicar técnicas menos rígidas que las propuestas por la ingeniería del software clásica
  3. El manifiesto ágil

 

Temas de práctica

 

  1. Documentación básica a través de los recursos de la web
  2. Documentación básica a través de la bibliografía complementaria
  3. Exposición pública de alguna de las enfermedades comunes en el proceso de desarrollo de software

 
 

Unidad 2. Técnicas y recursos ágiles

Enlace permanente
 

Descripción

 
Descripción de técnicas y recursos ágiles utilizados en la industria del desarrollo de software. Sus orígenes y su implantación a través de la ingeniería del software.

 

Objetivos

 
Conocer las técnicas y recursos ágiles más utilizadas en el desarrollo de software y la gestión de equipos multidisciplinares.

 

Temas de teoría

 

  1. Representación y control del flujo del proyecto
  2. Programación de software
  3. Productividad
  4. Otras…

 

Temas de práctica

 

  1. Primer contacto del equipo ágil con el cliente. Historias de usuario, tareas de programación, acuerdo para la primera entrega y puesta en marcha del proyecto.

 
 

Unidad 3. Métodologías

Enlace permanente

 

Descripción

 
Estudio de diferentes metodologías basadas en las técnicas ágiles de desarrollo de software.

 

Objetivos

 
Conocer las características básicas de las metodologías ágiles de desarrollo de software.
Ser capaz de distinguir el método más adecuado para el desarrollo de un proyecto específico.

 

Temas de teoría

 

  1. Lean Development Software
  2. Método Kanban
  3. eXtreme Programming (XP)
  4. Scrum

 

Temas de práctica

 

  1. Comparación de las metodologías estudiadas

 
 

Unidad 4. Proyecto

Enlace permanente

 

Descripción

 
La asignatura termina con un proyecto a desarrollar por los miembros de la clase mediante la puesta en práctica de los recursos aprendidos a lo largo del curso.

El conocimiento de las diversas metodologías ágiles de desarrollo de software permite su aplicación en la creación de software. En esta unidad aplicaremos los conocimientos de programación adquiridos por el alumno a lo largo de sus estudios para elaborar una aplicación informática usando técnicas ágiles.

 

Objetivos

 
Ser capaz de gestionar el desarrollo de un proyecto software desde la perspectiva de diferentes actores.

 

Temas de teoría

 

  1. Definición de la aplicación a desarrollar

 

Temas de práctica

 

  1. Desarrollo de la aplicación
  2. Ejemplo CUnit (caché)