Your SlideShare is downloading. ×
0
Metodologías Agiles de
Desarrollo de Software
Juan Gómez
http://www.linkedin.com/in/juandg
Abstarct
 Presentar una mirada general a las
metodologías "Agiles" de Desarrollo de Software
y desbancar el mito de que d...
Un ejemplo: Entrevista
 Entrevistador: Dice en su hoja de vida que usted
tiene experiencia en metodologías agiles, en cua...
Modelo Waterfall
Feasibility
Specify
Requirements
Design
Implement
Test
Deliver
Maintain
Mitos
 Metodologías Agiles = Cowboy Coding
 Metodologías Agiles = Hay una sola! (XP?)
 Metodologías Agiles != Procesos
...
Realidades
 Metodologías Agiles != Cowboy Coding
 Metodologías Agiles = Muchas Diferentes
 Metodologías Agiles = Proces...
El Manifiesto Ágil:
Principios Fundamentales
Process and tools
Individuals and
interactions
over
Following a planRespondin...
Metodologías Agiles
 XP (eXtreme programming)
 Scrum
 DSDM (Dynamic Systems Development
Method)
 FDD (Feature Driven D...
Características Comunes
 Timeboxing
 Comunicación
 Patrocinador (Sponsor)
 Equipos de Alto rendimiento
 TDD
 Contino...
XP
Metodologías Agiles
Las 12 Practicas de XP
 Fine scale feedback
• Pair programming
• Planning Game
• Test drive
development
• Whole team
 Co...
FDD
Metodologías Agiles
Seis Roles
 Project Manager
 Chief Architect
 Development Manager
 Chief Programmers
 Class Owners (aka Developers)
...
OK—Mas de seis!
Supporting Roles
 Domain manager
 Release manager
 Language guru
 Build engineer
 Toolsmith
 System ...
Five Processes
Develop an overall
model
Build a features
list
Plan by feature
Design by feature Build by feature
Per proje...
2. Build a features list
http://www.nebulon.com/articles/fdd/DevView.html
3. Plan By Feature
Form the planning
team
Determine the
development
sequence
Assign features to
chief programmers
Assign c...
3. Plan By Feature
http://www.nebulon.com/articles/fdd/planview.html
5. Develop by feature
Code
Unit Testing
Code inspections
Promote to build
Project Tracking Methodology
Develop an overall
model
Build a features
list
Plan by feature
Design by feature Build by fea...
Project Tracking Methodology
Design by feature Build by feature
77%
Walk through: 1%
Design: 40%
Inspection: 3%
Code/test:...
FDD defines 6 milestones
1) walkthrough – explanation of the requirement to
the developers (face-to-face)
2) design – crea...
23
 Six exact meaningful milestones per feature
 Percentage complete assigned to each milestone
 Record completion date...
24
To steer you need to know…
 Exactly where you are
 Exactly where you are going
 Roughly how fast you are going
Proje...
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...
Six-Sigma enabler
SCRUM
Metodologías Agiles
Features of SCRUM
 Scrum is a simple “inspect and adapt” framework that has three
roles, three ceremonies, and three arti...
What’s the process?
• A sprint is considered the “heartbeat” of the Scrum cycle
Sprint
Planning
Sprint Sprint Review
Sprin...
SCRUM Process Overview
How Are We Doing?
Ranking User Stories
How Are We Doing? - Velocity
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 ...
Metodologías Agiles de
Desarrollo de Software
Q&A
Upcoming SlideShare
Loading in...5
×

Metodologías agiles de desarrollo de software

9,440

Published on

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

No Downloads
Views
Total Views
9,440
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
174
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×