SlideShare a Scribd company logo
1 of 41
Arquitectura de Proyectos de IT
© 2005
Metodologías Iterativas
de Desarrollo
Ing. Nicolás Passerini
Ing. Gustavo A. Brey
10Pines
Igualito a un
Software,
no?
Son todos iguales
Es realmente lo
mismo?
Es un proceso de
aprendizaje, que va desde
la adquisición de un
conocimiento a la
representación del mismo.
6
Arquitectura de Proyectos de IT
Características de una metodología
 Cascada vs. Iterativo.
– Decision Momentum
 Procesos bien definidos vs. aprovechamiento de las
habilidades y las interacciones entre las personas.
– Brain Work vs. No Brain Work
– Procesos definidos vs. Procesos intuitivos o internalizados
 Procesos repetibles vs. adaptativos, eficiencia, mejora
continua.
 Cuánto y qué tan formalmente documentar.
7
Arquitectura de Proyectos de IT
Metodologías Iterativas - Desripción
 El proyecto se divide en “iteraciones”, cuyo entregable es una
versión del sistema.
 Todo está sujeto a ser modificado en las iteraciones
posteriores (planificación, análisis, diseño, código, etc).
 En lugar de poner el énfasis en la eliminación de los errores,
se procura minimizar su impacto.
 Se intenta aprovechar el aprendizaje durante el desarrollo.
 Ideales para cuando los requerimientos no están del todo
claros en un comienzo o pueden sufrir modificaciones.
 No confundir iterativo e incremental. Lo iterativo no
presupone o incremental, ni viceversa.
8
Arquitectura de Proyectos de IT
Metodologías Iterativas - Motivaciones
 En la actualidad, con frecuencia la extracción de
requerimientos es más costosa que la construcción.
 Dinamismo o “apuro”. Muchas veces los requerimientos no
están definidos desde el comienzo, cambian durante el
desarrollo, pueden cometerse errores.
 La complejidad en muchos sistemas hoy en día pasa más por
las interfaces de usuario que por la lógica de negocio.
 No es tan sencillo manejar los requerimientos
independientemente de las posibilidades o restricciones
tecnológicas.
9
Arquitectura de Proyectos de IT
Metodologías Iterativas
Ventajas
 Más “realista”
 Se adaptan mejor a los cambios
 Permiten administrar mejor los riesgos
 Mayor visibilidad para el cliente
 Mejor feedback para el equipo de desarrollo
Desventajas
 Falta de experiencia
 Reacción al cambio de enfoque
 Requieren de distintos modelos de contrato.
10
Arquitectura de Proyectos de IT
Problemas de las metodologías secuenciales
Relación del costo de un cambio con metodologías secuenciales
11
Arquitectura de Proyectos de IT
Problemas de las metodologías secuenciales
Como aplanar la curva utilizando técnicas ágiles
12
Arquitectura de Proyectos de IT
Problemas de las metodologías secuenciales
Curva según Ken Beck (Creador de la metodologías ágil XP)
13
Arquitectura de Proyectos de IT
Que no es agile!
14
Arquitectura de Proyectos de IT
Manifiesto agil
Estamos poniendo al descubierto mejores métodos para desarrollar software, haciéndolo y ayudando
a otros a que lo hagan. Con este trabajo hemos llegado a valorar:
Individuos e interacción, por sobre los procesos y herramientas.
Software funcionando, por sobre documentación exhaustiva.
Colaboración con el cliente, por sobrenegociación contractual.
Responder a los cambios, por sobre del seguimiento de un plan.
Aunque hay valor en los elementos de la derecha, valoramos más los de la izquierda.
15
Arquitectura de Proyectos de IT
Principios de las metodologías ágiles
 Son iterativas. No intentan minimizar los cambios, sino estar
preparados para aceptarlos.
 Son adaptativas en lugar de repetibles.
 Incorporan feedback sobre el proceso.
 Asegurar la calidad y la excelencia técnica desde el
inicio
 Buscan minimizar el overhead metodológico.
16
Arquitectura de Proyectos de IT
Prácticas claves
 Requerimientos evolutivos
 Planificación iterativa y adaptativa
 Priorización por valor de negocio y por riesgo
 Diseño y arquitectura emergentes
 Deployment incremental
 Timeboxing
 Empowerment y auto-organización
17
Arquitectura de Proyectos de IT
Prácticas de calidad
 Test Driven Development
– Se escribe código productivo una vez que se tiene un test que
Falla
 Pair Programming
– Toda línea de código productivo se escribe con dos personas en
una misma máquina => Revisión de código on-the-fly
 Diseño simple y refactoring
– Diseñar el sistema tan simple como sea posible en cada
momento, eliminando complejidad innecesaria tan pronto como
sea identificada.
– Reestructurar el sistema sin cambiar su comportamiento para
eliminar duplicaciones, mejorar la legibilidad, la simplicidad y la
flexibilidad del código.
 Estándares de codificación
– Reglas que permiten comprender y compartir el código entrelos
desarrolladores
18
Arquitectura de Proyectos de IT
Integración continua
 Build automatizado y auto-verificable
