Agile development introduction

  • 1,012 views
Uploaded on

A high-level introduction on agile development methods. Going over some concepts, used terminology and a couple of slides specifically on SCRUM and Kanban.

A high-level introduction on agile development methods. Going over some concepts, used terminology and a couple of slides specifically on SCRUM and Kanban.

More in: Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,012
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. AgileDevelopment
    Starting at the basics
    Arne Vandamme
  • 2. AgileManifesto
    Howitstarted…
    In 2001
    17 software developers
    discussedlightweightdevelopmentmethods
    and published the
    “ManifestoforAgile Software Development”
    2
  • 3. AgileManifesto
    Individuals and interactions
    over processes and tools
    3
  • 4. AgileManifesto
    Individuals and interactions
    over processes and tools
    Working software
    over comprehensive documentation
    4
  • 5. AgileManifesto
    Individuals and interactions
    over processes and tools
    Working software
    over comprehensive documentation
    Customer collaboration
    over contract negotiation
    5
  • 6. AgileManifesto
    Individuals and interactions
    over processes and tools
    Working software
    over comprehensive documentation
    Customer collaboration
    over contract negotiation
    Responding to change
    over following a plan
    6
  • 7. Agilemanifesto: underlyingprinciples
    Customer satisfaction by rapid delivery of useful software
    Welcome changing requirements, even late in development
    Working software is delivered frequently (weeks rather than months)
    Working software is the principal measure of progress
    Sustainable development, able to maintain a constant pace
    Close, daily cooperation between businesspeople and developers
    Face-to-face conversation is the best form of communication (co-location)
    Projects are built around motivated individuals, who should be trusted
    Continuous attention to technical excellence and good design
    Simplicity
    Self-organizing teams
    Regular adaptation to changing circumstances
    7
  • 8. Typicallyagile?
    Smallincrementswith minimal planning
    Verylittlelong-term planning
    Adaptive Predictive
    IterationsWaterfall
    Eachiteration is more orless a tinywaterfall…
    8
  • 9. Waterfallmethodology
    9
  • 10. Iterations
    10
  • 11. Mythbusting: planning
    In agiledevelopment,
    planning is not important.
    11
  • 12. Mythbusting: planning
    In agiledevelopment,
    planning is not important.
    Wrong!
    12
  • 13. Mythbusting: planning
    In agiledevelopment,
    planning is not important.
    Wrong!
    Predictive = plan-driven
    Adaptive = planning-driven
    13
  • 14. Mythbusting: planning
    In agiledevelopment,
    planning is not important.
    Wrong!
    Predictive = plan-driven
    Adaptive = planning-driven
    Continuous planning!
    14
  • 15. Mythbusting: informal
    Agilemethods are veryinformal:
    no procedures, nocommitment…
    15
  • 16. Mythbusting: informal
    Agilemethods are veryinformal:
    no procedures, nocommitment…
    On the contrary!
    16
  • 17. Mythbusting: informal
    Agilemethods are veryinformal:
    no procedures, nocommitment…
    On the contrary!
    well-definedlightweight steps and procedures
    absolute team commitmentin an iteration
    17
  • 18. Iterativedevelopment
    Iterative is not the same asincremental.
    Incremental: addonto
    Iterative: redo/refine
    A gooditerativeapproach:
    Deliversbasicstart-to-endfunctionality
    as early as possible.
    And keepsrefiningituntil the end.
    18
  • 19. Example: walkingskeleton
    19
  • 20. Iterativedevelopment
    Start-to-endfunctionality
    As early as possible
    Keep refining
    Keep changing and improvingquality!
    Continuously…
    refactoring
    testing
    integrating
    20
  • 21. Concept: User Story
    Start-to-endfunctionality:
    Focus on the user/stakeholderfunctionality.
    Requirements as user story…
    As a <role>,
    I want <goal/desire>
    so that <benefit>
    21
  • 22. Concept: Definition of Done
    When is somethingfinished?
    Traditionally: what are the acceptance criteria?
    The Definition Of Done
    usuallyalsospecifieshow to testthat the item has been delivered.
    22
  • 23. Concept: Test-DrivenDevelopment
    Focusingon the user story and acceptance criteria and lesson the implementation:
    Test-Drivendevelopment
    Write a test butnot the implementation
    Check that the test fails
    Make the test succeedbywriting the implementation
    23
  • 24. SCRUM
    24
  • 25. SCRUM: An overview
    25
  • 26. SCRUM: Roles
    Product Owner
    Representsstakeholders and business.
    Prioritizes the backlog.
    Scrum Master
    Facilitates the SCRUM process.
    Removesimpediments.
    Is not a team lead.
    Project Team
    Cross-functional.
    26
  • 27. SCRUM: A typical sprint
    Sprint Planning Meeting
    PO giveswishlistfrom Product Backlog
    Team elaboratestasks and estimates
    Team commitson the Sprint Backlog
    Sprint Backlog is fixedduring sprint.
    27
  • 28. SCRUM: A typical sprint
    Sprint Planning Meeting
    Daily Scrum
    Everyday, same time, same place
    In front of the Scrum board
    Max 15 minutes
    Only PO, SM or Team mayspeak!
    Each team membersanswers 3 questions:
    What have youdoneyesterday?
    What are you planning to do today?
    Do you have anyproblemspreventingyoufromaccomplishingyour goal?
    28
  • 29. SCRUM: A typical sprint
    Example Scrum board
    29
  • 30. SCRUM: A typical sprint
    ExampleBurndownchart
    30
  • 31. SCRUM: A typical sprint
    Sprint Planning Meeting
    Daily Scrum
    Demo (Sprint Review)
    Present the completedwork to the stakeholders
    31
  • 32. SCRUM: A typical sprint
    Sprint Planning Meeting
    Daily Scrum
    Demo (Sprint Review)
    Retrospective
    Team reflectson the past sprint
    What went wellduring the past sprint?
    Whatcouldbeimproved in the next sprint?
    Continuousprocessimprovements!
    32
  • 33. SCRUM: An overview
    33
  • 34. Kanban
    “signboard”
    34
  • 35. Kanban is all about…
    Creatingvalueas soon as possible.
    In software: something is typically business valueonlywhenit has been actuallydeployed!
    2 basicconcepts:
    1. Visualize the flow of work
    2. Limit work in progress
    35
  • 36. Kanban: visualizingflow
    36
  • 37. Kanban: visualizingflow
    37
  • 38. Kanban
    Visualizing the flow:
    Visualize bottlenecks
    Limit WIP in each stage:
    Avoidtoomuch WIP and notenoughdone
    Stimulatecollaborationon bottlenecks
    Workflow stages betterallowspecialisation.
    38
  • 39. A Kanban dailystandup
    As a team:
    What is likely to go on and off the board today
    What is likely to move on the board
    Where is trafficstuck and howcan we fixit
    39
  • 40. Roundup
    Most agiledevelopmentmethods
    like SCRUM and Kanban
    are lightweight
    but do have a clearprocess and set of rules
    and requirea lot of self-discipline
    and maturity
    of all the team members
    40