Tuesday, August 19, 2014

Agile and Scrum Methodology - Product and Sprint backlog

In this post, we are going to see what is a Product backlog and what is a Sprint backlog and the differences between the two.


Product backlog:

The product backlog is an ordered list of everything that might be needed in the product and is the single source of requirements for any changes to be made to the product.

A product backlog contains a list of product backlog items. The items could be in the form of:
  1. Story - short description of what the user wants from the product (eg., As a online retailer I need a catolog of products to be displayed).
  2. Bug
  3. Epic - represents bigger user stories
The items which are of high priority will be at the top of the backlog. The product backlog is maintained and managed by the product owner. 

Progressive Refinement:

It is a process wherein items at the top of the backlog will have more details into it than the ones at the bottom of the backlog. With time, and as and when the the backlog items at the top are completed, rest of the items are detailed out. This is similar to "Progressive Elaboration" technique used in typical project management process.

Sprint backlog:

This is a subset of the product backlog, and contains the items which will be completed by the team in the active sprint. Before the start of the sprint, the team will get together and identify items in the product backlog, which could be completed as part of the sprint. Those identified items will be moved to the sprint backlog. Thus, the items move from Product backlog to the Sprint backlog and get completed. New items should never be directly added to the Sprint backlog. They should always be added to the Product backlog and taken from there.

Sprint backlog is :
  • maintained by the team.
  • can contain additional tasks/stories which are decomposed from the product backlog item
  • updated daily during an active sprint




Sunday, August 3, 2014

Agile and Scrum Methodology - Roles and Responsibilites

In this post, we will talk about the various roles and responsibilities associated with Scrum.

In scrum, generally there are 3 distinguished roles as follows:

  • Product Owner
  • Scrum master
  • The Team

1. Product Owner

The role of a Product Owner is very crucial in the making the product a success in the market, as it deals with the "What" and the "Why" of the product.

  • Is one who has a product vision on how the product should look like, what should be its features etc. Unsurprisingly, the product owner should have very good domain expertise.
  • Communicates with various stakeholders like sponsor, client, end users and gathers requirements.
  • Also responsible for end user satisfaction, has overall commitment to product road map.
  • Also responsible for ROI (return on investment) and work out the budget constraints.


2. Scrum master

Scrum master is more of a facilitator and a coach who gives valuable advice to the team. The roles include:

  • Make sure everybody is following scrum process
  • Provide advice when needed on right process to be followed.
  • Work towards resolving issues which affect team's productivity (could be external factors, Organizational behaviour/culture, external dependencies)
  • Protect the team from distractions and help the team stay focused.

What a scrum master is not?

  • A scrum master doesn't have control over the team, but has control over the process.
  • The scrum master is not accountable to the outcome of the project.
  • The role of a scrum master is not the same as that of a Project Leader or a Project Manager. In Scrum, it is more of a servant-leader role.


3. The team

The team consists of Development  team and the QA team. All of the action happens here. The roles of a team include:

  • Design, implement the product features
  • Brain storm technical challenges and come up with solution
  • Build, test

The important deviation in the characteristics of a team from that of Waterfall model, is that the team is self organized and self dependent, rather than depending on a project manager to dictate and monitor tasks.

One of the key reasons for this is that, numerous researches found and concluded that, employees are more motivated and driven by passion, when they have  freedom and when there is collective collaboration rather than single person dictating terms.

So, here "THE TEAM" does everything. Collaboration is the key here, where the entire team works as a single unit towards a common goal. It also helps in ironing out egotistic issues, personal biases and the team as a unit solves issues and advances towards the goal.