– El código incluye un suite de tests automatizados que
buscan detectar bugs
– Los tests pueden ser ejecutados con un simple comando y
verifican automáticamente los resultados
– Si alguno de los tests falla, todo el build falla
 Servidor de integración continua:
– Ante cada commit dispara un build auto-verificable
– Permite detectar y eliminar los bugs tan pronto como son
introducidos
19
Arquitectura de Proyectos de IT
Manejo de Riesgos en Metodologías Ágiles
 Retrasos y cancelaciones
 Altos costos de mantenimiento
 Gran cantidad de defectos
 Falta de entendimiento del negocio
 Cambios en el negocio
 Requerimientos “volados”
 Arquitectura y diseño “volados”
 Inestabilidad de personal
20
Arquitectura de Proyectos de IT
¿Cuándo Elegir las Metodologías Ágiles?
 Los requerimientos son poco claros o altamente volátiles.
 El cliente entiende el proceso y está involucrado en el
proyecto.
 Se cuenta con profesionales capacitados y competentes
 Se tienen canales ricos de comunicación
 El grupo de trabajo no es demasiado grande (~ 50)
 Se desea fomentar la mejora continua del proceso
21
Arquitectura de Proyectos de IT
Rol del Arquitecto en un Proyecto Iterativo
 Toma de decisiones en todo momento
 Necesidad de construir arquitecturas que
evolucionen
 Prácticas de Calidad (TDD, Integración Continua,
etc)
 Tiene sus propios pasos en la iteración
 Entender/seleccionar los requerimientos
 Crear/Actualizar la arquitectura
 Comunicarla constantemente
 Evaluarla con los stakeholders
 Verificar su implementación
Arquitectura de Proyectos de IT
© 2005
Metodologías Iterativas
de Desarrollo
Material complementatio
Ing. Nicolás Passerini
Ing. Gustavo A. Brey
10Pines
23
Arquitectura de Proyectos de IT
Material Complementario
 Ejemplos de Metodologías Agiles
– Scum
– eXtreme Programming
24
Arquitectura de Proyectos de IT
Scrum – Fases de un proyecto
 Planeamiento
 Arquitectura o diseño de alto nivel
 Desarrollo (sprints)
– Sprint Planning
– Daily Work
– Sprint Review
 Cierre
25
Arquitectura de Proyectos de IT
Scrum – Planeamiento
 Definir el backlog del producto.
 Determinar los próximos releases (objetivos y
fechas).
 Determinar los objetivos y el equipo para el primer
release.
 Analizar los riesgos.
 Revalidar o ajustar las herramientas e
infraestructura.
 Estimar el costo del release.
 Verificar la aprobación del management.
26
Arquitectura de Proyectos de IT
Scrum - Arquitectura o diseño de alto nivel
 Identificar los cambios necesarios para implementar
el backlog.
 Extender o actualizar el modelo de dominio.
 Refinar la arquitectura para soportar los nuevos
requerimientos.
 Plantear la estrategia para encarar cada item del
backlog.
 Revisar cada diseño y reasignar tareas si es
necesario.
27
Arquitectura de Proyectos de IT
Scrum – Desarrollo
 Ciclo de desarrollo iterativo
 “Concurrent Engineering”
 Sprint Planning
 En cada sprint se realizan las siguientes tareas:
– Desarrollo (análisis, diseño, programación, testing y
documentación)
– Empaquetado y despliegue
– Revisión
– Ajustes
 Sprint Review
28
Arquitectura de Proyectos de IT
Scrum – Cierre
 Se cierra el release.
 Pruebas de integración
 Pruebas de sistema
 Documentación para el usuario
 Preparación del material de entrenamiento
29
Arquitectura de Proyectos de IT
Scrum – Vista global del proceso
Product Backlog Increment
Sprint Planning Meeting
Daily Scrum
Daily Work
Sprint Goal
Sprint Backlog
Blocks List
Product
Sprint Review Meeting
Sprint:
2 weeks
Product Backlog’
Increment’
30
Arquitectura de Proyectos de IT
Scrum
Roles
 Product Owner
 Scrum Master
 Team
 StakeHolders
Artefactos clave
 Product Backlog
 Sprint Goal
 Sprint Backlog
 Blocks List
 Increment
Reuniones clave
 Sprint Planning
 Daily Scrum
 Sprint Review
31
Arquitectura de Proyectos de IT
Scrum – Reuniones
 Sprint Planning
–Seleccionar los items de mayor prioridad en el Product Backlog
–Determinar el Sprint Goal
–El equipo determina el Sprint Backlog
 Scrum
–Habla cada desarrollador del equipo:
–¿Qué hiciste ayer?
–¿Qué vas a hacer hoy?
–¿Qué cosas te traban?
–Se actualiza el Sprint Backlog y el Blocks List
 Sprint Review
–Demostración y discusión del incremento
 Las tres reuniones son manejadas por el ScrumMaster
32
Arquitectura de Proyectos de IT
Scrum – Artefactos
 Backlog: Funcionalidades aún no cubiertas en el release actual. Bugs, defectos,
