Pages

Tuesday, August 09, 2011

AGILE SCRUM FRAMEWORK


  SCRUM- Agile Project Management Methodology
     ·      SCRUM is an agile, lightweight process for managing and controlling 
             software and product development in rapidly changing environments.
       ·         Iterative, incremental process
 ·         Team-based approach
 ·         developing systems/ products with rapidly changing requirements
 ·         Controls the chaos of conflicting interest and needs
 ·         Improve communication and maximize cooperation
 ·         Protecting the team form disruptions and impediments
       ·         A way to maximize productivity

Functionality of Scrum




Product Owner

  • The product owner decides what will be built and in which order
  • Defines the features of the product or desired outcomes of the project
  • Chooses release date and content
  • >Ensures profitability (ROI)
  • Prioritizes features/outcomes according to market value
  • Adjusts features/outcomes and priority as needed
  • Accepts or rejects work results
  • Facilitates scrum planning ceremony
ScrumMaster
The ScrumMaster is a facilitative team leader who ensures that the team adheres to its chosen process and removes blocking issues.
  • Ensures that the team is fully functional and productive
  • Enables close cooperation across all roles and functions
  • Removes barriers
  • Shields the team from external interferences
  • Ensures that the process is followed, including issuing invitations to daily scrums, sprint reviews, and sprint planning
  • Facilitates the daily scrums
The Team:
  • Is cross-functional
  • Is right-sized (the ideal size is seven -- plus/minus two -- members)
  • Selects the sprint goal and specifies work results
  • Has the right to do everything within the boundaries of the project guidelines to reach the sprint goal
  • Organizes itself and its work
  • Demos work results to the product owner and any other interested parties.

Sprint Planning Meeting




Preparation for a Scrum sprint begins when the Product Owner develops a plan for a product or a project. The Product Owner can be a customer representative or a customer proxy. For product companies, the customer is a market, and the Product Owner serves as a proxy for the market. A Product Owner needs a vision for the product that frames its ultimate purpose, a business plan that shows what revenue streams can be anticipated from the product in which timeframes, and a road map that plans out several releases, with features ordered by contribution to return on investment (ROI). S/he prepares a list of customer requirements prioritized by business value. This list is the Product Backlog , a single list of features prioritized by value delivered to the customer.
The Scrum begins when enough of the Product Backlog is defined and prioritized to launch the first thirty-day sprint. A Sprint Planning Meeting is used to develop a detailed plan for the iteration. It begins with the Product Owner reviewing the vision, the roadmap, the release plan, and the Product Backlog with the Scrum team. The team reviews the estimates for features on the Product Backlog and confirms that they are as accurate as possible. The team decides how much work it can successfully take into the sprint based on team size, available hours, and level of team productivity. It is important that the team "pull" items from the top of the Product Backlog that they can commit to deliver in a thirty-day sprint. Pull systems have been show to deliver significant productivity gains in lean product development.

When the Scrum team has selected and committed to deliver a set of top priority features from the Product Backlog, the ScrumMaster leads the team in a planning session to break down Product Backlogs features into sprint tasks. These are the specific development activities required to implement a feature and form the Sprint Backlog. This phase of the Sprint Planning Meeting is time-boxed to a maximum of four hours.

Daily Scrum Meeting


Once planning is complete, the Sprint begins its thirty-day cycle. Each day the ScrumMaster leads the team in the Daily Scrum Meeting. This is a fifteen-minute meeting designed to clarify the state of the Scrum. Each team member speaks to three questions: what did I do yesterday, what did I do today, and what impediments got in my way? While anyone can attend this meeting, only team members who have committed to deliver work to the Scrum are allowed to speak. The goal is to get a global snapshot of the project, discover any new dependencies, address any personal needs of committed individuals, and adjust the work plan in real time to the needs of the day.

Sprint Review Meeting


At the end of a sprint, a Sprint Review Meeting is held. This meeting is time-boxed to a maximum of four hours. The first half of the meeting is set aside to demonstrate to the Product Owner the potentially shippable code that has been developed during the sprint. The Product Owner leads this part of the meeting and invites all interested stakeholders to attend. The state of the business, the market, and the technology are reviewed. The Product Owner determines which items on the Product Backlog have been completed in the Sprint, and discusses with the Scrum team and stakeholders how best to reprioritize the Product Backlog for the next sprint. The goal for the next sprint is defined.
The second half of the Sprint Review Meeting is a retrospective for the Scrum team that is led by the ScrumMaster. The team assesses the way they worked together in the sprint and identifies positive ways of working together that can be encouraged as future practice. the team also identifies the things that could work better and develops strategies for improvement.
After the Scrum Review Meeting, the process begins again. Iterations proceed until enough features have been done to complete or release a product.
Product Backlog

At the beginning of the project, the product owner prepares a list of customer requirements prioritized by business value. This list is the Product Backlog, a single list of features prioritized by value delivered to the customer. The Scrum Team contributes to the product backlog by estimating the cost of developing features.
The Product Backlog should include all features visible to the customer, as well as the technical requirements needed to build the product. The highest priority items in the Product Backlog need to be broken down into small enough chunks to be estimable and testable. About ten developer-days of work is a good size for a Product Backlog item that can be ready for implementation in the next iteration. Features that will be implemented further out in time can be less detailed.

Sprint Backlog


The Sprint Backlog is an artifact of the Sprint Planning Meeting. When the Scrum Team has selected and committed to deliver a set of top priority features from the Product Backlog, the Product Backlog's features are broken down into a Sprint Backlog: a list of the specific development tasks required to implement a feature. These tasks are broken down into pieces that will require less than two days (or sixteen developer-hours) of work. When the Sprint Backlog is complete, the total work estimated is compared with original estimates from the Product Backlog. If there is a significant difference, the team negotiates with the Product Owner to get the right amount of work to take into the Sprint with a high probability of success.

Burndown Chart    

 

The Burndown Chart shows the cumulative work remaining in a Sprint, day-by-day.
At the Sprint Planning Meeting the Scrum Team identifies and estimates specific tasks that must be completed for the Sprint to be successful. The total of all Sprint Backlog estimates of work remaining to be completed is the cumulative backlog. When tasks are completed as the Sprint proceeds, the ScrumMaster recalculates the remaining work to be done and the Sprint Backlog decreases, or burns down over time. If the cumulative Sprint Backlog is zero at the end of the Sprint, the Sprint is successful.
The Product Backlog items brought into the Sprint are fixed for the duration of the Sprint. However, the Sprint Backlog may change for several reasons:
  • The development team gains a better understanding of work to be done as time progresses and may find that they need to add new tasks to the Sprint Backlog to complete the Product Backlog items selected.
  • Defects may be identified and logged as additional tasks. While these are viewed primarily as unfinished work on committed tasks, it may be necessary to keep track of them separately.
  • The Product Owner may work with the team during the Sprint to help refine team understanding of the Sprint goal. The ScrumMaster and Team may decide that minor adjustments that do not lengthen the Sprint are appropriate to optimize customer value.
The Burndown Chart is used as a tool to guide the development team to successful completion of a Sprint on time with working code that is potentially shippable as a product.
Why SCRUM?
        ·         .Frequent deliveries of completed functionality
                      ·         Small iterations = easier to adapt to change
                      ·         Customer involvement => customer satisfaction
 ·         Deliver business value - Most important requirements are done first, prioritized frequently
 ·         Visible progress = predictable progress
 ·         Continuous improvement
 ·         Helps focus and motivate team..

No comments:

Post a Comment