Friday, November 24, 2006

We started a new agile methodology a few weeks back called Scrum. I have been hearing about it for some time on various podcasts that I  listen to, but haven't had a chance to use it.  We are now into our second two week sprint and it seems to be working out. The team will have a better handle of this process after a few more of these sprints.

What is Scrum? That is the question most programmers new to it ask. First of all , it is not an acronym, it is taken from a game similar to football where the players really do try and kill each other, Rugby.  Wikipeida says this about it.

Scrummage or scrum as a way of restarting the game, either after an accidental infringement or when the ball has gone out of play. The word "scrummage" is a modification of "scrimmage" (which form of the word was previously used in rugby and continues to be used in American and Canadian football), which in turn derives from or is cognate to "skirmish".  

 

In the software development world, Scrum is a form of agile development to manage and control development work. Most companies moving to this methodology will adjust it to fit their needs. You don't have to follow the standard Scrum process exactly to get benefits from this methodology, but you shouldn't stray too far off course.

Scrum is characterized by:

  • Artifacts
    • Product Backlog
      • A list of requirements prioritized and broken down into small manageable chunks. This Backlog should include all features visible to the customer, as well as the technical requirements needed to build the product.
    • Sprint Backlog
      • This is a list of selected and committed features to deliver from the product backlog and should be created by the Team only. These tasks should be broken down into pieces that will require less than 16 hours of development time.
    • Burndown Chart
      • The Burndown Chart shows the cumulative work remaining in a Sprint. When tasks are completed, the ScrumMaster recalculates the remaining work to be done as the Sprint Backlog decreases, or burns down over time. If the cumulative Sprint Backlog is zero at the end of the Sprint, the Sprint is successful.
  • Ceremonies
    • Sprint Planning Meeting
      • These meetings are held prior to the beginning of the Sprint and during this meeting the Sprint Backlog is created.
    • Sprint Review Meeting
      • At the end of a sprint, a timeboxed 4 hour meeting is held in two parts.
        • The First half is to demonstrate the results of the previous sprint to the product owners. The Product Owner determines which items on the Product Backlog have been completed in the Sprint
        • The second half of the Sprint Review Meeting is a retrospective for the Scrum team that is led by the ScrumMaster. At this time the Team evaluates what went right and what went wrong during the sprint.
    • Daily Scrum Meetings
      • Once the planning has been completed, the sprint begins a 30 day iteration. Each day the Scrum Master leads a short 15 minutes meetings. While anyone can attend this meeting, only team members who have committed to deliver work to the Scrum are allowed to speak.  Each person is asked three questions in order to get a global snapshot of the project.
        • What did you do yesterday?
        • What are you going to do today?
        • Do you have any roadblocks?
  • Roles
    • Product Owner
      • The product owner is normally a business person and is the one that defines the features of the product.
      • This person is the person whom accepts the work presented during Sprint Review.
    • Scrum Master
      • Removes roadblocks so the team is productive.
      • Ensures that the process is followed including invitations to Sprint Planning Meetings, Daily Scrum and Sprint Reviews
    • Team
      • Cross Functional Team between 5 and 10 members.
      • Selects the Sprint Goal and Specifies work result.
      • Demonstrates work to Product Owner
      • Organizes itself and its work.

Here is a complete run down of the scrum methodology in more detail.

I'm still holding my opinion of this process until we finish a project and review what we did right and what we did wrong.

posted on Friday, November 24, 2006 11:03:38 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
Related posts:
VS 2008 & .NET 3.5 SP1 Beta
Free Software for Students
Heroes Happen Here Comic
.NET Graphical Resources
Create an Access Database in C#
Organize Usings