Agile (Scrum)

Click here to load reader

  • date post

    19-Nov-2014
  • Category

    Documents

  • view

    19
  • download

    2

Embed Size (px)

Transcript of Agile (Scrum)

Agile (SCRUM): Basics & AdaptionPrepared by Helen Ioffe

1

Table of Content Introduction to Agile Principle SCRUM roles Scrum Meetings Product Backlog Estimating with Scrum: Product Backlog Estimate Sprint Backlog and Burndown chart Estimating with Scrum: Sprint Backlog Sprint Review / Retrospective Agile Product Management Transition to Agile discussion2

Overview: Agile with Scrum

Agile principles: Deliver working software Deliver working software frequently Welcome Change Self Organizing Teams Reflect regularly on process and product XP (Extreme Programming) Kanban FDD SCRUM (some say that 50% of software development groups utilize this approach) A key principle of SCRUM is its recognition that during a project customers can change their mind very often (requirements churn). Therefore, SCRUM adapts and empirical approach accepting that the problem cannot be fully understood or defined, focusing instead of maximizing the team s ability to deliver quickly and respond to emerging requirements. Iterative, incremental framework for managing complex work (such as new development) Although developed for management of new development, it can be used for management of maintenance team as well ad distributed team or as a general project/program management approach3

Various Agile Methodologies currently adapted

Basic Definition of SCRUM

SCRUM is about self-organizing teams Yes, SCRUM uses whiteboards and yellow sticky notes DAILY

Why use SCRUM Allows to deliver the highest business value features first and will avoid building features that will never be used by the customers.Since industry data shows that half of the software features developed are never used, development can be completed in half the time by avoiding waste, or unnecessary work. Most of the time development is slowed down by issues / impediments addressed during status meeting. With SCRUM, these impediments are prioritized and systematically removed increasing productivity and quality. Teams are allowed to select their own work, then self-organize through close communication and mutual agreement on how to best complete the work.

Allows for impediments resolution as soon as they are raised

Removes management pressure from the teams.

Allow better tracking and quality delivery due to completion of short development increments where changes are incorporated during the implementation process and not after the development Some known statistics: Agile projects are 50% faster to market Agile projects are 25% more productive with the defects ROI improvements >4x

History of Scrum Scrum is a lean approach to software development.The term came from 1986 study by Takeuchi and Nonaka.

They wrote that projects using small, cross-functional teams historically produce the best results.Scrum is a simple framework used to organize teams and get work done more productively with higher quality.

It allows teams to choose the amount of work to be done and decide how to best to do it.4

Overview: Main Characteristics of SCRUM 2-4 weeks (no more) Development Sprints It is started with 4 weeks, but recently 2 weeks sprints are most commonly used

Each Sprint must produce a potentially shippable product and pass Acceptance review by the Product ownerEach Sprint should include QA cycle and be (end-to-end solution) that can be demonstrated to a Product Owner

A roll up of Sprints can be planned as a release Product backlog DOES NOT change during each Sprint. Hence, another reason why Sprint cycles are short Product Owner is a key person who prioritizes the backlog SCRUM enables creating of self-organizing teams by encouraging collocation of team members, constant communication Teams stay for long time to increase Velocity and hence productivity No Leads Team Commits to each sprint A pig and a chicken are walking down a road. The chicken looks at the pig and says, "Hey, why don't we open a restaurant?" The pig looks back at the chicken and says, "Good idea, what do you want to call it?" The chicken thinks about it and says, "Why don't we call it 'Ham and Eggs'?" "I don't think so," says the pig, "I'd be committed, but you'd only be involved.

The Set of feature that go into a Sprint should come from Product Backlog Self-Organizing Teams

Chicken & Pig Story

5

SCRUM Roles SCRUM is a process with a set of practices and predefined roles:

6

Chicken and Pig Story applied to SCRUM

