Friday 21 August 2015

Scrum in the Real World


If you Google Scrum methodology, you will get hundreds of results talking about it's definition etc... However, when we talk about Scrum in the real world, it means we are actually interested in the execution of scrum.
Scrum consists of number of sprints that will take place for incremental delivery of potentially shippable product. Let's have a look at how this sprint cycle works.

Sprint Planning
This is the first event/activity that takes place at the start of sprint. Product Owner, Scrum Master and the Team have a look at the requirements and create a stack of work called as Sprint backlog that they can complete within a sprint. Sprint Backlog is a set of tasks that team commits to complete and deliver by the end of the sprint.
Sprint backlog takes the shape of user stories and then user stories are further converted into tasks.

Daily Scrum
These tasks are then further being given to the team for implementation. Teams are self managed. They meet everyday for 15 minutes and talk about 3 items. What they did yesterday? What are they working on today? Any impediments or challenges they are facing? These meetings are time-boxed and are never extended. If further discussion is required, then follow up meetings are being scheduled.
It is the responsibility of Scrum Master to take care of these impediments team is facing and log them to project management tool. Report to the product owner and work on getting these resolved.

Ending the Sprint
Sprints always end on time. They are time-boxed. It's the responsibility of the team to complete the work with the definition of "Done" within the sprint. Definition of Done is the agreed upon definition for completion of the work  between product owner and the team. Generally it includes that the product will be fully developed and tested and is potentially shippable product increment.

Sprint Review
This is the event that takes place at the end of the sprint. Team gathers together along with Scrum Master and the Product Owner and inspect and adapt the product and the quality of the potentially shippable product increment. They meet and review together, Product Owner provides it's feedback if any.

Sprint Retrospective
This is another event for looking after how the previous sprint was. Whole team inspect and adapt the process. They note down the changes they can make for making the upcoming sprints better.
And the Sprint cycles goes own with each sprint delivering the potentially shippable product increment thus resulting into Product Development and successful deliveries of the project.

Friday 7 August 2015

Scrum Methodology


Scrum is one of the most popular project management method these days. If we talk about Software development life cycle, Scrum is the one which people are using these days. Top companies are using scrum as their project management techniques.
What is Scrum?
Scrum is basically an iterative & incremental software development approach. It is one of the most popular Agile methods.
Scrum emphasis on customer involvement from starting till the end of the software development life cycle enabling customers to get hands on experience on the software.
Unlike waterfall, scrum allows us to ensure customer involvement in every duration of 1-4 weeks. This particular cycle of duration is called as Sprint. Before understanding the Scrum process, Let’s have a look at 3 Scrum Roles:
  1. Product Owner: The one who decides “What needs to be built?“. Product Owner as the name says, is the owner of the product. This is generally a person from client end. Product Owner is one of the most important stake holder of Scrum project. What needs to be built and in what order, deciding the priority is another important aspect which is fulfilled by the product owner.
  2. The Team: The team consists of “Cross-Functional” & “Self-Organized” team members. Unlike other teams, this team consists of designers, developers, testers, etc… They are also self organized, knows who will do what part of the project and are responsible for their part of work. Team decides “How it needs to be built?
  3. Scrum Master: Scrum Master ensures that product owner and team, both follows the scrum effectively. This person is responsible for making sure everyone understands scrum. This person is not a manager, instead this person serves the team and the product owner for the requirements and also for removing impediments which come across the software development life cycle.
Now, as we understand these 3 roles, it’s easy to understand Scrum Process.
Scrum Process
Have a look at the above picture, This will help understand the process
How it works?
Product Owner prioritize requirements into features and create product backlog. Team chooses items from the product backlog and commits to complete them during certain amount of duration. This duration of time is generally 1 to 4 weeks and is known as Sprint. Everyday during each sprint, whole team gathers to discuss the challenges and progress. This is known as Daily Scrum Meeting.
At the end of the sprint, team delivers potentially shippable product increment, which product owner can check.
These ongoing sprint cycles results in iterative and incremental approach towards software development.