Scrum

Planning

Backlog Grooming

  • Write the Lettuce tests.

  • Estimate time: 1, 2, 3, 5, 8, 13 or 21 hours.

Sprint Planning

  • Decide on the length of the sprint i.e. which day will we do the retrospective (and sprint planning)?

  • Select whole stories for the sprint.

    • Write each story onto a green card. Include the following information: feature, issue number, story description, estimated time.

  • Break each story into a tasks:

    • Maximum time for a single task is 8 hours.

    • Write each task onto a white card.

      • Issue number

      • Description

      • Feature

      • Estimate

    • Create a task for Selenium testing - put this onto a blue card.

    • Total time for the tasks must equal the estimated time for the story. If the story time is updated, obliterate the current time on the story and update Redmine.

  • Put a couple of next stories in the bottom right hand corner of the task board. If a developer runs out of work, or is blocked, then (after checking with the scrum master) they can choose one of the next stories.

  • Task Board

    Divided into three vertical sections.

    • Left - Story cards (with the task cards attached) pinned onto the board in priority order. Top left is the highest priority - bottom right is the lowest priority.

    • Middle

      • Burn-up chart for the sprint.

      • Sprint goal

      • Date of retrospective

      • Version number

      • Total hours.

    • Right

      • Is empty until the sprint starts.

    • Bottom Right

      • Next stories. The scrum master may need to add these stories to the sprint if the developers run out of work - or are blocked.

Daily Routine

Scrum

  • Short, stand up meeting at 9am.

  • What did I do yesterday? How much time is left on each in-progress task.

  • What am I going to do today?

  • Any impediments?

  • Total outstanding hours and update the burn-up chart for the sprint.

Coding

  • When I start work on a task, move the task card to the middle of the task board.

  • Record the actual time taken.

  • Document every method/function/class.

  • When I finish a task, move the task card from the middle of the board and put on the right hand side in a position matching the story card.

When all task cards are on the right hand side of the board (white and blue), then the product owner can review the story. If the product owner is happy with the story (and Selenium test?), then the green story card will be moved to the right hand side of the board.

A story is Done when:

  • The server side (JSON) Lettuce tests are passing.

  • The Selenium Lettuce tests are passing.

  • It can be demonstrated using the UI (demo fixtures should also be set-up).

Issues

  • If a task is blocked, the task card should be turned horizontally.

  • If a story card has an incorrect estimate, then (after checking with the scrum master), we can substitute it for a story with the same total time.

Bugs

We have a zero tolerance to bugs. All bugs will be fixed ASAP.

  • Linked to a story (where appropriate).

  • Update the Lettuce test for the story (where appropriate).

  • Write out a pink ticket for the task board.

  • Add the pink ticket to the bottom of the board i.e. unplanned work.

Sprint Retrospective

Complete

  • Any cards which were not completed should be removed from the sprint in Redmine i.e. moved back to the backlog.

  • Tag the source code repository

    • Note - if we decide to finish the sprint but to keep working on stories or bug fixes, then we still tag the code e.g. 2.3.0. Any changes to the code will be tagged with a minor release number e.g. 2.3.1 before the next sprint starts.

  • Calculate the velocity.

Demo

  • Check that all Lettuce tests are included in sprints.mk.

  • Is Jenkins happy?

  • Run Lettuce tests for the current sprint and all previous sprints.

  • Demo system on non-developers computer.

Retrospective (What can we do better)

  • What was good

  • What could have been better?

  • What could we do differently?

  • Velocity - compare estimated vs actual. Are we happy?