mejoras, etc.
 Release: Conjunto de items del backlog que representan un entregable con
fecha.
 Packet: Conjunto de componentes u objetos que deben se modificados para
implementar un item del backlog.
 Changes: Cambios que deben ocurrir para implementar un item del backlog.
 Problems: Problemas técnicos que deben ser resueltos para implementar un
cambio.
 Risks.
 Solutions: Respuestas a los problemas y riesgos, generalmente resultando en
cambios.
 Issues: Cualquier otra cuestión del general al proyecto no descripta en
términos de paquetes, cambios y problemas.
33
Arquitectura de Proyectos de IT
Scrum – Ventajas
 Evita estancamientos en el proyecto
 Seguimiento del proyecto
 Seguimiento del equipo
 SW que incrementa su funcionalidad en cada sprint
 Mecanismos de control para variables cambiantes con el
entorno
 Progreso en el producto con requerimientos inestables
 Aumenta comunicación con el equipo
 Cliente obtiene feedback frecuente sobre el producto
34
Arquitectura de Proyectos de IT
XP – Sus Valores
 Comunicación
 Feedback
 Simplicidad
 Coraje
35
Arquitectura de Proyectos de IT
XP – Estrategia de planificación
 Planning Game
– El equipo de desarrollo estima
– El cliente prioriza
 Whole Team
– El cliente participa del equipo de desarrollo
– Debe estar disponible siempre
 Small Releases
 User stories
– El usuario…
– Desea…
– Para así poder…
 Metrics
36
Arquitectura de Proyectos de IT
XP – Estrategia de diseño
 Principios
– Baja inversión inicial
– Asumir simplicidad
– Crecimiento gradual – pasos pequeños
– No sobrediseñar (“travel light”)
 Prácticas
– System Metaphor
– Simple Design
– Refactoring
– Test Driven Development
37
Arquitectura de Proyectos de IT
XP – Otras prácticas
 Pair Programming
 Collective Code Ownership
 Continuous Integration
 Coding Standards
 Sustainable Pace
38
Arquitectura de Proyectos de IT
XP – Fases del desarrollo
 Listening
 Testing
 Coding
 Refactoring
39
Arquitectura de Proyectos de IT
XP – Elementos de una iteración
 Planning Game – recolección de user stories
 Estimación – hecha por el desarrollador en base a
analogía o prototipado
 Metáfora – vocabulario común del sistema
 Diseño Simple – en XP el código fuente es el diseño
 Tests de aceptación
 Refactoring
 Integración
40
Arquitectura de Proyectos de IT
XP - Críticas
 No escalable
 Altos riesgos si existen fallas en la arquitectura
 Altos riesgos si no hay capacidad/estabilidad en las
personas
 La programación de a pares es un intento por
solventar la falta de análisis
 Puede caer en el modelo de codificar y probar
 Vagas nociones de aseguramiento de la calidad
 Fuerte tendencia a no documentar
41
Arquitectura de Proyectos de IT
Bibliografía
 [PlanningXP] Kent Beck, Martin Fowler , Planning Extreme
Programming. Addison Wesley, 2000, ISBN 0-201-71091-9.
 [XPExplained] Kent Beck, Extreme Programming Explained,
Addison-Wesley, 1999, ISBN 0201616416
 [MythicalMM] Fred Brooks, The Mythical Man-Month,
Addison-Wesley, 1995, ISBN 0201835959
 [PMMethodolgies] Jason Charvat, Project Management
Methodologies, JOHN WILEY & SONS, INC., 2003, ISBN
0-471-22178-3
 [AbySoft]
http://www.agilemodeling.com/essays/costOfChange.htm

More Related Content

What's hot

1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de softwareUVM
 
La Práctica : Una visión general
La Práctica : Una visión generalLa Práctica : Una visión general
La Práctica : Una visión generalguest87d127
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareJesenia Escobar
 
Introducción a SCRUM
Introducción a SCRUMIntroducción a SCRUM
Introducción a SCRUMEddie Malca
 
Ingeniería De Requisitos
Ingeniería De RequisitosIngeniería De Requisitos
Ingeniería De RequisitosssharLudena
 
Fases de RUP - PDF
Fases de RUP - PDFFases de RUP - PDF
Fases de RUP - PDFradoslawkb
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareDeisy Sapaico
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Tuyo Mio
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De SoftwareJulio Pari
 
Ciclo de vida d.s
Ciclo de vida d.s Ciclo de vida d.s
Ciclo de vida d.s javkreath
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfBibliotecaenlineaUNI
 
4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De RationalJulio Pari
 
El código de ética y práctica profesional de ingeniería del software
El código de ética y práctica profesional de ingeniería del softwareEl código de ética y práctica profesional de ingeniería del software
El código de ética y práctica profesional de ingeniería del softwareOmar Jaramillo
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareElvisAR
 
Controles a proyectos de desarrollo de Software
Controles a proyectos de desarrollo de SoftwareControles a proyectos de desarrollo de Software
Controles a proyectos de desarrollo de SoftwareSantander David Navarro
 