Pig Roles commitment based team role: Product Owner The Product Owner represents the voice of the customer. He/she ensures that the Scrum Team works with the "right things" from a business perspective. The Product Owner writes customer-centric items (typically user stories), prioritizes them and then places them in the product backlog ScrumMaster (or Facilitator) Scrum is facilitated by a ScrumMaster, whose primary job is to remove impediments to the ability of the team to deliver the sprint goal. The ScrumMaster is not the leader of the team (as the team is self-organizing) but acts as a buffer between the team and any distracting influences TEAM The team has the responsibility to deliver the product. A team is typically made up of 5 9 people with cross-functional skills who do the actual work (design, develop, test, technical communication, etc.). Chicken Roles involvement based role: Stakeholders (customers, vendors) Managers

7

SCRUM Meetings: 1.Daily Scrum Daily SCRUM NOT A STATUS MEETING !!!!!!!!! The goal of Daily scrum is to Synchronize TEAM members Must be Stand Up (to limit time) with a rigid/fixed structure Stand up must be next to visual progress artifacts such as BurnDown Chart or Sprint Backlog. Every body must be present. If somebody can t attend, another team member should report of that person progress.

No more than 15 min Any issues use 16th minute rule All are welcome but only pigs speak Same time / location each dayWhat I did yesterday What I will do today What impediments I had from being more productive (resolution of impediments should occur outside of SCRUM )

During the meeting each member answers 3 questions with last 2 being most important:

Common problem I know what I need to do and I don t need to waist time in daily meetings . I can work with my team member

Solution: SCRUM is a team based approach to development. The whole team either succeeds of fails the each Sprint (based on acceptance of each sprint).Each team member will get to know / gets to hear project progress and impediments.

Meetings are only to learn the status of the project Daily SCRUM is not a status, but a work meeting to deviate the work needed for today between team members

Tips on how to manage Daily Scrum to be no more than 15 min a day Yellow Card offenders (team member who would go on & On) Stand Up (all) remote teams should stand too.8

SCRUM Meetings: 2. Scrum of Scrums The goal is to allow multiple teams to discuss their work, focusing on areas of overlap and integration Run this on a predefined basis for large project with multiple project teams or when multiple parallel efforts are ongoing (as in our case). Also timeboxed meeting 15 min (if possible) but could be extended once a while depending on the number of teams representative that are participating. IT IS a meeting to address the problems as it could affect multiple teams

A designated person from each team attends Usually a contributing team member rather than a Scrum Master or a Product Owner. Attendees could be rotated if needed Frequency should be determine by the teams (suggested daily but not necessary but could be conducted a couple of times a week)

The agenda is similar to Daily Scrum: What has your team done since we last met? What will your team do before we meet again? Is anything slowing your team or getting in their way? Are you about to put something in another team s way?

9

SCRUM Meetings Continue (3) Spring Planning Meeting: Occurs at the beginning of each Sprint cycle every 2-4 weeks Goal of this meeting is to select what work is to be done Prepare the Spring Backlog that details the time it will take to do the sprint Identify how much work is likely to be done during the current sprint No more than 8 hours.

(4) Sprint Review Meeting: Review the work that has completed and not completed Present the completed work (aka The Demo ) to Product Owner/Stakeholder At this meeting the Sprint either successful or had failed as a whole In case of failure, the items go back to the Product Backlog and included in the next Sprint (Per Product Owner priority)

Incomplete work cannot be demonstrated That means that the Demo must pass QA, and be in the QA environment. Remaining incomplete work goes back to Product Backlog

No more than 4 hours

10

Product Backlog Product Backlog master list of desired functionality. Product backlog is prioritized by Product Owner

Product Backlog is used to pull functionality and create sprints Product Backlog includes functional and non-functional requirements

When project is initiated there is no comprehensive estimates to write down. The product owners shows up at the Sprint Planning Meeting. The team moves items from Product backlog into Sprint Backlog. During Sprint commitment, Product Owner commits that he/she will not throw new requirements at the team during each sprint.

Product backlog is allowed to grow and change as the project progressing but continuously gets prioritized by Product Owner. Changes to backlog is often encouraged but for items outside of the sprint.

Product backlog items can be technical tasks (i.e. Refactor Login to throw exception ) or User Specific features Produ