Tuesday, 5 April 2016

Scrum Series 1 -- Overview of Scrum

Guys, I started a new article series on SCRUM, An Agile Methodology of Software Development.
This is a first article of this series in which I will cover basics of Scrum, What is Scrum, How it originated and all involved artefacts of the Scrum.

Scrum Series 1 -- Overview of Scrum

What is Scrum ?
Scrum is a lightweight process framework that is used to manage complex product development within which you can employ various process and techniques.
This framework consists of Scrum Teams and their associated Roles, Events, Artefacts and Rules.

Origin of Scrum
Scrum is an Agile Development model based on multiple small teams working in an intensive and interdependent manner. The term is named for the Scrum (or scrummage) formation in rugby, which is used to restart the game after an event that cause play to stop, such as an infringement.
Scrum employs real time decision making process based on actual events and information. This requires well trained and specialized teams capable of self-management, communication and decision making. The teams in the organization work together while constantly focusing on their common interests.


Scrum Involves

•Definition and Prioritization of tasks to be done
•Planning session for each task
•Daily meeting among team
•Identification and evaluation of potential project risks and process pitfalls
•Execution of projects in brief, high intensity, frequent work sessions
•Review of progress and evaluation of completed projects
•Openness to constructive criticism and ideas for improvement


Please share your feedback

Scrum Series 2 -- Scrum Team and Roles

In previous article, We understand basics of Scrum, What is Scrum, How it originated and all involved artifacts of the Scrum. In this article we will try to understand 
Scrum Team.

The Scrum Teams consists of Product Owner, Development Team and a Scrum Master. This team is self organizing and Cross Functional.


Characteristics of Scrum Team

Self-Organizing -- Scrum Teams take their own decisions and they them self decide or choose the best way to accomplish their work. This team is self motivated and no one from the outside the team can direct them to take decisions. To accomplish this characteristics, organization and management has to give them rights and need not to interfere.
Cross Functional -- Team have all competencies needed to accomplish the work without depending on others not part of the team. This team comprising of Programmers, QA, UI designers, BAs. There is not specific designation within the team. All members of the team are called Development Team members, no specific titles like Team Lead, QA Lead.


Scrum Roles: Scrum has three roles. These roles are --
1.Product Owner
2.Development Team
3.Scrum Master

In below article, we will understand each of these roles and their use.


Product Owner -- Product Owner or in short PO is the person who is responsible for maximizing the value of the Product. He is the sole person responsible for the product backlog and single point of contact for all questions regarding requirements.


Responsibilities of Product Owner -- Mainly PO is responsible for below tasks, however it is not just restricted to only these

•He is responsible for ordering the items in the Product Backlog based on the market value of the item
•He ensures that the Product Backlog is clear and can be easily understood by the Development Team
•He ensures that the Product Backlog is clear and can be easily understood by the Development Team
•PO writes requirements in one line. This one line requirements are called User Stories or Work tems

All above mentioned activities can be performed by Development team also, however the Product Owner remains accountable for these.



Development Team -- Second role in the Scrum Team is Development Team. This consists of professional who are responsible for delivering a potentially releasable increment of the Product after each Sprint. The Development Team is self-organize in nature and empowered by the organization to manage their own work.
Development Teams are self-organizing and Cross-Functional in nature. These characteristic help them to achieve the delivery of potentially releasable increment product at the end of each Sprint.
Development team size is not too small and not too big, So there will be no conflict of the opinion. Ideally it is recommended to have Development Team size of 5 - 9 people.





Scrum Master -- The last and most important role in Scrum Team is Scrum Master. Scrum Master is a facilitator and his responsibility to ensure the Scrum is understood and enacted by the Scrum Team.
The Scrum Master is a servant-leader for the Scrum Team. Scrum Master has no management authority over the team (anyone with authority over the team is by definition not its Scrum Master)





Responsibilities of Scrum Master --

•He ensures that the Scrum Team adheres to the Scrum Theory, Practices and Rules
•He is responsible for removing impediments of the team and protects them from the external interference
•He makes sure that the team focuses only on the work items which are included in the current Sprint
•He also enables close cooperation across all roles and functions within the Scrum Team
•He ensures that the Scrum Team is fully functional and productive
•He also enforces Time-Boxing within the team
Please let me know if you have any additional questions.

Monday, 4 April 2016

Scrum Series 3 -- Scrum Ceremonies

So far we understand What is Scrum, Scrum Team and Associated Roles. In this article we will try to understand different Scrum Ceremonies and How these ceremonies are interconnected.

Surprised by the name Ceremonies. Yes, I am talking about Ceremonies. To make traditional boring meeting more interesting, Scrum introduced the term Ceremonies and to make them more productive, they make them time boxed.