Gestión de proyectos de software
Gestión de proyectos de softwareGestión de proyectos de software
Gestión de proyectos de softwareALONSO UCHIHA
 

What's hot (19)

1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
La Práctica : Una visión general
La Práctica : Una visión generalLa Práctica : Una visión general
La Práctica : Una visión general
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Introducción a SCRUM
Introducción a SCRUMIntroducción a SCRUM
Introducción a SCRUM
 
Ingeniería De Requisitos
Ingeniería De RequisitosIngeniería De Requisitos
Ingeniería De Requisitos
 
Fases de RUP - PDF
Fases de RUP - PDFFases de RUP - PDF
Fases de RUP - PDF
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de software
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
 
RUP Proceso Unificado de Rational
RUP Proceso Unificado de RationalRUP Proceso Unificado de Rational
RUP Proceso Unificado de Rational
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software
 
Ciclo de vida d.s
Ciclo de vida d.s Ciclo de vida d.s
Ciclo de vida d.s
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational
 
El código de ética y práctica profesional de ingeniería del software
El código de ética y práctica profesional de ingeniería del softwareEl código de ética y práctica profesional de ingeniería del software
El código de ética y práctica profesional de ingeniería del software
 
1. rol del ingeniero del software
1.  rol del ingeniero del software1.  rol del ingeniero del software
1. rol del ingeniero del software
 
Modelo en cascada pemo
Modelo en cascada pemoModelo en cascada pemo
Modelo en cascada pemo
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Controles a proyectos de desarrollo de Software
Controles a proyectos de desarrollo de SoftwareControles a proyectos de desarrollo de Software
Controles a proyectos de desarrollo de Software
 
Gestión de proyectos de software
Gestión de proyectos de softwareGestión de proyectos de software
Gestión de proyectos de software
 

Viewers also liked

Tarefa: Traballando cos diferentes tipos de contidos en Drupal
Tarefa: Traballando cos diferentes tipos de contidos en DrupalTarefa: Traballando cos diferentes tipos de contidos en Drupal
Tarefa: Traballando cos diferentes tipos de contidos en DrupalJuan Marcos Filgueira
 
Agile Open 2009 Tdd And Architecture Influences
Agile Open 2009   Tdd And Architecture InfluencesAgile Open 2009   Tdd And Architecture Influences
Agile Open 2009 Tdd And Architecture InfluencesGustavo Andres Brey
 
Софтуерни инструменти в Амазон, които използвам
Софтуерни инструменти в Амазон, които използвамСофтуерни инструменти в Амазон, които използвам
Софтуерни инструменти в Амазон, които използвамМихаил Великов
 
How To Improve Lead Generation With Prospecting
How To Improve Lead Generation With Prospecting How To Improve Lead Generation With Prospecting
How To Improve Lead Generation With Prospecting Brian Carroll
 
Actividades de los animales
Actividades de los animalesActividades de los animales
Actividades de los animalesMaría Nuñez
 
Gurmeet Singh Resume
Gurmeet Singh ResumeGurmeet Singh Resume
Gurmeet Singh ResumeGurmeet Singh
 
¿Por qué contratar un equipo de limpieza ?
¿Por qué contratar un equipo de limpieza ?¿Por qué contratar un equipo de limpieza ?
¿Por qué contratar un equipo de limpieza ?LimpiezasExpress
 
Horizontal and vertical integration
Horizontal and vertical integrationHorizontal and vertical integration
Horizontal and vertical integrationromaine wedderburn
 
Styles and genres
Styles and genres Styles and genres
Styles and genres Aaron NAndra
 
Intracranial Calcification in Cone Beam CT & Medical CT
Intracranial Calcification in Cone Beam CT & Medical CTIntracranial Calcification in Cone Beam CT & Medical CT
Intracranial Calcification in Cone Beam CT & Medical CTJudy Oh, D.D.S.
 

Viewers also liked (20)

Tarefa: Traballando cos diferentes tipos de contidos en Drupal
Tarefa: Traballando cos diferentes tipos de contidos en DrupalTarefa: Traballando cos diferentes tipos de contidos en Drupal
Tarefa: Traballando cos diferentes tipos de contidos en Drupal
 
Unit5 Task2
Unit5 Task2Unit5 Task2
Unit5 Task2
 
Lighting without a bulb - OLED_Massimo_Marrazzo
Lighting without a bulb - OLED_Massimo_MarrazzoLighting without a bulb - OLED_Massimo_Marrazzo
Lighting without a bulb - OLED_Massimo_Marrazzo
 
Agile Open 2009 Tdd And Architecture Influences
Agile Open 2009   Tdd And Architecture InfluencesAgile Open 2009   Tdd And Architecture Influences
Agile Open 2009 Tdd And Architecture Influences
 
Софтуерни инструменти в Амазон, които използвам
Софтуерни инструменти в Амазон, които използвамСофтуерни инструменти в Амазон, които използвам
Софтуерни инструменти в Амазон, които използвам
 
How To Improve Lead Generation With Prospecting
How To Improve Lead Generation With Prospecting How To Improve Lead Generation With Prospecting
How To Improve Lead Generation With Prospecting
 
