Your SlideShare is downloading. ×
0
David Díaz Clavijo
5/6/12
Universidad de Granada
Agile Development
4 June 2012 Agile Development 2
Agile Development: OverviewAgile Development: Overview
Agile Development: Overview
– What ...
4 June 2012 Agile Development 3
What is it?
“Agile software development is a group of software
development methods based o...
4 June 2012 Agile Development 4
4 June 2012 Agile Development 5
History
¿Why?
¿When?
¿How?
4 June 2012 Agile Development 6
History
¿Why?
¿How?
¿When? Mid 90's
Heavyweight methods:
Heavily regulated
Regimented
Micr...
4 June 2012 Agile Development 7
4 June 2012 Agile Development 8
Agile Manifest
Individuals and interactions over processes and tools
Working software over...
4 June 2012 Agile Development 9
Criticism
Developer-centric rather than user-centric
– Mike Gualtieri answered : “Develope...
4 June 2012 Agile Development 10
Feature-Driven Development (FDD )
Overview
Develop Overall Model
Build Feature List
Plan ...
4 June 2012 Agile Development 11
Feature-Driven Development (FDD ) 1
4 June 2012 Agile Development 12
Feature-Driven Development (FDD ) 2
4 June 2012 Agile Development 13
Feature-Driven Development (FDD ) 3
4 June 2012 Agile Development 14
Feature-Driven Development (FDD ) 4
4 June 2012 Agile Development 15
Feature-Driven Development (FDD ): Percentage time
4 June 2012 Agile Development 16
Scrum: Overview focus on definitions
Requirements
Has to be
Finished in
8 hours
Requireme...
4 June 2012 Agile Development 17
Scrum: Roles and meetings
Roles
– Scrum Master: Servant leadership
– Product owner: Repre...
4 June 2012 Agile Development 18
Scrum: Meetings
Meetings
– Scrum of scrums:
● After Daily scrum
● Focus on overlap areas ...
4 June 2012 Agile Development 19
Scrum: Meetings
Meetings
– Sprint review meeting
● At the end of sprint
● Four hour time ...
4 June 2012 Agile Development 20
SCRUM: Overview focus on meetings
Backlog groomingDaily Scrum
Scrum of scrums
Sprint Plan...
4 June 2012 Agile Development 21
Extreme Programming
4 June 2012 Agile Development 22
Extreme Programming: Activities and Values
Activities
Coding
Testing
Listening
Designing
...
4 June 2012 Agile Development 23
Extreme Programming: Practices
Fine scale feedback
Pair programming
Planning game
Test Dr...
4 June 2012 Agile Development 24
Extreme Programming: Practices
Fine scale feedback
Pair programming
Planning game
Test Dr...
4 June 2012 Agile Development 25
Extreme Programming: Planning Game
Release planning
Focus on model the problem.
Customers...
4 June 2012 Agile Development 26
Extreme Programming
Planning Game: Release planning
Release planning by customers and dev...
4 June 2012 Agile Development 27
Extreme Programming
Planning Game: Iteration planning
Planning Game
Iteration Planning
Ex...
4 June 2012 Agile Development 28
Extreme Programming: Practices
Fine scale feedback
Pair programming
Planning game
Test Dr...
4 June 2012 Agile Development 29
Extreme Programming: Practices
Shared understanding
Coding standard
Collective code owner...
4 June 2012 Agile Development 30
Extreme Programming
Criticism
A methodology is only as effective as the people involved
B...
4 June 2012 Agile Development 31
Comparative
FDD Scrum Extreme
Programmers
involved
50 9 9
Need senior
developers
Some gro...
4 June 2012 Agile Development 32
Social abilities in group work: My own perception
Social abilities are necessary for grou...
4 June 2012 Agile Development 33
Bibliography and sources
Wikipedia English Version.
It has been a summary and refactoring...
4 June 2012 Agile Development 34
¡ THE END !
Thanks for your attention
Upcoming SlideShare
Loading in...5
×

