Wednesday, October 28, 2009

Agile Scrum – A brief overview

Scrum is one of the methodologies used for iterative software development within the available set of agile methodologies. SCRUM is not an acronym and it has been derived from the game rugby. Scrum is a project / product development methodology which fits to the current changing paradigm and also gives more importance to project governance.

Unlike the current development team structure, scrum has only 3 roles to play within a team,

  1. Scrum Master – one who maintains the process and works to ensure the realization of goals of the Sprint.
  2. Product Owner – the primary stakeholder of the product. Basically the customer who is responsible for prioritizing the backlog.
  3. Scrum Team – a self organized group who do the analysis, design, implementation and testing.

The other terminologies used by scrum are:-

  • Sprint – a 2 to 4 week cycle where the scrum team works to accomplish a set of tasks. The duration of the sprint can be decided by the team. The output of each sprint must be a working piece of software.
  • Product Backlog – is a high level document of the entire set of requirements for the project / product. This is prepared by the Product Owner and would be the input for arriving with the sprint backlog. Each item in product backlog would be prioritized.
  • Sprint Backlog – is the detailed document of the items that would be performed for the current sprint to accomplish either a set of or a single item in the product backlog. The selected item(s) from the product backlog are broken down into granular tasks which can be accomplished within 8hrs of effort. These tasks would constitute the sprint backlog. This is done by the team.
  • Sprint Burn Down Chart – is a line chart showing the remaining hours available to be burnt for completing the sprint. This chart is owned by the Scrum Master and has to be updated on a daily basis.

The Methodology

The product owner comes up with the story for the scrum. The story meant here is a one liner of the requirement that would be accomplished to meet the specific business need. This requirement is further broken down into detail requirement points called the product backlog.

Now once the product backlog is ready is when the scrum starts. There happens a scrum planning meeting where the product owner meets with the entire scrum team and discusses on the priority of the items in the product backlog. In this meeting it is also decided on the during of the sprint. Once the product backlog is completely created a Sprint Planning Meeting is initialized.

The duration of the Sprint planning meeting is 8 hours. During the first half, the product owner describes the goal of the product and the details of the product backlog to the team. The second half of the meeting, the team selects specific requirements from the product backlog that can be accomplished per sprint based on the priority. The selected requirements are broken down into tasks which are called the sprint backlog. It is to be kept in mind that each sprint is expected a deliver a shippable product / feature.

The Sprint begins and lasts of the agreed duration. There is no change allowed or entertained to be added / modified to the sprint backlog.

Daily scrum meeting happens among the stake holders of the sprint, i.e., the product owner, scrum master and the scrum team. The during of the daily scrum meeting (also called as the stand up meeting) should not be more than 15 minutes. There is no excuse for any of the stake holders to skip the meeting. This is MANDATORY. The scrum master is required to initiate this meeting and also update the burn down chart based on the outcome of the meeting. The three questions that needs to be answered by each team member are:-

1. What did I do since yesterday?

2. What have I planned to do today?

3. Is there any issue that is obstructing my task?

Each sprint team member is expected to answer this question.

At the end of each sprint a Sprint Review Meeting happens where each discusses their accomplishments during the sprint and also a demo of the product/feature is planned to the product owner and the other business stakeholders.

· A scrum cycle can have multiple sprints. But the duration of each sprint should remain the same.

· There is nothing called schedule variance or effort variance for a sprint. It is only the Sprint Burndown chart.

Tuesday, October 13, 2009

Be real

I got this mail from one of my good friend. I felt that I should definitely share this, since this is something each one of us feel at times when we are/were real.

The world will often discourage you from giving love. Give love anyway.

Many times, despite your best efforts, you will not be understood. Keep giving it your best anyway.

The treasures in life are not what you get back. Those things are only shadows of life's true value.

The real treasures are what you're able to give of yourself. And as long as you give authentically, from the heart, with the best you have, it doesn't really matter what comes of it.

It's nice to be acknowledged and respected and understood. Yet even when you're not acknowledged or understood, there is still great value in doing what you know is right, what you know is best.

Smile a peaceful smile to the depth of your being. Be real, and know that all is well.