Agile 101 - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Agile 101

Description:

Sprint Backlog ... at the start of an iteration/sprint. Stories can be re-scoped during ... (www.planningpoker.com) Team Velocity. How much can team accomplish in one sprint ... – PowerPoint PPT presentation

Number of Views:1817
Avg rating:3.0/5.0
Slides: 28
Provided by: paul583
Category:

less

Transcript and Presenter's Notes

Title: Agile 101


1
Agile 101
  • Overview and the Role of the Product Owner

Ross Hobbie
2
Agenda
  • Agile 101
  • How We Got Here
  • Agile Manifesto Principles
  • Scrum
  • Agile and Product Management The Role of the
    Product Owner
  • Product Managers Role
  • Requirements Process
  • User Stories
  • Questions?

NOTE Many ideas and concepts are borrowed from
Mike Cohn, Kent Beck, Ron Jeffries, Ward
Cunningham, Ken Schwaber, Kert Peterson, Laureen
Knudsen and Joe Little. Thanks for the help!
3
Why IT Projects Fail
  • Only 16.2 of software projects that are
    completed on time and on-budget
  • 31.1 of projects will be cancelled before they
    ever get completed
  • 52.7 of projects will cost 189 of their
    original estimates
  • The average overrun is 222 of the original time
    estimate
  • Top 3 factors that cause project challenges
  • Lack of User Input
  • Incomplete Requirements Specifications
  • Changing Requirements Specifications

Statistics From the Standish CHAOS Report
4
The Agile Manifesto
  • We are uncovering better ways of developing
    software by doing it and helping others do it.
    Through this work we have come to value
  • Individuals and interactions over processes and
    tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
  • That is, while there is value in the items on
    the right, we value the items on the left more.

http//agilemanifesto.org
5
Principles of Agile
  • Our highest priority is to satisfy the customer
    through early and continuous delivery of valuable
    software.
  • Welcome changing requirements, even late in
    development. Agile processes harness change for
    the customer's competitive advantage.
  • Deliver working software frequently, from a
    couple of weeks to a couple of months, with a
    preference to the shorter timescale.
  • Business people and developers must work together
    daily throughout the project.
  • Build projects around motivated individuals. Give
    them the environment and support they need, and
    trust them to get the job done.
  • The most efficient and effective method of
    conveying information to and within a development
    team is face-to-face conversation.

http//agilemanifesto.org
6
Principles of Agile
  • Working software is the primary measure of
    progress.
  • Agile processes promote sustainable development.
    The sponsors, developers, and users should be
    able to maintain a constant pace indefinitely.
  • Continuous attention to technical excellence and
    good design enhances agility.
  • Simplicity--the art of maximizing the amount of
    work not done--is essential.
  • The best architectures, requirements, and designs
    emerge from self-organizing teams.
  • At regular intervals, the team reflects on how to
    become more effective, then tunes and adjusts its
    behavior accordingly.

http//agilemanifesto.org
7
Scrum
  • Scrum is an iterative, incremental process for
    developing any product or managing any work.
    Scrum accepts that the best designs and the
    clearest requirements can rarely be fully defined
    ahead of time and need to be allowed to emerge.
  • Scrum consists of a series of Sprints (a.k.a.
    iteration)
  • Each Sprint is 2-4 weeks long in duration
  • Each Sprint produces a working increment of
    software
  • Between Sprints, all interested parties evaluate
    progress
  • Between Sprints, all interested parties
    reevaluate technical and business requirements
  • Work is reestablished and the team enters into
    another Sprint

8
Scrum Roles
  • Product Owner
  • Responsible for managing and prioritizing the
    Product Backlog, and for accepting the software
    at the end of each iteration
  • Scrum Master
  • Responsible for shepherding the team, removing
    impediments, keeping the process moving, and
    socializing scrum to the greater organization
  • The Team
  • Responsible for estimating size of backlog items,
    committing to increments of deliverable software
    and delivering it. Tracks own progress (with
    Scrum Master). Is self-organizing but
    accountable to the product owner for delivering
    as promised.

9
Scrum Roles
Product Owner
  • Responsible for managing and prioritizing the
    Product Backlog, and for accepting the software
    at the end of each iteration

CONSTANT COLLABORATION AND COMMUNICATION ARE KEY
The Team
Scrum Master
Responsible for estimating size of backlog
items, committing to increments of deliverable
software and delivering it. Tracks own
progress (with Scrum Master). Is self-organizing
but accountable to the product owner for
delivering as promised.
  • Responsible for shepherding the team, removing
    impediments, keeping the process moving, and
    socializing scrum to the greater organization

10
Scrum Framework
11
Product Backlog
  • A prioritized list of features represented as
    stories
  • Managed by Product Owner
  • Priorities are driven by business value measured
    in terms of ROI
  • cost of implementation
  • revenue impact
  • business risks
  • technical dependencies
  • Represented as stories
  • A story is the smallest unit of functionality
    that an user can benefit from
  • Some stories maybe technical in nature
    (infrastructure type)