Actividades de los animales
Actividades de los animalesActividades de los animales
Actividades de los animales
 
Gurmeet Singh Resume
Gurmeet Singh ResumeGurmeet Singh Resume
Gurmeet Singh Resume
 
Helping our community
Helping our communityHelping our community
Helping our community
 
A second a day
A second a dayA second a day
A second a day
 
Ruby on Rails Workshop
Ruby on Rails WorkshopRuby on Rails Workshop
Ruby on Rails Workshop
 
Prospettiva ZeroSei - Perspective from 0 to 6 vanishing points - Slideshare
Prospettiva ZeroSei  - Perspective from 0 to 6 vanishing points - SlideshareProspettiva ZeroSei  - Perspective from 0 to 6 vanishing points - Slideshare
Prospettiva ZeroSei - Perspective from 0 to 6 vanishing points - Slideshare
 
Foldable World
Foldable WorldFoldable World
Foldable World
 
Mi mano derecha al frente
Mi mano derecha al frenteMi mano derecha al frente
Mi mano derecha al frente
 
¿Por qué contratar un equipo de limpieza ?
¿Por qué contratar un equipo de limpieza ?¿Por qué contratar un equipo de limpieza ?
¿Por qué contratar un equipo de limpieza ?
 
The Legacy of inBloom
The Legacy of inBloomThe Legacy of inBloom
The Legacy of inBloom
 
Showcasing
ShowcasingShowcasing
Showcasing
 
Horizontal and vertical integration
Horizontal and vertical integrationHorizontal and vertical integration
Horizontal and vertical integration
 
Styles and genres
Styles and genres Styles and genres
Styles and genres
 
Intracranial Calcification in Cone Beam CT & Medical CT
Intracranial Calcification in Cone Beam CT & Medical CTIntracranial Calcification in Cone Beam CT & Medical CT
Intracranial Calcification in Cone Beam CT & Medical CT
 

Similar to Metodologías Agiles - APIT - UTN FRBA

Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoCoesi Consultoria
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareLuis Fernández
 
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptMarko Zapata
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Softwareeeencalada
 
La Práctica : Una visión general
La Práctica : Una visión generalLa Práctica : Una visión general
La Práctica : Una visión generalCinthia Pulla
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranMarijoalbarranb
 
Metodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemasMetodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemasgrupo7inf162
 
El_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdfEl_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdfpauly230688
 
Especial ingenieria de software
Especial ingenieria de softwareEspecial ingenieria de software
Especial ingenieria de softwarealejandor reyes
 
Especial ingenieria de software
Especial ingenieria de softwareEspecial ingenieria de software
Especial ingenieria de softwarealejandor reyes
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agilesmmanuelo
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarKiberley Santos
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1Sergio Sanchez
 

Similar to Metodologías Agiles - APIT - UTN FRBA (20)

Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de software
 
desarrollo agil-2022.pdf
desarrollo agil-2022.pdfdesarrollo agil-2022.pdf
desarrollo agil-2022.pdf
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso
 
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Software
 
La Práctica : Una visión general
La Práctica : Una visión generalLa Práctica : Una visión general
La Práctica : Una visión general
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
 
titulo de pdf
titulo de pdftitulo de pdf
titulo de pdf
 
Metodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemasMetodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemas
 
El proceso
El procesoEl proceso
El proceso
 
Rup
RupRup
Rup
 
El_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdfEl_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdf
 
Especial ingenieria de software
Especial ingenieria de softwareEspecial ingenieria de software
Especial ingenieria de software
 
Especial ingenieria de software
Especial ingenieria de softwareEspecial ingenieria de software
Especial ingenieria de software
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usar
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 

More from Gustavo Andres Brey

ArqConf 2018 - No copies el modelo Spotify
ArqConf 2018 - No copies el modelo SpotifyArqConf 2018 - No copies el modelo Spotify
ArqConf 2018 - No copies el modelo SpotifyGustavo Andres Brey
 
Introduccion a Python y Data Science
Introduccion a Python y Data ScienceIntroduccion a Python y Data Science
Introduccion a Python y Data ScienceGustavo Andres Brey
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Gustavo Andres Brey
 

More from Gustavo Andres Brey (7)

ArqConf 2018 - No copies el modelo Spotify
ArqConf 2018 - No copies el modelo SpotifyArqConf 2018 - No copies el modelo Spotify
ArqConf 2018 - No copies el modelo Spotify
 
Introduccion a Python y Data Science
Introduccion a Python y Data ScienceIntroduccion a Python y Data Science
Introduccion a Python y Data Science
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
 
Dibujar, pintar y programar
Dibujar, pintar y programarDibujar, pintar y programar
Dibujar, pintar y programar
 
Caracteristicas de Ruby
Caracteristicas de RubyCaracteristicas de Ruby
Caracteristicas de Ruby
 
Ruby para Java Developers
Ruby para Java DevelopersRuby para Java Developers
Ruby para Java Developers
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
 

Recently uploaded

El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 

Recently uploaded (20)

El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 

