Friday, November 27, 2015

The Agile - Scrum Framework



The Agile - Scrum Framework


Scrum is framework which is based on agile principles, a framework that handle simple, complicated and complex software development.
Scrum is based on continuous improvement in product and process.
Scrum deliver software frequently (value), it showcase the hidden problems in systems development.
In scrum project move forward with series of iteration that called Sprints. Each sprint size is typically two to four weeks long.
It is based on inspect and adaptive cycle. Produce product incrementally and iteratively, thus reduce risk and enhance visibility.

Scrum has simple roles, activities and artifacts.


Scrum Roles:

Below are the roles in Scrum

1) Product Owner
2) Scrum Master
3) Team



1) Product Owner
  • ·         Product Owner (PO) is client's representative
  • ·         Define features of product
  • ·         Decide release date and content
  • ·         Priorities features according to market value
  • ·         Be responsible for the profitability of product
  • ·         Accept or reject work items


2) Scrum Master
  • ·         Coach for scrum team
  • ·         Enacting scrum values
  • ·         Ensure team's productivity
  • ·         Build winning team
  • ·         Apply agile principles and make system effective.


3) Team
  • ·         5-9 Members team (Developer , Tester)
  • ·         Self-organizing, High performance team
  • ·         Build winning product
  • ·         Work collaboratively and share responsibilities
  • ·         Cross functional team.


Scrum Activities:
  • 1.       Sprint Planning
  • 2.       Daily Scrum
  • 3.       Sprint Review
  • 4.       Sprint Retrospective
  • 5.       Product Backlog Refinement





1.       Sprint Planning:
Goal: Team to plan and agree on backlog items they can complete and confirm the tasks required to support acceptance
Who: Scrum Team, Scrum Master, Product owner
When: Beginning of the Sprint
Duration: 4 Hours for 2 weeks sprint
How: In 2 parts.
Part 1: Define what needs to be done
Part 2:  How to achieve goal
                Input: Priority, Product Backlog, Acceptance criteria, Capacity
Output: Sprint goal, Sprint Backlog, Tasks and their estimates, burn down chart, DOD,
Development plan/ Strategy.
                Description:
·         Product owner present the backlog items in priority order for review
·         Review and clarify user Backlog items/stories
·         Breakdown larger stories and each story into task and acceptance criteria
·         Task are estimated in hours by team.
·         Developer and tester assigned to task
·         Process continue until all available hours are used for the sprint.
·         Output of sprint planning is be Sprint backlog, Estimated tasks etc.

2.       Daily Scrum:
 


Goal: Plan for the day, Inspect and Adapt daily towards reaching the sprint goal.
Who: Scrum Team, Scrum Master
When: Daily throughout the sprint
Duration: 15 minutes maximum
How: Team members form a group to focus on daily plan, Discuss on issues faced yesterday.
Input: Current status, risks, and done work
Output: Plan for the day, task to work
Description:
·         Daily development Team standup for 15 minutes in circle and talk only on three points
o   What I did since last daily scrum meeting?
o   What I am planning to work on today?
o   Impediments (Issue/blocker) if any?
·         Scrum master protect the team and facilitate for being effective.
·         This give an opportunity to team to inspect and adapt daily on the sprint goal.

3.       Sprint Review:



Goal:     Get feedback on product development. Inspect and adapt on the product feature.
Who: Scrum Team, Scrum Master, Product owner, Stakeholders
When: Last day of sprint
Duration: 2 hours for a 2 week sprint.
How: Demonstrate the working product to all.
Input: Sprint goal, 100% done stories, acceptance criteria.
Output: Acceptance, feedback on demonstrated stories.
Description:
·         During this meeting team demonstrate 100% completed work.
·         Scrum master facilitate the environment.
·         In case any changes or new request, Product owner (PO) note and updates the product backlog as required.
·         Product owner is final decision maker on acceptance.


4.       Sprint Retrospective:



Goal:     To inspect and adapt to become more effective and efficient on process, people, culture aspect.
Who: Scrum Team (anyone participation is decided by the scrum team on invite basis only)
When: Last day of sprint
Duration: 2 hours for a 2 week sprint.
How: Close room discussion of observer pattern and desire results/improvements.
Input: Observation, issues, experience, pattern in behavior, recommendations, feedback and information.
Output: List of activities/steps/suggestions that help to make more effective and efficient. Action items on the team
Description:
·         Participation in the discussion to inspect and adapt as scrum team.
·         Scrum master play vital role in sprint retrospective, Scrum master bring in the culture of openness, trust and respect as people discuss the improvement areas, facilitate and focus on improvement and changes that pointing fingers at others.
·         This is platform to scrum master to help team resolve ineffectiveness in the systems
·         Inspect and Adapt: Try everything that makes sense, reject things that didn’t work even after repeated trails. Shape your culture, process and practice.


5.       Product Backlog Refinement:



Goal:     Keep product backlog items ready, uncertainty to certainty
Who: Scrum Team, Scrum master, product owner
When: Continuous process, in between the sprints.
Duration: 1-3 hours depending on the team’s need.
How: priorities the items as per business value. Add, remove, modify existing product backlog item to achieve release scope/goal. Identify and discuss risks, dependencies and other uncertain items in acceptance criteria.
Input: release strategy, priority, product backlog, dependency/risk
Output:  product backlog items 100% ready for future sprint.
Description:
·         Product owner provide clarity on each product backlog item (All uncertainty clarified into certainty )
·         Product owner Update product backlog. 100% be present and involve all team members
·         Team understand, carefully listen to need of product owner, understand the acceptance criteria. Help product owner to order the backlog.


Scrum Artifacts:

Below are the Artifacts in Scrum

1) Product Backlog
2) Sprint Backlog
3) Product Increment



1) Product Backlog
This is an ordered list of ideas for the product, which can come from the product owner, team members, or stakeholders. A description and estimate of effort complement each product backlog item.

The product backlog is ordered to maximize the value delivered by the Scrum team. The development team’s work comes from the product backlog, and nowhere else. Every feature, enhancement, bug fix, documentation requirement, every bit of work the team does comes from a product backlog item.

The product backlog may begin as a large or short list. Typically it begins short and becomes longer and more defined as time goes on. Product backlog items slated for implementation soon will be "refined," which means they will further clarified, defined, and split into smaller chunks. Though the product owner is responsible for maintaining the product backlog, the development team helps produce and update it.

2) Sprint Backlog
The sprint backlog is the list of refined product backlog items chosen for development in the current sprint, together with the team's plan for accomplishing the work. It reflects the team's forecast of what work can be completed. Once the sprint backlog is established, the development team begins work on the new product increment.

3) Product Increment



Every sprint produces a product increment, the most important Scrum artifact. A product Increment is the "goal line" for each sprint and, at the end of the sprint, it must:
·         Be of high enough quality to be given to users
·         Meet the Scrum team's current definition of done
·         Be acceptable to the product owner



Scrum Information Radiators:

Task boards and Burndown chart

Task boards:


·         
      Task boards allows transparency, display what is the live status of the teams work and focus area
·         Simple task board has backlog , To-do, in progress and done status
·         There are various format
·         Team design their best “Information Radiators” that helps them in self-organizing


Burndown Chart:


·         
      For current sprint, it shows  the total estimated work remaining for the entire forecasted sprint backlog against time

·         Updated by team , regularly  and continuously

·         Independent of the work, it represents total remaining estimated time to market to achieve sprint goal

Regards
Kshitij Yelkar
www.yelkar.com

No comments: