Scrum Training - Salesforce

download Scrum Training - Salesforce

of 83

Transcript of Scrum Training - Salesforce

  • 8/12/2019 Scrum Training - Salesforce

    1/83

    ADM/Scrum Training

    May 2008

    Agenda

    Introduction

    Review Agenda

    Determine timing, logistics and breaks

  • 8/12/2019 Scrum Training - Salesforce

    2/83

    Customer Exercise

    The Scenario

    In this exercise, you and your team need to produce a market

    shattering new product

    Your product must offer some essential functionality that is

    already in the marketplace (straight lines)

    e.g. if it were an email application, you would have to offer the ability to send

    mail or you would never succeed

    Its also very important for you to gain market share by creating

    excellent new functionality that the market hasnt seen yet! (curvy

    lines)

  • 8/12/2019 Scrum Training - Salesforce

    3/83

    What Were Going To Do

    Were going to split into teams

    Decide amongst yourselves who will play the role of:

    Customer

    Product Owner

    Delivery

    The other teams are your competitors

    You must create an exact copy of the vision (minus thecopyright, title, border, and the lines do not need to be the samethickness)

    What You Need To Know

    Customer: You have the vision of the product. You are the onlyone who can see it.

    Product Owner: You must translate what the Customer is lookingfor and relay that to the Delivery team. You may make personalnotes but you cannot show them to the Delivery team.

    Delivery: You must deliver the product. You will have paper andpencil. You are the only one who can draw on the paper.

    You have ten minutes to deliver the product

  • 8/12/2019 Scrum Training - Salesforce

    4/83

    Introduction

    Phased Development Process(defined, waterfall)

    Plan Design Build Test

    Surprise!

    Documentation,

    Signoffs, Handoff

    Documentation,

    Signoffs, Handoff

    Documentation,

    Signoffs, Handoff

    Great if you know exactly what you want

    and wont change your mind

  • 8/12/2019 Scrum Training - Salesforce

    5/83

    Changes wi th a Phased Process

    Plan Design Test

    Documentation,

    Signoffs, Handoff

    Documentation,

    Signoffs, Handoff

    Documentation,

    Signoffs, Handoff

    Change

    Request

    Build Bug Fix

    Launch

    Change interrupts the flow

    start finishanalysis design code test

    The design of the waterfall means that we will always

    be at our most vulnerablejust when we least want to

    be and that defects will be found where they are the

    most expensive to fix.

    test

    One More Thing about Phased Development

    start finishproject timeline

    this is the place we would

    least like to find any defects

  • 8/12/2019 Scrum Training - Salesforce

    6/83

    Agile Development

    Incremental releases Short Iterations of 1-4 weeks

    Feedback Feedback Feedback

    v1.0 v1.1 v1.2

    Agile Development

    Do a little bit of everything every cycle

    Feedback Feedback Feedback

    Plan

    Design

    Test

    Build Fix Bugs

    Plan

    Design

    Test

    BuildFix Bugs

    Plan

    Design

    Test

    BuildFix Bugs

    Plan

    Design

    Test

    BuildFix Bugs

  • 8/12/2019 Scrum Training - Salesforce

    7/83

    Agile Development

    Change ChangeChange

    Feedback Feedback Feedback

    Expects change Change enables learning

    Its all in the System

    Simple, clear purpose and principles give

    rise to complex, intelligent behavior.

    Complex rules and regulations give rise

    to simple, stupid behavior. Dee Hock, VISA

  • 8/12/2019 Scrum Training - Salesforce

    8/83

    Our Story

    The Backstory

    Fast

    Innovative

    Successful

    Growing

  • 8/12/2019 Scrum Training - Salesforce

    9/83

    7 years later

    35,000+ customers

    900,000+ subscribers

    100+ Million transactions per day

    200+ in Technology!

    Butuh oh

  • 8/12/2019 Scrum Training - Salesforce

    10/83

    Its getting harder

    to get things done

  • 8/12/2019 Scrum Training - Salesforce

    11/83

    so whats the deal?

    Waterfall process Un-predictable

    Delayed releases

    Velocity slowdown

    No visibility

    Late feedback

    Technical Debt

    Death march Loss of cred

    Over budget

    Scope creep

    Elegant

    and a little messy

  • 8/12/2019 Scrum Training - Salesforce

    12/83

    Core Values

    KISS

    Listen to your customers

    Iterate

    What is ADM?

    ADM is a modified Scrum/XP style of product development

    that is specific to Salesforce.

    It employs Scrum project management framework and

    adopts certain XP practices.

  • 8/12/2019 Scrum Training - Salesforce

    13/83

    What is ADM?

    Re-factoring

    Self-organizing

    Predictable releases

    Transparent

    Ftest - Selenium

    Continuous integration

    Debt free

    Just-in-timeIterative

    Always Potentially Releasable

    Time-boxed

    User stories

    AgileLean

    Early feedback

    Code Reviews

    Collective Code Ownership

    Self-correcting

    Agile

  • 8/12/2019 Scrum Training - Salesforce

    14/83

    Agile is a great buzzword.

    Who doesnt want to be Agile?

    No one says,

    Thanks, Id rather be inflexible

    and slow to respond.

    Agile

    Is a flexible framework of common values

    The most popular are Scrum, XP, and

    Lean

    A Common-sense approach

  • 8/12/2019 Scrum Training - Salesforce

    15/83

    Process and toolsProcess and toolsIndividuals andinteractions

    Individuals andinteractions over

    The Agile Manifesto

    Comprehensive

    documentation

    Comprehensive

    documentationWorking softwareWorking software over

    Contract negotiationContract negotiationCustomer

    collaboration

    Customer

    collaborationover

    Following a planFollowing a plan

    Responding to changeResponding to change over

    While we value the items on the right, we value the items on the left more.

    Agile Mythology.

  • 8/12/2019 Scrum Training - Salesforce

    16/83

    This is NOTAg ile

    Cowboy coding No planning

    Poor quality

    Compressing the schedule

    The organization may gain short term speed but at the cost of

    long term pain.

    Agile Values

    Communication

    Simplicity

    Feedback

    Courage

    Respect

  • 8/12/2019 Scrum Training - Salesforce

    17/83

    Principles

    Humanity

    Economics

    Mutual Benefit

    Improvement

    Diversity

    Reflection

    Flow

    Opportunity

    Redundancy

    Self-Similarity

    Failure

    Quality

    Baby Steps

    Accepted Responsibility

    Scrum

  • 8/12/2019 Scrum Training - Salesforce

    18/83

  • 8/12/2019 Scrum Training - Salesforce

    19/83

    Eliminates waste

    Increases throughput

    Provides transparency

    Looks very simple but very hard; it causeschange

    Makes dysfunction very visible

    What is Scrum?

    Scrum is NOT

  • 8/12/2019 Scrum Training - Salesforce

    20/83

    Scrum

    Product Backlog1

    Scrum 101

    789101112

    1234

    56

    13

    No Changes(in Duration or Deliverable)

    Commitment

    789101112

    123456

    13

    Daily Stand-up

    3

    Team Retrospective

    Challenges

    Testing Build breaks

    Improvement

    5

    Sprint Planning2

    Potentially Shippable

    4 Sprint Review

    Sprint

    24 weeks

  • 8/12/2019 Scrum Training - Salesforce

    21/83

    Planning

    Prediction

    To get predictability we needto stop predicting

    We need to make decisionsbased on fact not forecasts.

  • 8/12/2019 Scrum Training - Salesforce

    22/83

    Multi-Level Planning

    Product Vision

    Roadmap

    Release Plan

    Sprint Plan

    Daily Plan

    Q1 Q2 Q3

    R1 R2 R3

    Multi-Level Planning

    Product Vision

    Roadmap

    Release Plan

    Sprint Plan

    Daily Plan

    Q1 Q2 Q3

    R1 R2 R3

  • 8/12/2019 Scrum Training - Salesforce

    23/83

    Product Vision

    Vision &Roadmap

    What is your market

    Who are your customers

    How you will make

    money

    What is your product

    vision.

    Multi-Level Planning

    Product Vision

    Roadmap

    Release Plan

    Sprint Plan

    Daily Plan

    Q1 Q2 Q3

    R1 R2 R3

  • 8/12/2019 Scrum Training - Salesforce

    24/83

    Minimum Market Feature Set

    Always

    7%

    Often

    13%

    Sometimes

    16%

    Rarely

    19%

    Never

    45%

    Standish Group study reported at XP2002 by Jim Johnson, Chairman

    Often or AlwaysUsed: 20%

    Rarely or NeverUsed: 64%

    Multi-Level Planning

    Product Vision

    Roadmap

    Release Plan

    Sprint Plan

    Daily Plan

    Q1 Q2 Q3

    R1 R2 R3

  • 8/12/2019 Scrum Training - Salesforce

    25/83

    Release Planning

    Communicate a common

    vision for the release

    Initial Design

    Align team on proposed

    functionality

    Determine targetfunctionality for the release

    Release Planning

    Groom User Stories small enough

    to be effective for sprint planning

    Determine the relative size of the

    user stories in story points

    Determine Release Functionality

    based on velocity

    Identify Dependencies

  • 8/12/2019 Scrum Training - Salesforce

    26/83

    Release Planning in Scrum

    Release planning is based on Velocity

    Velocity is a measure of how much

    Product Backlog the team actually

    completes over time.

    Product BacklogBacklog Mapped out in Sprints

    Silly features17

    To type16

    Monkeys want15

    Why would14

    Year13

    Webvan12

    Last11

    Areso10

    Cosmo9

    Networks8

    Social7

    Wiki6

    Dolls house5

    Movies for kids4

    Tick-tock feature3

    Clock2

    Feature1

    Sprint 1

    Sprint 2

    Sprint 3

    Sprint 4

    Sprint 5

  • 8/12/2019 Scrum Training - Salesforce

    27/83

  • 8/12/2019 Scrum Training - Salesforce

    28/83

    Sprint Planning

    Determine the Sprint Goal

    Determine work necessary

    to complete the goal (with

    time estimates)

    Make commitments for the

    Sprint

    Sprint Planning Meeting

    Team dog piles on user

    stories

    Team figures out how to deliver

    Sprint Goal even without a

    resource on the team who

    normally does a particular type

    of work

    Product Owner may negotiate

    but Team always determines

    what they can complete during

    the sprint

  • 8/12/2019 Scrum Training - Salesforce

    29/83

    Sprint Planning Step 1

    Product Owner and team discuss thelatest product backlog and thegoals of the Sprint.

    7

    8

    9

    10

    11

    12

    1

    2

    3

    4

    5

    6

    13

    Sprint Planning Step 2

    Team works out available hours for the Sprint

  • 8/12/2019 Scrum Training - Salesforce

    30/83

    Sprint Planning Step 3

    The team goes through the items in thebacklogand breaks them into tasks

    Each task is estimated

    Team members volunteer for tasks

    Stop when you are full.

    Task: Configure database

    and SpaceIDs for Trac

    7

    Sprint Backlog

    Tasks necessary to

    complete user stories

    Many-to-one relationship

    with user stories

    Coding, testing, automation,specs, doc, design, etc.

  • 8/12/2019 Scrum Training - Salesforce

    31/83

    Sprint Backlog

    Team expands items on the

    Sprint Backlog into specific

    tasks, time estimates in hours,

    signs up for ownership

    Critical that The Team

    selects items and size for

    Sprint Backlog

    Managed through Scrumforce

    Commitment Driven Planning

    Take highest priority item

    Decompose into tasks

    Estimate each task (whole team)

    Can we commit to this?

    If yes, try another backlog item

    If not, remove it but try a smaller one

    No one signs up for tasks yet

  • 8/12/2019 Scrum Training - Salesforce

    32/83

    Abnormal Terminations

    In extreme circumstances the

    Sprint may be terminated

    Cost:

    Everything reverts back to the

    original state prior to the Sprint

    planning meeting.

    STOP

    Estimation

  • 8/12/2019 Scrum Training - Salesforce

    33/83

    Story pointsIdeal daysTeam daysT-Shirt SizesHours

    Common Product Backlog Estimating Units

    High Level Estimates

    Story Points

    A measure of the relative size

    of a feature

    Based on how much and how

    hard to do

    Agreed-upon unit

    Helps compare costs.

    50As a user I can create a profile to

    display information about myself

    8As a guest, I can add one photo to my

    profile page

    Backlog item Estimate

    As a premium member I can add up to

    ten photos to my profile page5

    As a premium member, I can add video

    to my profile page40

    As a guest, I can add photos to my

    profile page 30

    As a user I can add people I like to a

    hot list30

  • 8/12/2019 Scrum Training - Salesforce

    34/83

    Tracking

    Tracking Progress

    Track the work remaining

    Do not track actual time worked

    Update daily.

  • 8/12/2019 Scrum Training - Salesforce

    35/83

    Task board tracking

    70

    Another sample task board

  • 8/12/2019 Scrum Training - Salesforce

    36/83

    Burndown Charts

    0.0

    5.0

    10.0

    15.0

    20.0

    25.0

    30.0

    35.0

    40.0

    45.0

    50.0

    2/1

    2/2

    2/3

    2/4

    2/5

    2/6

    2/7

    2/8

    2/9

    2/10

    2/11

    2/12

    2/13

    2/14

    2/15

    2/16

    2/17

    2/18

    2/19

    2/20

    2/21

    2/22

    2/23

    2/24

    2/25

    2/26

    2/27

    2/28

    IdealDays

    Actual Baseline

    Production support

    Resolution of dev

    assumptions

    Added Tasks

    Added March Tasks!

  • 8/12/2019 Scrum Training - Salesforce

    37/83

  • 8/12/2019 Scrum Training - Salesforce

    38/83

    Will this sprint finish on time?

    Mond

    ay

    0

    50

    100

    150

    200

    250

    300

    Tuesd

    ay

    Wednesd

    ay

    Thursday

    Frid

    ay

    Mond

    ay

    Tuesday

    Wednesday

    Frida

    y

    Thursd

    ay

    350

    Putting it into Practice

  • 8/12/2019 Scrum Training - Salesforce

    39/83

    XP Game

    This game is called the XP Game Developers - estimate

    Product owners - prioritize based on business value and estimate

    Developers execute

    Find easiest one and give number 2

    There might be something easier in the future

    Estimate other stories relative to 2

    Think about complexity and time as it may be simple yet take a long time

    There will be one release with three iterations, each of 3 minutes

    YOU ONLY DO ONE STORY AT A TIME (together)

    XP Game Iteration 1

  • 8/12/2019 Scrum Training - Salesforce

    40/83

    Sprint Review

    Sprint Review A demo by the team of: Complete

    Fully tested

    Potentially shippable features

    Only functionality that meets

    Done criteria is demoed

    Team declares what they

    committed to doing in the Sprint

    and did not get done

    Feedback from customers and

    stakeholders drives design

    changes for future sprints

    This is the

    Sprint Review

    This is the

    Sprint Review

    Review

  • 8/12/2019 Scrum Training - Salesforce

    41/83

    Sprint ReviewUser Story Doneness Checklist

    User documentation complete and checked in.

    All UI labels ready for localization vendors.

    Usability testing scheduled when necessary, and feedback incorporated into

    backlog.

    UE has reviewed any new features; P1 and P2 UI bugs fixed.

    Performance/scalability impact ascertained and sys testing scheduled if

    required.

    All resolved bugs verified and closed.

    100% of test cases logged in QA Tracker and executed in a QA environment,

    and all P1/P2 cases passing.

    Code Coverage of 70% (or as agreed with team)

    No open P1 & P2 bugs

    No open regressions. Automated tests written and reviewed for all regressions.

    Code checked in and follows department standards.

    BT & Profile

    Perm

    Setup

    Page

    Handshake

    POCDone Criteria

    User Stories

    All defined Acceptance Criteria for a user story have been met.

    Code

    Code implementing the user story functionality is checked in and follows department standards.

    No open regressions (you break it, you own it), with automated tests written for all regressions.

    No open P1 & P2 bugs for the implemented functionality in the sprint.

    Quality

    Code Coverage of 70%

    Test plan, cases and execution for sprint functionality, regression and cross functional testcases related to sprint functionality, need to be 100% executed, and all P1/P2 cases passing.

    All resolved bugs have been verified and closed for the sprint functionality.

    Definition of Done

  • 8/12/2019 Scrum Training - Salesforce

    42/83

    Performance/Scalability

    Performance/Scalability impact of sprint functionality understood and quantified, and systesting

    scheduled, if required, with the sys test team.

    User Experience

    UE reviewed new features or significant changes in the UI, feedback incorporated, all resulting

    P1 and P2 UI bugs fixed.

    Usability testing completed, feedback has been incorporated into the backlog.

    Localization

    All UI components have labels ready for localization vendors.

    Documentation

    User doc describing all aspects of sprint functionality complete / checked in.

    Definition of Done

    Retrospective

  • 8/12/2019 Scrum Training - Salesforce

    43/83

    Sprint Retrospective

    What is it?

    A meeting at the end of

    each Sprint so the team can

    Inspect and Adapt the

    processChallenges

    Testing Build breaks

    Improvement

    Sprint Retrospective

    How do you do it?

    Team, Scrum Master and Product

    Owner have a ~1-2 hr meeting

    3 questions are asked:

    Whats working

    Improvements

    Things to try in the next

    Sprint

    Challenges

    Testing Build breaks

    Improvement

  • 8/12/2019 Scrum Training - Salesforce

    44/83

    What a Retrospective is NOT

    Retrospectives are NOT about blame Problems arise. The focus is on what we can learn from what

    happened

    Retrospectives are NOT a witch hunt

    Retrospectives are NOT about gathering specific

    information

    They are a free-flowing brainstorm on opportunities and ways

    to resolve them

  • 8/12/2019 Scrum Training - Salesforce

    45/83

    Iteration 2

    Iteration 3

  • 8/12/2019 Scrum Training - Salesforce

    46/83

    Getting Started

  • 8/12/2019 Scrum Training - Salesforce

    47/83

    Determine your Team

    Agile teams are cross-functional and persistent

    Determine your Scrum Master

    Determine your Product Owner

    Assemble all cross functional members that can fully

    perform all of the required functions

    Get a coach (if you want one)

    Roles

  • 8/12/2019 Scrum Training - Salesforce

    48/83

    The Scrum Master

    A facilitator and coach

    Removes impediments

    Protects team from external

    influences

    Improves productivity of team so

    each user story is potentially

    releasable

    Keeps progress information up-

    to-date and visible to all

    Product Owner

    Product visionary

    Maximizes business value

    Prioritizes the Product

    Backlog

    Fully engaged

  • 8/12/2019 Scrum Training - Salesforce

    49/83

    The Scrum Team

    Cross-functional Shared Commitment

    Self organizing, Self

    correcting. Teams decide

    best way to deliver

    Members are dedicated

    resources (as much as

    possible)

    Optimally 6-10 people

    Managers

    Remove impediments

    Provide vision andleadership

    Provide resources

    Less micro-managementand more enablement

  • 8/12/2019 Scrum Training - Salesforce

    50/83

    Discuss: Roles

    Does the ScrumMaster have to be a Project Manager?

    Can one person serve as both ScrumMaster and

    Product Owner?

    Who manages the team members?

    Who assigns tasks to the team?

    Environment

  • 8/12/2019 Scrum Training - Salesforce

    51/83

    Environment

    Everyone in same location

    Open space without barriers

    Resources available; phone, whiteboards, meeting

    space etc.

  • 8/12/2019 Scrum Training - Salesforce

    52/83

  • 8/12/2019 Scrum Training - Salesforce

    53/83

    Not this

    ! ? !

    Kicking Off

  • 8/12/2019 Scrum Training - Salesforce

    54/83

    Kicking off

    Product

    Vision

    Share understanding on:

    The Product Vision

    Your customers

    The market

    Why you are doing this and

    what you hope to achieve.

    Write a One-Pager

    Elevator statement / Problem to sol ve

    ForwhothatUnlikeHow do you know?

    Who are our customers? Benefits

    People who work in Those who need a

    How will we create business value?

    Share content with

    Personalized ads on

    Risks?

    Technology unknowns

    Dependencies

    Performance attributes

    3000 hits/hour

    3 clicks to get to core contentScale to 100,000,000 users

    Scope

    Resources

    Schedule

    Quality

    Fixed Firm Flexible

    Sign-ups xxx

    Milestones: dates or features to hit

    Xyz features xxx

    Abc features xxx

    How do we know we succeeded? (metrics)

    More

    Flexible

    Tradeoff Matrix

  • 8/12/2019 Scrum Training - Salesforce

    55/83

    Brainstorming

    Brainstorms are a goodway to gather

    requirements for the

    Backlog

    Best when generated by

    the whole team.

    Hot list

    Share photosShare video

    Mobile personals

    VirtualSpeed dating

    Create a Product Backlog

    High Priority items at the top

    Get less detailed as you go

    down

    Estimates high-level to help

    compare items in relation to

    each other.

    50As a user I can create a profile to

    display information about myself

    8As a guest, I can add one photo

    to my profile page

    Backlog item Estimate

    As a premium member I can add

    up to ten photos to my profile

    page

    5

    As a premium member, I can add

    video to my profile page40

    As a guest, I can add photos to

    my profile page 30

    As a user I can add people I like

    to a hot list30

  • 8/12/2019 Scrum Training - Salesforce

    56/83

    Product Backlog

    Key to success of Scrum

    Master list of functional and non-

    functional items desired in the

    product (features, bugs, re-factoring)

    Anyone can add to Product Backlog

    Product Owner is the only person

    that prioritizes Product Backlog

    Includes relative estimate of size of

    features (design, code, test,

    automate, refactor, doc, fix bugs)

    Product Backlog Sample

  • 8/12/2019 Scrum Training - Salesforce

    57/83

    User Stories

    Whats a User Story?

    Basic unit of scope for an agile project

    Describes a WHO, WHAT and WHY scenario

    Describes real business value

    A promise for a conversation Very different from traditional requirements documentation which seek to

    ensure all details are present in order to form a contract

    Has acceptance criteria to assert its behavior.

  • 8/12/2019 Scrum Training - Salesforce

    58/83

    A user story template

    Backlog items can be written as User Stories

    Express user needs in terms of what the user wants to

    achieve

    Example template for this:

    As a , I want to

    so that

    Acceptance Criter ia

    The product owners acceptance criteria should be added to a story These are essentially tests

    As a guest, I want to addone photo to my profilepage so that my friendscan identify me

    As a guest, I want to addone photo to my profilepage so that my friendscan identify me

    Verify user can uploadphoto

    Verify user can only upload

    one photoVerify confirmation messagedisplayed when photo isuploaded

    Verify premium upsellappears on confirmation page

    Verify user can uploadphoto

    Verify user can only upload

    one photoVerify confirmation messagedisplayed when photo isuploaded

    Verify premium upsellappears on confirmation page

  • 8/12/2019 Scrum Training - Salesforce

    59/83

    If in doubtINVEST!

    Independent

    Negotiable

    Valuable

    Estimable

    Sized Appropriately

    Testable

    INVEST

    A good user story:I Independent

    N Negotiable V Valuable

    E Estimable

    S Small

    T Testable

    Hows th is Story?

    As: User

    I want: a flexible extensibleframework that allows me to provideweb services access to my LDAPdatabase

    So that: ???

  • 8/12/2019 Scrum Training - Salesforce

    60/83

    What About th is One?

    As a Student

    I want to receive email notification with appropriate detail when I submit a

    pending registration request, whether I am confirmed or waitlisted, if a

    class is cancelled, or if I self-withdraw from a class

    So that I know my registration status, know where my class is located (if

    confirmed), and know who to contact if I have questions.

    A good user story:I Independent

    N Negotiable

    V Valuable

    E Estimable

    S SmallT Testable

    It could be re-writ ten as:

    As a student

    I want to receive email notification when I submit a registration

    request which informs me of my status

    So that I know my registration status, know where my class is

    located and know who to contact if I have questions

    Acceptance criteria:

    If student submits registration request and it is confirmed, ensure

    email X is sent (with confirmation, class info and contact person)

    [note: you may actually just include the email template here] If student submits registration request and they are waited listed,

    ensure email Y is sent

  • 8/12/2019 Scrum Training - Salesforce

    61/83

    And

    As an administrator

    I want to be able to cancel a class and inform confirmed registered

    students of the cancellation

    so everyone is aware of the schedule change

    Acceptance criteria:

    Ensure a class can be cancelled by X action

    Ensure cancellation email Z is sent to all registered students

    Ensure cancellation email A is sent to waitlisted students

    And

    As a student

    I want to be able to withdraw from a class

    so that others can take the spot if I am unable to attend

    Acceptance criteria:

    Ensure student can withdraw by doing ABC

    Ensure student receives confirmation email X

    Ensure student is removed from class registration and if waitlisted

    students are listed, the next one on the list is now emailed and

    asked to register (or registered automatically etc)this one couldbecome its own story depending on the discussion with the dev

    team as to complexity

  • 8/12/2019 Scrum Training - Salesforce

    62/83

    Lets Write a Story

    Exercise :

    In 5 mins either alone or with a pair, write a user story for:

    Making yourself a coffee

    in terms of AS I WANT TO SO THAT

    With two examples of acceptance criteria

    Use the index cards provided, writing the acceptance criteria on the back

    Questions

    Who can contribute to the product backlog?

    Who prioritizes the product backlog?

    Do you have to use user stories?

    How often is the product backlog reviewed and revisited?

  • 8/12/2019 Scrum Training - Salesforce

    63/83

    Daily Scrum

    Daily Scrum

    > 15 minute meeting

    What I did yesterday

    What I plan on doing today

    What is blocking me

  • 8/12/2019 Scrum Training - Salesforce

    64/83

    Daily Scrum

    Scrum Master facilitates stand up: Side conversations are put on the parking lot

    Blocks and issues are identified, and action plans are created

    Follow-up on resolutions

    Scrum Exercise

  • 8/12/2019 Scrum Training - Salesforce

    65/83

    Scenarios

    Exercise: Great Scrum Teams

    Read the scenario

    Take a few minutes to discuss with your team what a great

    Scrum Master would do in this situation

    Be ready to share your thoughts with the group

  • 8/12/2019 Scrum Training - Salesforce

    66/83

    Scenario 1

    The VP of the group appears in the middle of the Sprint,and says to you: one of our clients has a special

    request which if we can complete it, we will win $1

    million in business.

    Scenario 2

    The product owner says that he's not going to be

    available to attend the Sprint planning meeting, but he

    doesn't mind if the team goes ahead and does it without

    him.

  • 8/12/2019 Scrum Training - Salesforce

    67/83

    Scenario 3

    In the middle of the Sprint, one of the team membersmanager comes and says she needs to pull him off the

    project for a couple days, to work on something else.

    Scenario 4

    It's halfway through the Sprint, and the team is way

    behind on progress. It looks like there's no way it's

    going to finish what it committed to during the Sprint.

  • 8/12/2019 Scrum Training - Salesforce

    68/83

    Scenario 5

    One member of the team looks really unhappy. Heseems very distracted, and he's way behind on the

    tasks that he committed to complete.

    Scenario 6

    One member of the team speaks up and says he thinks

    the retrospective is a waste of time; several other

    members of the team murmur in agreement, and

    someone else suggests that the team stop doing the

    retrospective.

  • 8/12/2019 Scrum Training - Salesforce

    69/83

    Scenario 7

    The team appears to be very stressed out. They arehaving to work late most nights of the week, and they

    even have to work Saturdays every now and again, in

    order to meet their Sprint goals. You hear comments

    like scrum is awful it forces us to work so hard.

    Scenario 8

    A team member has recently moved. He mentions that

    he is trying to find daycare for his daughter and its

    blocking him from doing his work.

  • 8/12/2019 Scrum Training - Salesforce

    70/83

    Agile Practices

    Some Agile Practices to Think About

    Technical

    Test first development

    Continuous integration

    Pair programming

    Automated functional testing

    Code Reviews

    Coding Standards

    Design

    Simple design

    Thin vertical slices

    Architecture spikes

    Team Whole team

    Cross functional

    Self-organized

    Retrospectives

    Continuous improvement

    Office Hours

    Product Management

    Minimum market feature set

    Product Vision

    Product Backlog

    One Pager

    User Stories

    Project

    Iterative delivery

    Information radiators

    Burndown charts

    Scrumforce

    Planning Daily stand-ups

    Release Planning

    Sprint Planning

    Sprint review meetings

  • 8/12/2019 Scrum Training - Salesforce

    71/83

    What is ADM?

    Re-factoring

    Self-organizing

    Predictable releases

    Transparent

    Ftest - Selenium

    Continuous integration

    Debt free

    Just-in-timeIterative

    Always Potentially Releasable

    Time-boxed

    User stories

    AgileLean

    Early feedback

    Code Reviews

    Collective Code Ownership

    Self-correcting

    Scaling Agile

  • 8/12/2019 Scrum Training - Salesforce

    72/83

    Large Projects are Hard

    Generally more technically complex

    Many people causing communication breakdowns

    Lots of dependency management

    Difficult to maintain transparency of overall progress

    Scaling Top 4

    Focus on communication!

    Create ONE team

    Get your team structures in line

    Do continuous integration on the whole system

  • 8/12/2019 Scrum Training - Salesforce

    73/83

    Building Teams

    Avoid splitting across functional lines QA in one location, Product owners in another, Engineering in a third

    Integrations after completion of development Delivery of business value at the end

    Rather structure along features for a cross functional workstream For ensuring business value and the customers advantage

    Features shouldnt be split across teams The feature provides a joint goal and thus enforces team spirit

    Comprehends all necessary roles

    Product Owner, Engineering, QA

    Comprehends all necessary expertise

    UED, database, configuration management

    Some coordination roles must work across all workstreams

    Chief Architect

    Chief Product Owner

    Scrum of Scrum Master

    Scaling the Product Owner

    Product

    Owners

    Product Line

    Owners

    Chief Product

    Owner

  • 8/12/2019 Scrum Training - Salesforce

    74/83

    Communication & Dependency Management

    Scale Communication

    Each workstream has their daily scrum

    Use Scrum of Scrums to cross-communicate

    Not limited to Scrum Masters, any functional role may

    find this useful

  • 8/12/2019 Scrum Training - Salesforce

    75/83

    The Four Questions

    1. What has your team done since we last met?

    2. What will your team do before we meet next?

    3. Whats in your teams way?

    4. What are you about to put in another teams way?

    Scrum of Scrums

  • 8/12/2019 Scrum Training - Salesforce

    76/83

    Scrum of Scrums of Scrums

    Share Start and End Dates

    Team 1Team 1Team 1 Team 1Team 1Team 1

    Team 2Team 2Team 2Team 2Team 2Team 2

    Team 3Team 3Team 3 Team 3Team 3Team 3

    FinishFinish StartStart

    Team 1Team 1Team 1 Team 1Team 1Team 1

    Team 2Team 2Team 2Team 2Team 2Team 2

    Team 3Team 3Team 3 Team 3Team 3Team 3

    Dont stagger sprints like this:

    Synchronize sprint starts instead

  • 8/12/2019 Scrum Training - Salesforce

    77/83

    Build Some Infrastructure Initially

    Architecture

    Development environment

    Standards Interfaces

    Some tangible piece of business value

    Share the Product Backlog

    Its usually best to share a common product backlog

    among all of the teams

    Think of one product backlog with multiple views into it

  • 8/12/2019 Scrum Training - Salesforce

    78/83

    More Items For the Product Backlog

    1. Devise and implement coding standards

    2. Establish an approach to having customers develop

    acceptance tests

    3. Set standards for frequency of checking in code

    4. Investigate and implement code review (or pair programming)

    5. Upgrade working environment and tools for teams

    Integrate the Builds

    Midnight

    2 a.m.

    3 a.m.

  • 8/12/2019 Scrum Training - Salesforce

    79/83

    Tracking, Transparency and Tools

    With Size Comes Process

    Provide a framework for cohesion but dont stop teams frommaking their own decisions

    Remember good project management--record risks and criticalpath

    Avoid the temptation to start with lots of complex process

    If it works at one level, looks for ways to scale it up

    Only add process when its needed

  • 8/12/2019 Scrum Training - Salesforce

    80/83

    Release Tracking Work Remaining

    Iteration10

    50

    100

    150

    200

    250

    300

    420

    (Story Points)

    Iteration2

    Iteration3

    Iteration4

    Iteration5

    Iteration6

    Iteration7

    Iteration8

    Iteration9

    Iteration10

    Iteration11

    Ideal

    Actual

    Tools

    Electronic tools still need to be easy Focus of a tool is to provide transparency to whole team

    Should roll-up all teams progress towards end goal

    Should allow for teams to take on others work if one team is at risk

    Recognize the need for redundancy Using electronic tools should not stop teams for using physical cards

    and burndowns

  • 8/12/2019 Scrum Training - Salesforce

    81/83

    Resources

    External Resources

    Scrum

    http://www.scrumalliance.com

    http://www.controlchaos.com

    http://www.mountaingoatsoftware.com

    Yahoo Groups: [email protected]

    [email protected]

    [email protected]

    [email protected]

    [email protected]

  • 8/12/2019 Scrum Training - Salesforce

    82/83

    Further Reading

    Agile Project Management with Scrumby Ken Schwaber

    User Stories Applied by Mike Cohn

    Agile Estimating and Planning by Mike Cohn

    Agile Retrospectives: Making Good Teams Great by EstherDerby and Diana Larsen

    Lean Software Development:Mary Poppendieck

    Congratulations!

    Any questions?

    [email protected]

  • 8/12/2019 Scrum Training - Salesforce

    83/83