Metodologías Agiles - APIT - UTN FRBA

  • 1. Arquitectura de Proyectos de IT © 2005 Metodologías Iterativas de Desarrollo Ing. Nicolás Passerini Ing. Gustavo A. Brey 10Pines
  • 5. Es un proceso de aprendizaje, que va desde la adquisición de un conocimiento a la representación del mismo.
  • 6. 6 Arquitectura de Proyectos de IT Características de una metodología  Cascada vs. Iterativo. – Decision Momentum  Procesos bien definidos vs. aprovechamiento de las habilidades y las interacciones entre las personas. – Brain Work vs. No Brain Work – Procesos definidos vs. Procesos intuitivos o internalizados  Procesos repetibles vs. adaptativos, eficiencia, mejora continua.  Cuánto y qué tan formalmente documentar.
  • 7. 7 Arquitectura de Proyectos de IT Metodologías Iterativas - Desripción  El proyecto se divide en “iteraciones”, cuyo entregable es una versión del sistema.  Todo está sujeto a ser modificado en las iteraciones posteriores (planificación, análisis, diseño, código, etc).  En lugar de poner el énfasis en la eliminación de los errores, se procura minimizar su impacto.  Se intenta aprovechar el aprendizaje durante el desarrollo.  Ideales para cuando los requerimientos no están del todo claros en un comienzo o pueden sufrir modificaciones.  No confundir iterativo e incremental. Lo iterativo no presupone o incremental, ni viceversa.
  • 8. 8 Arquitectura de Proyectos de IT Metodologías Iterativas - Motivaciones  En la actualidad, con frecuencia la extracción de requerimientos es más costosa que la construcción.  Dinamismo o “apuro”. Muchas veces los requerimientos no están definidos desde el comienzo, cambian durante el desarrollo, pueden cometerse errores.  La complejidad en muchos sistemas hoy en día pasa más por las interfaces de usuario que por la lógica de negocio.  No es tan sencillo manejar los requerimientos independientemente de las posibilidades o restricciones tecnológicas.
  • 9. 9 Arquitectura de Proyectos de IT Metodologías Iterativas Ventajas  Más “realista”  Se adaptan mejor a los cambios  Permiten administrar mejor los riesgos  Mayor visibilidad para el cliente  Mejor feedback para el equipo de desarrollo Desventajas  Falta de experiencia  Reacción al cambio de enfoque  Requieren de distintos modelos de contrato.
  • 10. 10 Arquitectura de Proyectos de IT Problemas de las metodologías secuenciales Relación del costo de un cambio con metodologías secuenciales
  • 11. 11 Arquitectura de Proyectos de IT Problemas de las metodologías secuenciales Como aplanar la curva utilizando técnicas ágiles
  • 12. 12 Arquitectura de Proyectos de IT Problemas de las metodologías secuenciales Curva según Ken Beck (Creador de la metodologías ágil XP)
  • 13. 13 Arquitectura de Proyectos de IT Que no es agile!
  • 14. 14 Arquitectura de Proyectos de IT Manifiesto agil Estamos poniendo al descubierto mejores métodos para desarrollar software, haciéndolo y ayudando a otros a que lo hagan. Con este trabajo hemos llegado a valorar: Individuos e interacción, por sobre los procesos y herramientas. Software funcionando, por sobre documentación exhaustiva. Colaboración con el cliente, por sobrenegociación contractual. Responder a los cambios, por sobre del seguimiento de un plan. Aunque hay valor en los elementos de la derecha, valoramos más los de la izquierda.
  • 15. 15 Arquitectura de Proyectos de IT Principios de las metodologías ágiles  Son iterativas. No intentan minimizar los cambios, sino estar preparados para aceptarlos.  Son adaptativas en lugar de repetibles.  Incorporan feedback sobre el proceso.  Asegurar la calidad y la excelencia técnica desde el inicio  Buscan minimizar el overhead metodológico.
  • 16. 16 Arquitectura de Proyectos de IT Prácticas claves  Requerimientos evolutivos  Planificación iterativa y adaptativa  Priorización por valor de negocio y por riesgo  Diseño y arquitectura emergentes  Deployment incremental  Timeboxing  Empowerment y auto-organización
  • 17. 17 Arquitectura de Proyectos de IT Prácticas de calidad  Test Driven Development – Se escribe código productivo una vez que se tiene un test que Falla  Pair Programming – Toda línea de código productivo se escribe con dos personas en una misma máquina => Revisión de código on-the-fly  Diseño simple y refactoring – Diseñar el sistema tan simple como sea posible en cada momento, eliminando complejidad innecesaria tan pronto como sea identificada. – Reestructurar el sistema sin cambiar su comportamiento para eliminar duplicaciones, mejorar la legibilidad, la simplicidad y la flexibilidad del código.  Estándares de codificación – Reglas que permiten comprender y compartir el código entrelos desarrolladores
  • 18. 18 Arquitectura de Proyectos de IT Integración continua  Build automatizado y auto-verificable – El código incluye un suite de tests automatizados que buscan detectar bugs – Los tests pueden ser ejecutados con un simple comando y verifican automáticamente los resultados – Si alguno de los tests falla, todo el build falla  Servidor de integración continua: – Ante cada commit dispara un build auto-verificable – Permite detectar y eliminar los bugs tan pronto como son introducidos
  • 19. 19 Arquitectura de Proyectos de IT Manejo de Riesgos en Metodologías Ágiles  Retrasos y cancelaciones  Altos costos de mantenimiento  Gran cantidad de defectos  Falta de entendimiento del negocio  Cambios en el negocio  Requerimientos “volados”  Arquitectura y diseño “volados”  Inestabilidad de personal
  • 20. 20 Arquitectura de Proyectos de IT ¿Cuándo Elegir las Metodologías Ágiles?  Los requerimientos son poco claros o altamente volátiles.  El cliente entiende el proceso y está involucrado en el proyecto.  Se cuenta con profesionales capacitados y competentes  Se tienen canales ricos de comunicación  El grupo de trabajo no es demasiado grande (~ 50)  Se desea fomentar la mejora continua del proceso
  • 21. 21 Arquitectura de Proyectos de IT Rol del Arquitecto en un Proyecto Iterativo  Toma de decisiones en todo momento  Necesidad de construir arquitecturas que evolucionen  Prácticas de Calidad (TDD, Integración Continua, etc)  Tiene sus propios pasos en la iteración  Entender/seleccionar los requerimientos  Crear/Actualizar la arquitectura  Comunicarla constantemente  Evaluarla con los stakeholders  Verificar su implementación
  • 22. Arquitectura de Proyectos de IT © 2005 Metodologías Iterativas de Desarrollo Material complementatio Ing. Nicolás Passerini Ing. Gustavo A. Brey 10Pines
  • 23. 23 Arquitectura de Proyectos de IT Material Complementario  Ejemplos de Metodologías Agiles – Scum – eXtreme Programming
  • 24. 24 Arquitectura de Proyectos de IT Scrum – Fases de un proyecto  Planeamiento  Arquitectura o diseño de alto nivel  Desarrollo (sprints) – Sprint Planning – Daily Work – Sprint Review  Cierre
  • 25. 25 Arquitectura de Proyectos de IT Scrum – Planeamiento  Definir el backlog del producto.  Determinar los próximos releases (objetivos y fechas).  Determinar los objetivos y el equipo para el primer release.  Analizar los riesgos.  Revalidar o ajustar las herramientas e infraestructura.  Estimar el costo del release.  Verificar la aprobación del management.
  • 26. 26 Arquitectura de Proyectos de IT Scrum - Arquitectura o diseño de alto nivel  Identificar los cambios necesarios para implementar el backlog.  Extender o actualizar el modelo de dominio.  Refinar la arquitectura para soportar los nuevos requerimientos.  Plantear la estrategia para encarar cada item del backlog.  Revisar cada diseño y reasignar tareas si es necesario.
  • 27. 27 Arquitectura de Proyectos de IT Scrum – Desarrollo  Ciclo de desarrollo iterativo  “Concurrent Engineering”  Sprint Planning  En cada sprint se realizan las siguientes tareas: – Desarrollo (análisis, diseño, programación, testing y documentación) – Empaquetado y despliegue – Revisión – Ajustes  Sprint Review
  • 28. 28 Arquitectura de Proyectos de IT Scrum – Cierre  Se cierra el release.  Pruebas de integración  Pruebas de sistema  Documentación para el usuario  Preparación del material de entrenamiento
  • 29. 29 Arquitectura de Proyectos de IT Scrum – Vista global del proceso Product Backlog Increment Sprint Planning Meeting Daily Scrum Daily Work Sprint Goal Sprint Backlog Blocks List Product Sprint Review Meeting Sprint: 2 weeks Product Backlog’ Increment’
  • 30. 30 Arquitectura de Proyectos de IT Scrum Roles  Product Owner  Scrum Master  Team  StakeHolders Artefactos clave  Product Backlog  Sprint Goal  Sprint Backlog  Blocks List  Increment Reuniones clave  Sprint Planning  Daily Scrum  Sprint Review
  • 31. 31 Arquitectura de Proyectos de IT Scrum – Reuniones  Sprint Planning –Seleccionar los items de mayor prioridad en el Product Backlog –Determinar el Sprint Goal –El equipo determina el Sprint Backlog  Scrum –Habla cada desarrollador del equipo: –¿Qué hiciste ayer? –¿Qué vas a hacer hoy? –¿Qué cosas te traban? –Se actualiza el Sprint Backlog y el Blocks List  Sprint Review –Demostración y discusión del incremento  Las tres reuniones son manejadas por el ScrumMaster
  • 32. 32 Arquitectura de Proyectos de IT Scrum – Artefactos  Backlog: Funcionalidades aún no cubiertas en el release actual. Bugs, defectos, mejoras, etc.  Release: Conjunto de items del backlog que representan un entregable con fecha.  Packet: Conjunto de componentes u objetos que deben se modificados para implementar un item del backlog.  Changes: Cambios que deben ocurrir para implementar un item del backlog.  Problems: Problemas técnicos que deben ser resueltos para implementar un cambio.  Risks.  Solutions: Respuestas a los problemas y riesgos, generalmente resultando en cambios.  Issues: Cualquier otra cuestión del general al proyecto no descripta en términos de paquetes, cambios y problemas.
  • 33. 33 Arquitectura de Proyectos de IT Scrum – Ventajas  Evita estancamientos en el proyecto  Seguimiento del proyecto  Seguimiento del equipo  SW que incrementa su funcionalidad en cada sprint  Mecanismos de control para variables cambiantes con el entorno  Progreso en el producto con requerimientos inestables  Aumenta comunicación con el equipo  Cliente obtiene feedback frecuente sobre el producto
  • 34. 34 Arquitectura de Proyectos de IT XP – Sus Valores  Comunicación  Feedback  Simplicidad  Coraje
  • 35. 35 Arquitectura de Proyectos de IT XP – Estrategia de planificación  Planning Game – El equipo de desarrollo estima – El cliente prioriza  Whole Team – El cliente participa del equipo de desarrollo – Debe estar disponible siempre  Small Releases  User stories – El usuario… – Desea… – Para así poder…  Metrics
  • 36. 36 Arquitectura de Proyectos de IT XP – Estrategia de diseño  Principios – Baja inversión inicial – Asumir simplicidad – Crecimiento gradual – pasos pequeños – No sobrediseñar (“travel light”)  Prácticas – System Metaphor – Simple Design – Refactoring – Test Driven Development
  • 37. 37 Arquitectura de Proyectos de IT XP – Otras prácticas  Pair Programming  Collective Code Ownership  Continuous Integration  Coding Standards  Sustainable Pace
  • 38. 38 Arquitectura de Proyectos de IT XP – Fases del desarrollo  Listening  Testing  Coding  Refactoring
  • 39. 39 Arquitectura de Proyectos de IT XP – Elementos de una iteración  Planning Game – recolección de user stories  Estimación – hecha por el desarrollador en base a analogía o prototipado  Metáfora – vocabulario común del sistema  Diseño Simple – en XP el código fuente es el diseño  Tests de aceptación  Refactoring  Integración
  • 40. 40 Arquitectura de Proyectos de IT XP - Críticas  No escalable  Altos riesgos si existen fallas en la arquitectura  Altos riesgos si no hay capacidad/estabilidad en las personas  La programación de a pares es un intento por solventar la falta de análisis  Puede caer en el modelo de codificar y probar  Vagas nociones de aseguramiento de la calidad  Fuerte tendencia a no documentar
  • 41. 41 Arquitectura de Proyectos de IT Bibliografía  [PlanningXP] Kent Beck, Martin Fowler , Planning Extreme Programming. Addison Wesley, 2000, ISBN 0-201-71091-9.  [XPExplained] Kent Beck, Extreme Programming Explained, Addison-Wesley, 1999, ISBN 0201616416  [MythicalMM] Fred Brooks, The Mythical Man-Month, Addison-Wesley, 1995, ISBN 0201835959  [PMMethodolgies] Jason Charvat, Project Management Methodologies, JOHN WILEY & SONS, INC., 2003, ISBN 0-471-22178-3  [AbySoft] http://www.agilemodeling.com/essays/costOfChange.htm

