Tuesday, May 24, 2011

Notes on Scrum from MSF for Agile Development

Points Extracted from documents available at the site of MSF for Agile


MSF for Agile Development:
• Based on Scrum, the objective of which is to “Deliver MORE value FASTER”.
• Provides customers with the opportunity to review, guide and influence your team's work as it progresses
• Based on the idea of refining plan as the team makes progress.

About Scrum:
• Methodology based on Agile Principle
• Does not attempt to define everything at the start of project, instead team works in short iterations (sprints) to refine the plan and deliver value to customer.
Major Roles Involved:
• Team Role: Most individuals are in the Team Role
• Product Owner Role: Has the responsibility that ensures that your customers are represented on the team. Must have good knowledge of customer requirement
• Scrum Master: Ensures that the scrum practices are adhered to. E.g. ensures length of scrum meetings is less than 45 min. ensure that team does not include incomplete user stories in a sprint. Ensure that product owner does not add new features to the running sprint.

Activities in Scrum:
• Prepare for the project
o Establish business case
o Assemble Team (Assign three roles to people. Two people of the team will have additional responsibility, one will be Scrum Master and other will be Product Owner).
o Set up your team’s infrastructure. (Acquire and configure the necessary software for supporting scrum).
• Plan the project
--o High level plan will be established
--o It may change during implementation
--o Output of the process is Product Backlog
----- Backlog is a list of user stories (A description of user needs and user values) (By Team)
----- Prioritized by business value and risk (By Product Owner)
----- Estimation of user stories is done in abstract units called story points. (Story points are relative values that do not translate directly into a specific number of hours. By estimating in story points, your team will provide the general size of the user stories now and develop the more detailed estimation of hours of work later) (By Team)
---- It is important that velocity is determined before planning (Velocity= total number of stories that can be covered in a sprint)
--o Output also includes Release Plan (If needed)
---- Identify groups of user stories that, together, provide enough business value to release to your customers.
---- Determine in which sprints the team expects to complete those groups of user stories.
--o Prepare for the first sprint
---- Sprint is a timeboxed iteration
---- One to Four (1 to 4) weeks long
---- Product Owner breaks the user stories down into smaller stories.
---- Product owner provide details about the user stories that the team will need to break the stories down into tasks.
---- Your team will also ask for details about the user stories to be able to break them down into tasks and estimate those tasks
• Plan a sprint
--o Sprint planning meeting
---- Team commits to completing a set of user stories from the product backlog
---- Sprint backlog is created which consist of
• Details regarding each task
• Actual hours to be spent for each task
• Total days to be consumed for a sprint
--o Choose user stories
---- Based upon the priority, user stories will be chosen for a particular sprint
---- Choice should be made based upon velocity of team
--o Identify tasks
---- Team determines the tasks it must perform to complete the story
---- They break the user stories to understand them and have confidence that it can be completed
--o Estimate Tasks
---- The Team decides how long (in hours) it will take to complete each task.
--o Commit to user stories
---- Uses iteration backlog to see if they have enough time
---- If less time is available then lower ranked user stories should be removed
• Run a sprint
--o Complete User Stories
---- Each member of your team signs up for a task when the sprint starts
---- After completing that task, the team member updates its status and sign up for another task
--o Track sprint progress
---- Daily scrum meeting of 15 minutes to maximize its chance of meeting commitments
• What I have done till last scrum meeting
• What I will do before the next
• What are the blocking issues.
--o Finish the sprint
---- Make sure that your team is completing all user stories or requirement (see if acceptance tests are being cleared )
• Track the project
--o Prepare the next sprint
--o Track release progress

Product Backlog:
• Consists of User Stories to represent what its customers need and value
• For each story the following information must be recorded
--o Who is the user
--o What the user needs to do
--o Why the user needs to do that.
• General Template: As a , I need to in order to
• Users stories should possess the INVEST characteristics
--o Independent
---- Able to be scheduled and implemented in any order
--o Negotiable and Negotiated
---- Details agreed upon with the customer
--o Valuable
---- Must be valuable to the Customer. When splitting stories for development it must be made sure that it should deliver value to customer. For e.g. designing middle tier
--o Estimable
---- Rough estimation
---- Smaller and negotiable things are easily estimated. Being Negotiable/Negotiated implies that a story is properly understood by the team.
--o Small
---- Story descriptions should be concise.
---- Stories themselves should be small and should worth not more than four person weeks of work
--o Testable
---- An important feature that can double check the clarity of requirement
---- If client does not know how a feature will be tested then he is not clear
• Low priority user stories can be kept large and can be detailed out when approached

Sprint Planning Meeting:
• 2-4 hour meeting
• Only once in a sprint
• Determine What to do in coming sprint
• Team builds Sprint Backlog on first day of sprint based upon inputs from product owner
• First half is spent in identifying stories that are important and the developers are also comfortable with it.
--o During the discussion the following information may be revealed, data sources, interface layouts, response time expectations and considerations for security and usability
--o Team learns what it must build
• In Second half, team determines how it will develop and test those user stories
--o Presence of Product Owner is also required
--o Team determines how it will implement the stories
--o Team attempts to discover whether it can commit to implement all the stories requested by Product Owner?
--o User stories are broken up into tasks
--o Estimation of each task is done in hours
--o A task should not be longer than a day
--o It must be noted that 40% of the work emerges after the sprint meeting
--o Individual estimates of tasks are added to calculate the total time required to complete the user story.
• There may be a situation that duration of task is not clear unless some other task is performed.
Daily Scrum Meeting:
• Objective is to determine what it needs to do in the next day to maximize its chances of meeting its commitments
• Duration should be limited to 15 minutes
• Each member should describe
--o What I have accomplished since most recent scrum
--o What will I accomplish before next scrum
--o What blocking issues or impediments might affect my work

No comments:

Post a Comment