1. UNIVERSIDAD CATÓLICA
ANDRÉS BELLO
Urb. Montalbán – La Vega- Apartado 29086
Teléfono: +58212 - 4074407 Fax: +58212 - 4074447
Caracas, 1021 –Venezuela
Facultad de Ingeniería
Escuela de Ingeniería Informática
Asignatura METODOLOGÍAS ÁGILES DE GESTIÓN Y
DESARROLLO DE PROYECTOS DE TI
Vigente desde:
Horas semanales Unidades
Período Teoría Práctica Laboratorio de crédito
Electiva 3 0 0 3
Requisitos Metodología del Software
SINOPSIS:
El ciclo o proceso de desarrollo de sistemas de información a lo largo de los
años ha madurado considerablemente, aprendiendo de los errores del pasado
e incorporando cada día mejores prácticas y herramientas en pro de la
satisfacción del cliente, que es el objetivo final de cualquier proyecto.
Dentro de esta línea de crecimiento y madurez existe como punta de lanza
dentro de las metodologías usadas, las metodologías llamadas Ágiles. Por lo
cual se entiende como Desarrollo ágil de Software a un paradigma de
Desarrollo de Software basado en procesos ágiles. Los procesos ágiles de
desarrollo de software, conocidos anteriormente como metodologías livianas,
intentan evitar los tortuosos y burocráticos caminos de las metodologías
tradicionales enfocándose en la gente y los resultados.
Existen múltiples tendencias, filosofías, metodologías, herramientas y demás
aspectos que pretenden ofrecer una guía para el desarrollo de proyectos de
tecnología de información, sin embargo cada uno se puede o no aplicar
dependiendo del contexto del proyecto, la empresa y en definitiva de todos los
stakeholders y las circunstancias del producto; es por ello que es
imprescindible conocer y manejar los conceptos asociados con las
herramientas ágiles del área de TI.
OBJETIVOS:
• Entender la naturaleza particular de las filosofías y metodologías Ágiles
de desarrollo de proyectos de tecnología de información.
• Identificar y estudiar los distintos esquemas ágiles, que pueden
implementarse para desarrollar proyectos de tecnología de información.
• Escoger y utilizar metodologías efectivas y productivas para el desarrollo
de un proyecto de tecnología de información.
• Estudiar las diversas formas de estructurar un proyecto dependiendo de
los esquemas ágiles que se utilicen.
2. • Aprender las mejores prácticas que se pueden incorporar dentro del
desarrollo de un proyecto de tecnología de información.
• Identificar y manejar técnicas para la gestión de proyectos ágiles de
tecnología de información.
• Estudiar el comportamiento del capital humano en relación a las técnicas
ágiles empleadas dentro de los proyectos de tecnología de información.
• Estudiar las ventajas inherentes que conllevan el uso e implementación
de esquemas ágiles dentro de proyectos de tecnología de información.
CONTENIDO PROGRAMÁTICO:
1 Historia y Paradigmas de los Ciclos de Desarrollo
de Software
• Inicios del Desarrollo de Proyectos de Software
• Primeros Ciclos de Vida de Proyectos de TI
• Experiencias de los Ciclos de Desarrollo de Software del pasado
• Aprendizajes de la Historia de los antiguos esquemas de
desarrollo de software
• Mejores prácticas de los antiguos esquemas de desarrollo de
software
• Paradigmas de Desarrollo de Software:
o Modelo en cascada,
o Modelo en espiral
o Modelo de prototipos
o Método en V
o Desarrollo por etapas
2 Etapas del Ciclo de Desarrollo de Software,
Enfoque Tradicional vs. Ágil
• Análisis de Requisitos o Elicitación de Requerimientos
• Especificación de requerimientos
• Diseño y arquitectura
• Codificación
• Pruebas del Producto
• Documentación
• Implantación
• Mantenimiento
3 Filosofías y Enfoques Ágiles
• Desarrollo ágil de software
• Proceso unificado ágil (AUP)
• Big Design Up Front (BDUF)
• Metodología de diseño construccionista (CDM)
• Desarrollo de diseño-dirigido (D3)
• No te repitas (DRY) o Una y sólo una vez (O3)
• Método de desarrollo de sistemas dinámicos (DSDM)
3. • Principio KISS (Keep It Simple, Stupid) "(Déjelo simple)"
• Enfoque MIT
• Model Driven Architecture (MDA)
• Proceso racional unificado (RUP)
• Desarrollo en espiral
• Test-driven development
• No vas a necesitarlo (YAGNI)
• Mejor Práctica
• Refactoring
4 Metodologías Ágiles mas Utilizadas
• XP o Programación Extrema.
• Scrum
• Crystal
• Evolutionary Project Management (Evo)
• Feature Driven Development (FDD)
• Adaptive Software Developmen(ASD)
• Lean Development (LD) y Lean Software Development (LSD)
• RUP Ágil, existiendo dos variantes AUP y EUP
• AM (Agile Modeling)
5 Herramientas Ágiles
• Para la gestión de proyectos.
• Para definir y gestionar las pruebas del producto.
• Para la documentación.
• Para la integración continua.
• Para seguimiento de los defectos.
6 AM, Agile Modeling
• Que es AM?
• Como utilizar AM?
• Beneficios de AM
• AM en la vida real de un proyecto de TI.
• AM y RUP.
• AM y UML.
7 Scrum
• Que es Scrum?
• Como utilizar Scrum?
• Beneficios de Scrum
• Implementación de Scrum en el desarrollo de un producto.
8 XP, Programación Extrema
• Que es XP?
• Como utilizar XP?
4. • Beneficios de XP
• Implementación de XP en el desarrollo de un producto.
9 Integración de Mejores Prácticas y Metodologías
Ágiles
• Integración de diversas metodologías ágiles de desarrollo de
software.
• Metodologías ágiles contrapuestas.
• Metodologías ágiles complementarias.
• Como escalar o maximizar el alcance de las metodologías
ágiles.
10 CMM, Capability Maturity Model
• Que es CMM?
• Para que sirve o se utiliza CMM?
• Beneficios de CMM.
• Prerrequisitos de CMM.
• Modelo de Madurez CMM.
• Proceso de Certificación CMM dentro de una empresa de TI.
EVALUACIÓN:
Materia con régimen de evaluación continua, sin examen final.
BIBLIOGRAFÍA:
• Project Management Institute (P.M.I). (2000).Guia de los Fundamentos de
la Dirección de Proyectos (Guia del PMBOK). (3era. Ed.). P.M.I
Publications:EE:UU.
• Pressman, Roger. S. (2000). Ingeniería del Software- Un Enfoque Práctico.
(5ta. Ed.).McGraw- Hill:España.
• James R. Persse. Implementing the Capability Maturity Model. Wiley.
• Kenneth M. Dymond. A Guide to the CMM: Understanding the Capability
Maturity Model for Software.
• Susan K. Land. Jumpstart CMM/CMMI Software Process Improvements :
Using IEEE Software Engineering Standards.
• Craig Larman. Agile and Iterative Development: A Manager's Guide. The
Agile Software Development Series.
• Ken Schwaber. Agile Project Management with Scrum. Microsoft
Professional.
• Mike Cohn. Agile Estimating and Planning. Robert C. Martin Series.
5. • Ken Schwaber, Mike Beedle. Agile Software Development with SCRUM.
• James Shore, Shane Warden. The Art of Agile Development.
• Andrew Hunt, David Thomas. The Pragmatic Programmer: From
Journeyman to Master.
• Venkat Subramaniam, Andy Hunt. Practices of an Agile Developer: Working
in the Real World (Pragmatic Programmers).
• Scott W. Ambler, Ron Jeffries. Agile Modeling: Effective Practices for
Extreme Programming and the Unified Process.
• Scott W. Ambler. The Object Primer: Agile Model-Driven Development with
UML 2.0.
• Gary Chin . Agile Project Management: How to Succeed in the Face of
Changing Project Requirements.
• Andreas Rueping. Agile Documentation: A Pattern Guide to Producing
Lightweight Documents for Software Projects. Wiley Software Patterns
Series.