12
Sprint Backlog
  • A prioritized list of stories taken from the top
    of the product backlog based on the teams
    estimate of how much it can handle in an
    iteration
  • Managed by Development Team
  • Created at the start of an iteration/sprint
  • Stories can be re-scoped during iteration
  • Split into more narrowly focused stories
  • A story can be de-scoped (move back to product
    backlog)
  • New stories should not be added

13
Scrum Meetings
  • Estimation Meeting
  • Team meets with product Owner to discuss Backlog
    Items and assign a relative size value to each.
  • Planning Meeting
  • Occurs at the start of each sprint (iteration).
    Two parts.
  • 1. Product manager and team meet and agree the
    next product increment.
  • 2. Team then determines the tasks for each
    backlog item.
  • Daily Scrum Meetings
  • Maximum 15 minutes. Team meets to update the
    task chart and report on progress and
    impediments.
  • Review
  • Team meet with Product Owner at the end of the
    sprint to demonstrate the working software from
    the sprint.
  • Retrospective
  • Team meets with Scrum Master to inspect and adapt
    on their process.

14
Estimation
  • Prioritize Product Backlog
  • Estimate Size of Product Backlog Items
  • Ideal Days vs. Person Days
  • Story Points/Relative Weighting
  • Planning Poker (www.planningpoker.com)
  • Team Velocity
  • How much can team accomplish in one sprint
  • Release Planning
  • Total Backlog Points/Velocity Sprints

15
Testing
  • Early involvement
  • An Agile project begins when testers convert
    high-level requirements into testable
    specifications.
  • Work as part of the development team
  • The testers work with the developers to pick unit
    test and acceptance test frameworks, and to test
    the software in parallel with development. This
    requires a shift in thinking.
  • Automate everything
  • (wherever possible)
  • Test early, test often
  • Never leave the testing until the end

16
Product Management
  • Customer is a role, not a person
  • Also known as Product Manager, Product Owner
  • Proxy/advocate for the entire customer group
  • You are the voice of the customer!
  • Responsible for the Release Plan
  • Responsible for managing the Product Backlog
  • Determines business value priority on a regular
    basis
  • Provides information to development team for
    estimation purposes
  • Works with testers to produce clear, testable
    user stories for each iteration
  • Inspects software regularly (e.g. runs acceptance
    tests) and provides feedback to the development
    team

17
Requirements Process
Marketing/Customer Requirements
Use Cases / Epic User Stories
Product Backlog / User Stories
18
User Stories
  • User Story - A description of desired
    functionality told from the perspective of the
    user or customer.
  • Story-based development
  • Story is a role-based description of a portion of
    a requirement
  • Small enough to be implemented within an
    iteration
  • Description provided by Product Owner, effort and
    risk provided by developer
  • Acceptance conditions critical to the story
  • Product Owner writes the acceptance criteria
  • Lets the team know when they are done
  • Keep stories from being design
  • Encourage test driven development
  • Enforce rapid feedback thus quality
  • Enforce quality over time through automation

19
User Story Format
  • Three Cs Card, Conversation, Confirmation
  • Each story has Business Value
  • Communicates between all parties
  • Not too small (gt 1 person day) Best 3-4 person
    days
  • Not an epic (thus, lt 8 person days)
  • Completion within One Iteration. Done!
  • Functional Non-functional
  • To be revised (modify, add)

20
Format/Examples
  • As a ltuser rolegt, I want ltgoalgt so that
    ltreasongt.
  • Auto Dealership Website Examples
  • As a user, I want to search inventory for
    vehicles that match my criteria.
  • As a sales manager, I want to remove vehicles
    from inventory that are no longer available.
  • As a user, I want to schedule a service
    appointment.
  • As a service manager, I want to offer online
    coupons.

21
User Roles
  • Broaden the scope from looking at one user
  • Allows users to vary by
  • What they use the software for
  • How they use the software
  • Background
  • Familiarity with the software / computers
  • Used extensively in usage-centered design

22
Epic Stories / Themes
  • As a user, I want to schedule a service
    appointment. - EPIC
  • As a returning user, I want to login to the
    service department website
  • As a user, I want to view recommended service for
    my vehicle
  • As a user, I want to select an appointment date
    and time for service
  • As the system, I want to send the user a
    confirmation email once service is scheduled

23
INVEST
INDEPENDENT
INVEST
NEGOTIABLE
VALUABLE
ESTIMABLE
SMALL
TESTABLE
24
Why User Stories?
  • Stories shift focus from writing to talking
  • Stories are equally understandable by developers
    and customers
  • Stories are the right size for testing
  • Stories support participatory design
  • Stories emphasize the users goals not the
    systems attributes

25
Resources
  • Web Sites
  • www.agilemanifesto.org
  • www.scrumalliance.org
  • www.controlchaos.com
  • www.mountaingoatsoftware.com
  • agileaustin.org
  • Recommended Books
  • User Stories Applied For Agile Software
    Development
  • Mike Cohn
  • Agile Project Management with Scrum
  • Ken Schwaber
  • Agile Estimating and Planning
  • Mike Cohn

26
Questions?
27
Thank You PCA Sponsors!
Write a Comment
User Comments (0)
About PowerShow.com