Metodologías agiles de desarrollo de software

10,425 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,425
On SlideShare
0
From Embeds
0
Number of Embeds
251
Actions
Shares
0
Downloads
191
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Metodologías agiles de desarrollo de software

  1. 1. Metodologías Agiles de Desarrollo de Software Juan Gómez http://www.linkedin.com/in/juandg
  2. 2. Abstarct  Presentar una mirada general a las metodologías "Agiles" de Desarrollo de Software y desbancar el mito de que desarrollo "Ágil" es simplemente desarrollar sin seguir un proceso, o sin crear documentación.  Hablar un poco sobre la experiencia de implementar una metodología Ágil en un proyecto de software de gran volumen, las ventajas, desventajas y especialmente los retos que se esto presenta para un equipo de desarrollo.
  3. 3. Un ejemplo: Entrevista  Entrevistador: Dice en su hoja de vida que usted tiene experiencia en metodologías agiles, en cuales ha trabajado?  Candidato: Como en cuales? En Ágil! Cual mas?  Entrevistador: Y entonces que es Ágil?  Candidato: Pues es desarrollar software sin seguir un proceso, sin tantas complicaciones y sin tanta documentación, es mas rápido y mas ágil.  Entrevistador: Gracias, que pase el siguiente!
  4. 4. Modelo Waterfall Feasibility Specify Requirements Design Implement Test Deliver Maintain
  5. 5. Mitos  Metodologías Agiles = Cowboy Coding  Metodologías Agiles = Hay una sola! (XP?)  Metodologías Agiles != Procesos  Metodologías Agiles != Documentación  Metodologías Agiles != Buenas Practicas  Metodologías Agiles = Para Todo el Mundo  Metodologías Agiles != CMMI
  6. 6. Realidades  Metodologías Agiles != Cowboy Coding  Metodologías Agiles = Muchas Diferentes  Metodologías Agiles = Procesos  Metodologías Agiles = Buena Documentación  Metodologías Agiles = Buenas Practicas  Metodologías Agiles != Para Todo el Mundo  Metodologías Agiles = CMMI
  7. 7. El Manifiesto Ágil: Principios Fundamentales Process and tools Individuals and interactions over Following a planResponding to change over Source: www.agilemanifesto.org Comprehensive documentation Working software over Contract negotiationCustomer collaboration over
  8. 8. Metodologías Agiles  XP (eXtreme programming)  Scrum  DSDM (Dynamic Systems Development Method)  FDD (Feature Driven Development)  Kanban
  9. 9. Características Comunes  Timeboxing  Comunicación  Patrocinador (Sponsor)  Equipos de Alto rendimiento  TDD  Continous Integration
  10. 10. XP Metodologías Agiles
  11. 11. Las 12 Practicas de XP  Fine scale feedback • Pair programming • Planning Game • Test drive development • Whole team  Continuous process • Continuous integration • Design improvement • Small releases • Shared understanding – Coding Standards – Collective code ownership – Simple design – System metaphor • Programmer welfare – Sustainable pace
  12. 12. FDD Metodologías Agiles
  13. 13. Seis Roles  Project Manager  Chief Architect  Development Manager  Chief Programmers  Class Owners (aka Developers)  Domain Experts
  14. 14. OK—Mas de seis! Supporting Roles  Domain manager  Release manager  Language guru  Build engineer  Toolsmith  System administrator Sometimes Helpful  Testers  Deployers  Technical writers
  15. 15. Five Processes Develop an overall model Build a features list Plan by feature Design by feature Build by feature Per project Per feature
  16. 16. 2. Build a features list http://www.nebulon.com/articles/fdd/DevView.html
  17. 17. 3. Plan By Feature Form the planning team Determine the development sequence Assign features to chief programmers Assign classes to developers
  18. 18. 3. Plan By Feature http://www.nebulon.com/articles/fdd/planview.html
  19. 19. 5. Develop by feature Code Unit Testing Code inspections Promote to build
  20. 20. Project Tracking Methodology Develop an overall model Build a features list Plan by feature Design by feature Build by feature 10% initial, 4% ongoing 4% initial, 1% ongoing 2% initial, 2% ongoing 77% Process 1’s 10% is the most significant. Other numbers are fungible.
  21. 21. Project Tracking Methodology Design by feature Build by feature 77% Walk through: 1% Design: 40% Inspection: 3% Code/test: 45% Inspection: 10% Promote: 1% walkthrough + design = 41% complete
  22. 22. FDD defines 6 milestones 1) walkthrough – explanation of the requirement to the developers (face-to-face) 2) design – creation of the sequence diagram 3) design review – peer review to check the design meets the requirements 4) coded – methods are written in class files to deliver the design 5) code review and unit test – test & peer review to check that code does what was specified in the design 6) promotion – into the integrated build for system / product testing.
  23. 23. 23  Six exact meaningful milestones per feature  Percentage complete assigned to each milestone  Record completion dates for each milestone  Roll up by Feature Set, Feature Area  Represent graphically for upper management  Trend and graph as desired Domain Walkthrough Design Design Inspection Code Code Inspection Promote to Build 1% 40% 3% 45% 10% 1% Project Tracking Methodology
  24. 24. 24 To steer you need to know…  Exactly where you are  Exactly where you are going  Roughly how fast you are going Project Tracking Methodology
  25. 25. Achieving Smooth Flow Device Management Ike II Cumulative Flow 0 20 40 60 80 100 120 140 160 180 200 220 240 10-Feb 17-Feb 24-Feb 2-M ar 9-M ar 16-M ar 23-M ar 30-M ar Time Features Inventory Started Designed Coded Complete
  26. 26. Six-Sigma enabler
  27. 27. SCRUM Metodologías Agiles
  28. 28. Features of SCRUM  Scrum is a simple “inspect and adapt” framework that has three roles, three ceremonies, and three artifacts designed to deliver working software in Sprints, usually in iterations of 1 to 4 weeks. • Product Owner • ScrumMaster • The Team Roles • Sprint Planning • Sprint Review • Daily Scrum Meeting Ceremonies • Product Backlog • Sprint Backlog • Burndown Chart Artifacts
  29. 29. What’s the process? • A sprint is considered the “heartbeat” of the Scrum cycle Sprint Planning Sprint Sprint Review Sprint Retrospective • Time-Boxing is used to control the duration of each step and must be adhered to
  30. 30. SCRUM Process Overview
  31. 31. How Are We Doing?
  32. 32. Ranking User Stories
  33. 33. How Are We Doing? - Velocity
  34. 34. CMMI  CMMI no dice que es lo que hay que hacer, Ni mucho menos como hacerlo.  CMMI no dice que solo sirve con RUP o con Waterfall.  Hay muchos caso de éxito de empresas CMMI utilizando metodologías agiles
  35. 35. Metodologías Agiles de Desarrollo de Software Q&A

×