Monday, August 8, 2011

SCRUM Software Development Methodology : Nuts & Bolts

Scrum is an agile software development methodology. It is useful for relatively small (5-9 developers) development teams and limited project calendars. This post will give brief definitions and useful suggestions about this methodology.
Team Members
  • Product Owner: Behaves as real customer and criticizes product. Attends meetings and can determine work priorities. Adds items to product backlog (will be told later). Only one person can be product owner in a scrum team.

  • Scrum Master: Enforcer of the rules. Generally most experienced team member. Works like team leader. Solves the problems of the team, if team/team member couldn't. Only one person can be scrum master in a scrum team.

  • Team: A scrum team member is responsible of analysing, design, development, test and the other required processes. So, specialization is rare. Self-organization is a plus. There is no hierarchy in members. Scrum master is also a team member.

Document Types:
  • Product Backlog: This list contains items that the project must have and may have. Item size can increase every time.

  • Sprint Backlog: Sprint is a time interval (generally 2-4 weeks) that a group of items must be completed (similar with "iteration" in unified process and some other processes). Sprint backlog contains items that must be completed in that sprint.

Meeting Types: 
  • Daily Scrum/Standup Meeting: Max. time is 15 minutes. Performed at the start of the day and generally in stand-up style. Every member should answer 3 questions: 

    • What did you do yesterday? 

    • What will you do today? 

    • Is there a problem about your work item(s)?

  • Sprint Planning Meeting: Performed at the start of each sprint. Sprint backlog is created using product backlog items and priority opinions of all team members.

  • Sprint Review: Performed at the end of each sprint. Status of sprint backlog items are discussed and results are recorded.

  • Sprint Retrospective: Performed at the end of each sprint. Sprint process issues are discussed to improve process quality.


Scrum Process
  • From product owner opinions and other internal/external sources, product backlog is created.

  • Sprint planning meeting is performed at the start of each sprint. Previous sprint's unfinished items (if exists) and product backlog are sources of sprint backlog. Backlog is created according to item priority opinions of all team members. Sprint length (in weeks) may also be defined here for once.

  • In sprint time, daily meetings are performed. Team members take responsibility of items from item pool of sprint backlog continiously when an item is finished. By the way scrum master solve possible problems and product owner criticizes results.

  • Sprint review and retrospective meetings are performed at the end of each sprint. Results are discussed in these meetings. Results are recorded to be applied for next sprints.

1 comment:

  1. congrats! keep up the good work/this is a great presentation.

    Scrum Process