Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tales from the Agile battlefield

Fergus Doyle
December 05, 2013

Tales from the Agile battlefield

This talk covers some of the things we've implemented at onefinestay to optimise the sprints run within the engineering team, as well as a few lessons learnt in the process. It focuses on feature lifecycle from scoping, through development, to release and looks at some of the tools we use to keep the process running smoothly.

Fergus Doyle

December 05, 2013
Tweet

More Decks by Fergus Doyle

Other Decks in Technology

Transcript

  1. Tales from the
    Agile battlefield
    Running productive sprints

    View Slide

  2. What this talk is and what it's
    not
    Highlights of some lessons learnt in moving to agile
    A description of our current working process
    An overview of some of the things we're working towards
    It is NOT a scrum master training session...

    View Slide

  3. onefinestay is a hotel operated out of other people's homes.
    1500+ homes across London, New York, Paris and LA
    100s of daily activities
    400+ concurrent guests over Christmas

    View Slide

  4. “The Airbnb For The 1%”

    View Slide

  5. A little bit about onefinestay
    Engineering
    Development teams of 2-10 developers
    ~20 developers running parallel sprints
    Building for internal clients as much as customers

    View Slide

  6. Sprints
    2 week parallel sprints for dev teams
    Monday-Friday
    Daily standups
    Sprint checkins / Team standups
    Sprint planning Thursday before the sprint starts
    Hack / Test days the first Monday of the sprint
    Retrospectives the last Friday of the sprint

    View Slide

  7. Tickets Overview
    Scoping
    Development life cycle
    Definition of done

    View Slide

  8. Scoping
    Meetings with the relevant stakeholders
    Developers write tickets
    Organised in Epics + the Backlog

    View Slide

  9. Development life cycle
    Branch ALL the things
    GitHub pull request ALL the things (?!)
    Code review ALL the things
    Build ALL the things

    View Slide

  10. The Battlefield
    Know the enemy (individual sprint plans)
    Team formation (blockers / dependencies)
    Decisive blows (closing out tickets)

    View Slide

  11. Definition of done
    Code review
    Jenkins
    User Acceptance Testing (UAT) - where necessary

    View Slide

  12. “... but, it's not done unless it's
    released!?”

    View Slide

  13. Releasing
    Separate to development sprint cycle
    More Jenkins
    Release branches individually or as bundles
    Gonzo / Fabric

    View Slide

  14. What did we learn
    Only add process where necessary
    Make sure "value" is based on the team scale
    Facilitate people doing what they're good at
    Iterate process changes sprint to sprint
    Make sure the tools work

    View Slide

  15. Moving Forward Overview
    Scoping
    Releasing

    View Slide

  16. Reviewing ticket scope
    Better peer review ahead of scheduling
    Reviewing with product to confirm requirements match

    View Slide

  17. Releasing
    Continuous Integration / Delivery
    Cinch
    UAT environments

    View Slide

  18. The tools we use
    atlassian.com/software/jira
    atlassian.com/software/hipchat
    /
    jenkins-ci.org travis-ci.org
    ... on GitHub
    onefinestay/gonzo
    onefinestay/cinch
    github/hubot

    View Slide

  19. /
    Fergus Doyle @junkafarian
    Where to find me
    twitter.com/junkafarian
    github.com/junkafarian
    speakerdeck.com/junkafarian
    ... or grabbing a drink after this talk

    View Slide