Monday 21 May 2012

Basics of SCRUM


Scrum is agile Project Management methodology and agile means very flexible kind of approach. If you compare Scrum to traditional project management methodologies you will notice that Scrum is quite different. In traditional project management approach you first elaborate strategy and then project management plan, project checklist, Gantt chart, task list, project specifications, etc… and in agile methodologies you just need a list of features (products/projects) your company wants to build and you are completely free to take the shortest and most flexible way in delivering those products/features.

But let’s talk about the basics of Scrum. Scrum is very good because the product owner has a complete short-term control of what is going to be produced and what features should be implemented.

The three significant dimensions in Scrum are

- Requirements
- Technology
- People
The requirements are part of the projects, features and products to be developed and delivered.
The technology should be carefully selected to optimize the time and the cost of the development.
The people are the ones involved in managing, developing, testing and delivering the final feature/product.

Roles in Scrum

- Product owner
- Scrummaster
- Team
The product owner is the guy who represents the stakeholders (the people funding the enterprise) and he has the right and responsibility to create a list of products/features (called product backlog) to be developed. Also the product owner should set the priority for every item in the product backlog. The product owner is also responsible to explain the products/features functionality to the team in a clear manner.
The Scrummaster is the Project Manager in the Scrum team. This is the guy who teaches all team members how to use Scrum, helps the product owner with the product backlog list, keeps track of the features to be developed in the sprint backlog list, arranges sprint planning and daily Scrum meetings and supports the team in developing the features on time. The Scrummaster should also help clarifying the requirements of the features and the projects. The Scrummaster also takes active part in the “demo meeting” where the new features are presented.
The team consists of designers, front-end developers, back-end developers, Q/A specialists, Marketing Specialists, Support team members, etc… The team is fully responsible for providing deadlines and estimations for every single project/feature.

Scrum documents

- Product backlog
- Sprint backlog
- Burndown chart
The product backlog is the initial document containing all the projects and features the product owner needs implemented. The product owner could add new items to the product backlog at any time.
The sprint backlog contains the projects/features to be implemented in the current/next sprint period.
The burndown chart shows the work to be done (estimated in hours or days) in the sprint and dates. It should diminish with every day passing.

Scrum protocol

Sprint planning meeting 

This is the initial meeting where the product owner presents the product backlog and discusses it with the Scrummaster and the team. The team estimates every product/feature in the product backlog. The Scrummaster should write down the exact requirements for every product/feature to ensure they are clear enough. The product owner should set priorities of all products/features and based on the Scrum sprint length (usually between 15-30 days) the Scrummaster fills the items that are set with highest priority and would fit within the sprint period in the sprint backlog. After the sprint meeting is over the requirements and product/features specifications cannot be changed.

Sprint

The idea of the sprint time is to ensure that the team will not be bothered and will work on a products/features without the requirements being changed for a fixed amount of time (usually 15-30 days). During that time the Scrummaster organizes daily Scrum meetings to keep record of the progress and support the team.

Daily Scrum

The daily Scrum is a short meeting where every team member should be able to answer those questions:
- What have you done since the last daily Scrum?
- What will you do until the next daily Scrum?
- What type of obstacles/difficulties do you encounter?
The last point is extremely important and if a team member encounters serious difficulties the Scrummaster should encourage the other team members to help and should try to resolve the problem with the help of the team.

Sprint review meeting

The sprint review meeting is arranged to demonstrate the new products/features developed by the team through the sprint period. Usually the team member who worked on a particular product/feature/task should demo it but it is also possible for the Scrummaster to demonstrate the new features implemented.

When should (not) we use Scrum

Scrum means flexible. It is best incorporated with organizations or projects that require a lot of small to medium estimated features to be implemented. Scrum allows the product owner to set new priorities on relatively short terms. It is vital that the Scrum team members are reliable, self-motivated and eager to meet the deadlines.

Traditional project management, involving project strategies, plans, checklists could be used (even on top of Scrum) when a company is doing large scale projects and there is an absolute clarity on what is needed to be delivered in the end – for example a huge web project from scratch that needs many features and functionality implemented before even the beta is ready. Usually the development time of those projects could be more than a year. Scrum could be used within the teams if there is a lot changes requested and there is a great chance that the final product will be completely different compared to what was initially planned/purchased and paid.

Scrum is especially good for startup businesses where the companies need to be extremely flexible and need to turn around 180 degrees very quickly.

No comments:

Post a Comment