Agile Methodology


Published on

The key concepts of Agile, with a detailed focus on Scrum, Kanban and XP

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Agile Methodology

  1. 1. Agile MethodologyTraining
  2. 2. Agile ?2
  3. 3. Traditional project management methods• V-Cycle / Waterfall model• Spiral cycle: iterative or semi-iterative• xUP (Unified Process) : softwarelifecycle methodology• CMMI (Capability Maturity ModelIntegration) : guide processimprovement across a project3
  4. 4. Agile Manifesto: the Theory1. Individuals and interactions over processes and tools2. Working software over comprehensivedocumentation3. Customer collaboration over contract negotiation4. Responding to change over following a plan.4
  5. 5. The 12 principles that drive theAgile Manifesto1. The highest priority is to satisfy the customer through early and continuous delivery of valuablesoftware.2. Welcome changing requirements, even late in development. Agile processes harness change for thecustomer’s competitive advantage.3. Deliver working software frequently, from a couple of weeks to a couple of months, with apreference to the shorter timescale.4. Business people and developers must work together daily throughout the project.5. Build projects around motivated individuals. Give them the environment and support they need, andtrust them to get the job done.6. The most efficient and effective method of conveying information to and within a development teamis face-to-face conversation.7. Working software is the primary measure of progress.8. Agile processes promote sustainable development. The sponsors, developers, and users shouldbe able to maintain a constant pace indefinitely.9. Continuous attention to technical excellence and good design enhances agility.10. Simplicity — the art of maximizing the amount of work not done — is essential.11. The best architectures, requirements, and designs emerge from self-organizing teams.12. At regular intervals, the team reflects on how to become more effective and then tunes and adjustsits behavior accordingly5
  6. 6. Variants of Agile methodology• Scrum• Kanban• XP(ExtremeProgramming)• RUP6
  7. 7. Agile methods are TOOLS• Pick and adapt what best fits yourorganization and your needs• Craftsmen need good tools.7
  8. 8. Agile means…1. Discipline2. Willing to learn and improve3. Communication4. Collaboration5. Flexibility8
  9. 9. SCRUM in a nutshell• Small team spending a little time building smallthing... but integrating regularly to see the whole Split your organization: small teams Split your product Split time Optimize process Optimize business value9
  10. 10. SCRUM : overview• 1 Process Model– 3 roles : Product Owner, Scrum Master, Team– 3 ceremonies : Sprint Planning, Daily Scrum, Sprint Review– 3 tools: Product Backlog, Sprint Backlog, Burndown Chart10
  11. 11. SCRUM : roles• The Product Owner– represents the interests of the customers andother key stakeholders on the project– is responsible for managing a prioritized list ofrequirements and other work to be done by theteam• The SCRUM Master– must ensure that SCRUM practices are correctlyapplied– is responsible for helping the team to achieve itsgoals• The Team– is responsible for implementing thefunctionalities– is self-organizing, self-managing and cross-functional11
  12. 12. SCRUM : 3 ceremonies• The Sprint Planning– The Product Owner presents to the Team hiswish list of product items– The Team defines and estimates the tasks toperform for each item• until it reaches its maximum sustainableworkload– The Team commits to deliver the planned itemsfor that Sprint• The Daily Scrum– Each day, the Team attends to a 15-minute stand-up meeting• to follow up the tasks currently undertaken• to early detect and react to abnormalsituations• The Sprint Review– The Team demonstrates the delivered features tothe Product Owner• allows the Product Owner to accept or not thedelivered items– The Scrum Master conducts a retrospective withthe whole team• allows the Team to enhance its workingpractices 12
  13. 13. SCRUM : 3 tools / artefacts• The Product Backlog– List of items that represent thefunctionalities to add to the system– Defined, managed and strictly prioritized bythe Product Owner• The Sprint Backlog– Subset of the Product Backlog expanded inlow-level tasks• estimated in hours (<16h) during the SprintPlanning by the Team– Defined and managed by the Team duringthe Sprint• The Burndown Chart– Chart used to measure Sprint progress• heavily relies on the definition of “done”– The same chart can be used to measureprogress at therelease level13
  14. 14. SCRUM best practices• The User Stories– Standard “agile” format for product items respectingINVEST criteria• Independent, Negotiable, Valuable, Estimable,Sizeable, Testable.• The Planning Poker– Relative estimates vs. Absolute estimates• Story Point or Complexity vs. hours or men/day– An efficient way to have coarse-grained estimates• dedicated to release planning– Should take place outside Sprint Planning• The Scrum Board– Provides day-to-day visual monitoring of Sprintprogress• and fine-grained reporting to any actors involvedin the project– Developed and managed by the Team14
  15. 15. KANBAN in a nutshell1. Visualize the workflow2. Limit WIP (work in progress)3. Measure & optimize flow– Roots of Kanban = Toyota industrial process15
  16. 16. Why limit Work In Progress?• Traffic Jam metaphor16
  17. 17. Example of Kanban Board17
  18. 18. XP Programming in a nutshell• 5 Values– Communication– Courage– Feedback– Respect– Simplicity• 12 Practices1. Coding Standards2. Collective Ownership3. Continuous Integration4. On-Site Customer5. Pair Programming6. Planning Game7. Refactoring8. Short Releases9. Simple Design10. Sustainable Pace11. System Metaphor12. Test-Driven Development18
  19. 19. Scrum vs Kaban: iterations19
  20. 20. Scrum vs Kanban:backlog items must fit in a sprint20
  21. 21. Scrum vs XP• Scrum focuses on management andorganization practices.• While XP focuses mostly on actualprogramming practices.Scrum and XP combine well together.21
  22. 22. Start with retrospectives• Evolve the rightprocess for yourcontext.• Don’t worry aboutgetting it right fromthe start.• Expand your toolkit.• Experiment!22
  23. 23. References: Agile, Scrum, Kanban,…• : a lot of resources on Agile•• Valtech Agile White Paper:• Agile for Dummies:••• How to start with agile:
  1. A particular slide catching your eye?

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