Software

Agile Development - Scrum

By Arthur Correa • Author

Ok, so you've heard about Scrum and want to know what all the fuss is about.  What does it mean to say that you are following a Scrum methodology?

Well Scrum is one particular way to do Agile Development.  For example there are a set of practices that are common to Scrum projects such as.

  1. The team is self-organizing.  That is there is no project manager that plans the order of work, or give guidance on how to fulfill the iteration goals.  Instead the team has the authority an dresources to make all of these decisions on their own.
  2. A Scrum cycle, which is called a sprint, is 30 calendar days (unlike most Agile methodologies the Scrum guidelines are fairly specific on this.  This is actually a practice that a lot of Scrum teams ignore and generally end up with sprints that run anywhere from 2-4 weeks).
  3. Once all the features to implement have been selected for a sprint they don't change for that sprint.  The team focuses on getting those features working, if anything else comes along they go onto the product backlog.
  4. The project has a Product Backlog.  This is a prioritized list of all the features that are going to be added to the project.  At the end of each sprint it is updated as a result of feedback gathered, and changes asked for during the sprint.  Before each sprint it is used to select the goals/features for that next sprint.
  5. At the end of each sprint the product is demonstrated to the Product Owner, and potentially tested with customers (this should happen whenever possible).
  6. Daily Scrum - Every day there is a 15 minute meating where the team members say what they've done since yesterday, what they plan to do that day, and what roadblocks/problems are they encountering that might prevent their success.

There are also a set of common roles that all Scrum processes should have such as

  1. Scrum Master - This person's main job is to keep the team moving forward.  Get any roadblocks or impediments out of hte way so the team can continue to move towards the next project goal.   The ScrumMaster is not the leader or project manager but does do things that a project manager typically would such as act as a buffer to external influences, as well as make sure that the team follows the rules of the Scrum process.   
  2. Product Owner - This person is resonsible for creating and prioritizing the Product Backlog, and is also responsible for choosing the goals for the next sprint.
  3. Team - A cross-functional group that includes business experts, developers and qa.  These people are responsible for getting the product out the door.

So how does it all work?  Well before each sprint the Product Owner looks at the Product Backlog and comes up with the items that he or she wants to get into the next sprint.  There is then a sprint planning meeting where the team is told this list, and they respond with what they feel they can commit to completing during that sprint.   Final agreed upon list is called the Sprint Backlog, and once defined it cannot be changed during the sprint. 

Discussion (0)

{{ comment.AuthorName.charAt(0).toUpperCase() }}

{{ comment.AuthorName }}

Discussion • {{ comment.DefaultDateStringFormat }}

{{ comment.Text }}

No comments yet. Be the first to join the conversation!

Leave a comment