Time-Boxed -- In Scrum, all events are time-boxed. Here the time boxed means that, every event has a maximum duration. Duration of event should not be beyond specified time.
 Before we start with Scrum Ceremonies, it is important to understand Sprint first.

 Sprint -- Sprint is the heart of the Scrum. Sprint is nothing but a iteration of a specified time duration. For understanding purpose, you can consider a Sprint as a small Project which you have to complete in pre-defined time. Some of the characteristics of Sprint are

•It is a time box event of 2 to 4 week duration in which a usable and potentially releasable product increment is created.
•Once the duration of the Sprint is decided then that will be same throughout a development effort.
•There should be no gap in between two Sprints
•Scope may be clarified and re-negotiated between the Product Owner and Development Team
•A Sprint would be cancelled if the Sprint Goal becomes obsolete

 In the below image, you will see how all Scrum Artefact's are used during Sprint and the output of the Sprint is Potentially Shippable Product.





Now you are families with Sprint, so its time to move on to Scrum Ceremonies.

Scrum Ceremonies -- Scrum recommend at below four Ceremonies -- 

•Sprint Planning
•Daily Scrum
•Sprint Review
•Sprint Retrospective

So we will understand when these ceremonies will happen in the Scrum Framework and how these are associated with each other.


Sprint Planning -- Sprint Planning is a very first ceremony in the Scrum and it used to perform prior to start of any Sprint. In the Sprint Planning, Scrum Team decided what all work items they are going to work in the Sprint.

As all Scrum events are time boxed, Sprint Planning is to be maximum of eight hours for a four week long Sprint and for shorter Sprints, the event is usually shorter. It is responsibility of the Scrum Master to ensure that the event takes place and that attendants understand its purpose.

Sprint Planning answers the following --

•What can be delivered in the upcoming Sprint, and
•How will the Sprint goal be achieved


There are certain inputs required before Sprint Planning. The usual input is Product Backlog, the latest Product Increment, Projected capacity of the Development Team during the Sprint and past performance of the Development Team.

The output of the Sprint Planning will be Sprint Backlog.

By the end of the Sprint Planning, the Development Team should be able to explain to the Product Owner and Scrum Master how it intends to work as a Self-Organizing Team to accomplish the Sprint Goal and create the anticipated increment.

Daily Scrum -- As the name suggest, this ceremony used to happen on daily basis. This is used to measure the progress of the Development Team towards Sprint Goal. Sprint Backlog is referred in the Daily Scrum and every team member talk in term of work items.


Some of the characteristics of Daily Scrum are --

•Time boxed of 15 minute every day
•Used by Development Team to create a plan for the next 24 hours
•Daily Scrum is held at the same time and place each day to reduce complexity. In practical scenario, this is not possible because of co-located teams.

 In Daily Scrum, Development Team members answers three questions --


•What did I do yesterday
•What will I do today
•Do I see any impediments


The Development Team uses the Daily Scrum to inspect progress towards the Sprint Goal and to inspect how progress is trending towards completing the work in the Sprint Backlog.

Product Owner and Development Team are required in the Daily Scrum. Scrum Master may not be required, however it is responsibility of the Scrum Master to ensures that the Development Team has the meeting. Scrum Master teaches the Development Team to keep the Daily Scrum within the 15-minute time box.

Sprint Review -- This ceremony used to happen at the end of the Sprint to inspect the work so far completed in the Sprint. In this, Development Team shows the working product to all the stakeholders.


Some of the characteristics of Sprint Review are --

•This is a four hour time boxed meeting for four week long Sprint and for shorter Sprints, the event is usually shorter.
•This is an informal meeting and Development Team showed the working software to the Scrum Team and Stakeholders
•The Product Owner explains what Product Backlog items have been "Done" and what has not been "Done".
•The entire group collaborates on what to do next, so that the Sprint Review provides valuable input to subsequent Sprint Planing.

The result of the Sprint Review is a revised Product Backlog that defined the probable Product Backlog items for the next Sprint.

Sprint Retrospective -- This is the last ceremony of the Scrum Framework. The Sprint Retrospective is an opportunity for the Scrum Team to inspect itself and create a plan for improvement for the next Sprint.

Some of the characteristics of Sprint Retrospective are --

•The Sprint Retrospective occurs after Sprint Review and prior to the next Sprint Planning.
•As all ceremonies are time boxed, this is also a time-boxed of max three hour for one month long Sprints and for shorter Sprint, it is usually shorter.

Purpose of the Sprint Retrospective --
•What went well in the last Sprint
•What we can improve
•How we can improve


The Scrum Master encourages the Scrum Team to improve, within the Scrum process framework, its development process and practices to make it more effective and enjoyable for the next Sprint. During each Sprint Retrospective, the Scrum Team plans ways to increase product quality by adapting the definition of "Done" as appropriate.

Below image showed how all these ceremonies associated during Scrum.