Agile development

224

Published on

Agile development

Published in: Software, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
224
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Agile development"

  1. 1. David Díaz Clavijo 5/6/12 Universidad de Granada Agile Development
  2. 2. 4 June 2012 Agile Development 2 Agile Development: OverviewAgile Development: Overview Agile Development: Overview – What is it? – History – Agile Manifest – Criticism Feature-Driven Development (FDD) SCRUM Extreme Programming Comparative Social abilities in group work: My own perception Bibliography and sources
  3. 3. 4 June 2012 Agile Development 3 What is it? “Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self- organizing, cross-functional teams.” Wikipedia.org
  4. 4. 4 June 2012 Agile Development 4
  5. 5. 4 June 2012 Agile Development 5 History ¿Why? ¿When? ¿How?
  6. 6. 4 June 2012 Agile Development 6 History ¿Why? ¿How? ¿When? Mid 90's Heavyweight methods: Heavily regulated Regimented Micromanaged 1995 Scrum Crystal Clear Adaptative Software Development Feature Driven Development Dynamic System Development Method 1996 Extreme Programming 2001 Manifest for Agile Develoment
  7. 7. 4 June 2012 Agile Development 7
  8. 8. 4 June 2012 Agile Development 8 Agile Manifest Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan http://agilemanifesto.org/
  9. 9. 4 June 2012 Agile Development 9 Criticism Developer-centric rather than user-centric – Mike Gualtieri answered : “Developers are not coders but experience creators” Doesn't focus on product design Inefficient in large organizations Too extreme, better mix approach
  10. 10. 4 June 2012 Agile Development 10 Feature-Driven Development (FDD ) Overview Develop Overall Model Build Feature List Plan by feature Design by feature Build by feature
  11. 11. 4 June 2012 Agile Development 11 Feature-Driven Development (FDD ) 1
  12. 12. 4 June 2012 Agile Development 12 Feature-Driven Development (FDD ) 2
  13. 13. 4 June 2012 Agile Development 13 Feature-Driven Development (FDD ) 3
  14. 14. 4 June 2012 Agile Development 14 Feature-Driven Development (FDD ) 4
  15. 15. 4 June 2012 Agile Development 15 Feature-Driven Development (FDD ): Percentage time
  16. 16. 4 June 2012 Agile Development 16 Scrum: Overview focus on definitions Requirements Has to be Finished in 8 hours Requirements For time-boxed User story: As a <user type> I want to <do some action> so that <desired result>
  17. 17. 4 June 2012 Agile Development 17 Scrum: Roles and meetings Roles – Scrum Master: Servant leadership – Product owner: Represent stakeholder – Development team: Self-organize. Meetings – Daily Scrum: ● Every morning the first step. ● 15 minutes ● What you did/are you doing? Any blocks? – Backlog grooming: Improving backlog ● Team decide how many peer week ● No longer than hour
  18. 18. 4 June 2012 Agile Development 18 Scrum: Meetings Meetings – Scrum of scrums: ● After Daily scrum ● Focus on overlap areas and integration ● One voice per group. ● What your team did/are doing? Any block? – Sprint planning meeting ● At beginning of the sprint ● Prepare Sprint Backlog ● 8 hour – 1st 4 hours: Product owner + team: prioritizing backlog – 2nd 4 hours: Team only
  19. 19. 4 June 2012 Agile Development 19 Scrum: Meetings Meetings – Sprint review meeting ● At the end of sprint ● Four hour time limit ● Review work done and not done ● Present work to stakeholders – Sprint retrospective ● What went well/wrong during the sprint? ● How can we improved?
  20. 20. 4 June 2012 Agile Development 20 SCRUM: Overview focus on meetings Backlog groomingDaily Scrum Scrum of scrums Sprint Planning Sprint review Sprint retrospective
  21. 21. 4 June 2012 Agile Development 21 Extreme Programming
  22. 22. 4 June 2012 Agile Development 22 Extreme Programming: Activities and Values Activities Coding Testing Listening Designing Values Communication: Frequent verbal communication and feedback Simplicity: YAGNI :You ain't gonna need it Feedback From system: Unit test From customers: Acceptance test by customers and testers Respect
  23. 23. 4 June 2012 Agile Development 23 Extreme Programming: Practices Fine scale feedback Pair programming Planning game Test Driven Development Whole team: Continuous contact with customer Continuous process Continuous integrations: Uploading every pair of hours Design improvement: Multiple maintenance implies refactor Small releases
  24. 24. 4 June 2012 Agile Development 24 Extreme Programming: Practices Fine scale feedback Pair programming Planning game Test Driven Development Whole team: Continuous contact with customer Continuous process Continuous integrations: Uploading every pair of hours Design improvement: Multiple maintenance implies refactor Small releases
  25. 25. 4 June 2012 Agile Development 25 Extreme Programming: Planning Game Release planning Focus on model the problem. Customers and developers are involved Iteration Planning Organize for implementation Only developers are involved Planning Game Release Planning Iteration Planning Exploration Phase Commitment Phase Steering Phase Exploration Phase Commitment Phase Steering Phase Sort by value Sort by risk Set velocity
  26. 26. 4 June 2012 Agile Development 26 Extreme Programming Planning Game: Release planning Release planning by customers and developers. Exploration Phase: Commitment Phase Risk: Completeness(0-2), Volatility (0-2), Complexity (0-2) Steering Phase: Review to guide Planning Game Release Planning Exploration phase Commitment phase Steering phase Write story Estimate story Split story Sort by value Sort by risk: Completeness 0-2 Volatility 0-2 Complexity 0-2 Set velocity Review to guide: Change: Priorities Estimations
  27. 27. 4 June 2012 Agile Development 27 Extreme Programming Planning Game: Iteration planning Planning Game Iteration Planning Exploration Phase Commitment Phase Steering Phase Requirements → Tasks cards Combine/split tasks Estimate tasks Programmer pick task Estimate task Set load factor Balancing Get task card Find partner Design task Write unit test Write code Run test Refactor Run Functional test
  28. 28. 4 June 2012 Agile Development 28 Extreme Programming: Practices Fine scale feedback Pair programming Planning game Test Driven Development Whole team: Continuous contact with customer Continuous process Continuous integrations: Uploading every pair of hours Design improvement: Multiple maintenance implies refactor Small releases
  29. 29. 4 June 2012 Agile Development 29 Extreme Programming: Practices Shared understanding Coding standard Collective code ownership Simple design System metaphor Programmer welfare: No over work.
  30. 30. 4 June 2012 Agile Development 30 Extreme Programming Criticism A methodology is only as effective as the people involved Bleed money from customers through lack of defining a deliverable Incorporates insufficient software design Can be very inefficient: Several times same code written Impossible to develop realistic estimates of work effort needed Can increase the risk of scope creep Non-functional quality attributes are hard to be placed as user stories
  31. 31. 4 June 2012 Agile Development 31 Comparative FDD Scrum Extreme Programmers involved 50 9 9 Need senior developers Some groups All All
  32. 32. 4 June 2012 Agile Development 32 Social abilities in group work: My own perception Social abilities are necessary for group work Critics are good. It does not matter where they come from, they allow us to improve. It is feedback. Perfect solution is not optimal solution Respect Define the objective of the group and everyone will know what to do Confident in us and others
  33. 33. 4 June 2012 Agile Development 33 Bibliography and sources Wikipedia English Version. It has been a summary and refactoring of Wikipedia articles about these topics.
  34. 34. 4 June 2012 Agile Development 34 ¡ THE END ! Thanks for your attention
  1. A particular slide catching your eye?

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

×