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
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
- Ingeniería del Software
- Necesidad de aplicar técnicas menos rígidas que las propuestas por la ingeniería del software clásica
- El manifiesto ágil
Temas de práctica
- Documentación básica a través de los recursos de la web
- Documentación básica a través de la bibliografía complementaria
- Exposición pública de alguna de las enfermedades comunes en el proceso de desarrollo de software
Unidad 2. Técnicas y recursos ágiles
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
Temas de práctica
- 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
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
Temas de práctica
- Comparación de las metodologías estudiadas
Unidad 4. Proyecto
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
- Definición de la aplicación a desarrollar
Temas de práctica
- Desarrollo de la aplicación
- Ejemplo CUnit (caché)