Editor's Notes

  1. Incremental development is a scheduling and staging strategy in which the various parts of the system are developed at different times or rates, and integrated as they are completed. It does not imply, require nor preclude iterative development or waterfall development - both of those are rework strategies. The alternative to incremental development is to develop the entire system with a "big bang" integration. Iterative development is a rework scheduling strategy in which time is set aside to revise and improve parts of the system. It does not presuppose incremental development, but works very well with it. A typical difference is that the output from an increment is not necessarily subject to further refinement, and its' testing or user feedback is not used as input for revising the plans or specifications of the successive increments. On the contrary, the output from an iteration is examined for modification, and especially for revising the targets of the successive iterations. The two terms were merged in practical use in the mid-1990s. The authors of the Unified Process (UP) and the Rational Unified Process(RUP) selected the term "iterative development", and "iterations" to generally mean any combination of incremental and iterative development. Most people saying "iterative" development mean that they do both incremental and iterative development. Some project teams get into trouble by doing only one and not the other without realizing it.
  2. I’ll give you a minute to read the cartoon strips… We are not using Agile or Lean to get rid of people, that’s not our definition of lean. We aren’t throwing away all documentation and process.. This is a disciplined agile approach. We are providing training! Typical objections, among others: I don’t know what you mean by “agile” I’ve seen “agile” used just as an excuse to do anything you want Agile doesn’t scale Agile can’t work across sites Agile techniques will result in lower quality Agile is unproven Agile is a huge cultural transformation that doesn’t warrant the investment Agile approaches are not CMMI compliant Business management processes prevents me from doing agile Typical objections, among others: I don’t know what you mean by “agile” I’ve seen “agile” used just as an excuse to do anything you want Agile doesn’t scale Agile can’t work across sites Agile techniques will result in lower quality Agile is unproven Agile is a huge cultural transformation that doesn’t warrant the investment Agile approaches are not CMM compliant Business management processes prevents me from doing agile