Programming

profileRoufiaa91
Scrumformethodologytype.pptx

Scrum (1 of 2)

Begin the project with a high-level plan that can be changed on the fly

Success of the project is most important

Individual success is secondary

Project leader has some (not much) influence on the detail

Systems team works within a strict time frame (two to four weeks for development)

Roles Played in Scrum

There are three roles in Scrum:

Product owner

Scrum Master

Team member

Scrum (2 of 2)

Product backlog

Sprint backlog

Sprint

Daily scrum

Demo

Scrum is a high-intensity methodology. It is just one of the approaches that adopts the philosophy of agile modeling.

Product backlog—in which a list is derived from product specifications.

Sprint backlog—a dynamically changing list of tasks to be completed in the next sprint.

Sprint—a 30-day period in which the development team transforms the backlog into software that can be demonstrated.

Daily scrum—a brief meeting in which communication is the number-one rule.

Demo—working software that can be demonstrated to the customer.

4

Product Backlog

Features and other deliverables designers intend for the product based on user stories

The list of user stories is reorganized so that the most important user stories appear on the top

Figure 6.5 A Product Backlog Registry

Sprint Cycle

Stories are deliverables the team accomplishes

Tasks are parts of the story or units of work that each team members does

The sprint cycle can vary in length, but the usual is two weeks

At the end of the cycle, determine whether the product should be released

Two-Week Release Advantages

Team spirit remains high

Completing the product is more real to the team

Continual feedback from customers

Figure 6.6 Teams Work Together to Accomplish a Sprint Cycle

Lessons Learned from Agile Modeling (1 of 2)

Short releases allow the system to evolve

Pair programming enhances the overall quality

Onsite customers are mutually beneficial to the business and the agile development team

Short releases allow the system to evolve—through the use of short releases, the development team compresses the time between releases of their product, improving the product later as the dynamic situation demands.

Pair programming enhances overall quality—fosters good communication, identifying with the customer, focusing on the most valuable aspects of the project first, testing all code as it is developed, and integrating the new code after it successfully passes its tests.

Onsite customers are mutually beneficial to the business and the agile development team—customers serve as a ready reference and reality check, and the focus of the system design will always be maintained via their presence.

10

Other Unique Scrum Features

Scrum planning meeting

Planning poker

Daily meetings

Sprint burndown chart

Sprint review

Scrum Planning Meeting

Two parts to a Scrum planning meeting:

Product owner presents the list of features on the wish list of user stories

Estimate the resources needed to complete all of the features

Common way to do this is to play planning poker

Sprint Burndown Chart

Way to keep track of performance

Horizontal axis tracks the time that has elapsed

Vertical axis may track the number of tasks remaining or the number of hours to complete the remaining tasks

Red line shows hours of work remaining, and the yellow bars show the number of tasks remaining

Figure 6.8 A Burndown Chart

Sprint Review

Team gets together in a meeting to review the work done

Note any tasks that were not completed

User stories completed are prominently documented

User stories the team committed to that were not finished are noted

Kanban

Key elements of the Kanban system as applied to software development are:

Visualize the workflow

Keep work-in-process (W I P) as small as possible

Reevaluate the workflow, reassigning priorities if need be

Strive for continual improvement

Figure 6.9 A Kanban Board

Scrum Advantages (1 of 2)

Advantages:

Quick product development

Exercises a user-oriented approach

Encourages teamwork

Less confusing than more formal approaches

Flexibility

Scrum Advantages (2 of 2)

Advantages:

Satisfying to team members

Rewards smaller but meaningful accomplishments

Provides feedback

Adaptability

Scrum Disadvantages

Disadvantages:

Documenting features improperly

Releasing products with errors

Releasing products too soon for the user

Completing the sprint backlog under pressure

Working as a geographically dispersed team may be difficult

Working as a team when special skills are required may be challenging

Replacing team members who leave the team is difficult