You are on page 1of 2

Scrum on Wikipedia

Scrum is a method for managing work, improving morale, and achieving very high
productivity. The most popular Agile method, Scrum is noted for its simplicity,
its high level of transparency, and a team based approach to work.Contents1.1
Characteristics of Scrum1.2 Challenges to Adoption of Scrum1.3 Adaptive project
management1.4 Scheduling daily status discussions1.5 Solo Scrum1.6 Scrum
terminologyScrum is an agile method for project management. The approach was first
described by Takeuchi and Nonaka in "The New New Product Development Game"
(Harvard Business Review, Jan-Feb 1986). They noted that projects using small,
cross-functional teams historically produce the best results, and likened these
high-performing teams to the scrum formation in Rugby. In 1991, DeGrace and Stahl,
in "Wicked Problems, Righteous Solutions" referred to this approach as Scrum. Ken
Schwaber used an approach that led to Scrum at his company, Advanced Development
Methods, in the early 1990's. At the same time, Jeff Sutherland, John
Scumniotales, and Jeff McKenna developed a similar approach at Easel Corporation
and were the first to call it Scrum. Jeff Sutherland and Ken jointly presented a
paper describing Scrum at OOPSLA'96 in Austin, its first public appearance. Ken
and Jeff collaborated during the following years to merge the above writings,
their experiences, and industry best practices into what is now known as Scrum.
Although Scrum has a theoretical basis in empirical process control, its practices
have all been empirically derived from extensive Scrum practice.Its intended use
is for management of software development projects, and it has been successfully
used to "wrap" Extreme Programming and other development methodologies. However,
it can theoretically be applied to any context where a group of people need to
work together to achieve a common goal ? such as setting up a small school,
scientific research projects or planning a wedding.Although Scrum was intended to
be for management of software development projects, it can be used in running
maintenance teams, or as a program management approach: Scrum of Scrums.1.1
Characteristics of Scrum * A product backlog of prioritized work to be done;
* Completion of a fixed set of backlog items in a series of short iterations or
sprints; * A brief daily meeting or scrum, at which progress is explained,
upcoming work is described and impediments are raised. * A brief sprint
planning session in which the backlog items for the sprint will be defined. * A
brief sprint retrospective, at which all team members reflect about the past
sprint.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 they are self-organising) but acts as a buffer
between the team and any distracting influences.Scrum enables the creation of
self-organizing teams by encouraging co-location of all team members, and high
bandwidth verbal communication across all team members and disciplines that are
involved in the project.A key principle of Scrum is its recognition that
fundamentally empirical challenges cannot be addressed successfully in a
traditional predictive or planned manner. As such, Scrum adopts an empirical
approach ? accepting that the problem cannot be fully understood or defined,
focusing instead on maximizing the team's ability to deliver quickly and respond
to emerging requirements.1.2 Challenges to Adoption of ScrumMany organizations are
resistant to Scrum and other Agile methodologies. The power of the ideas and the
associated change management effort impact how effectively companies can adopt
Scrum. Transparency can be uncomfortable in organizations that were previously
opaque. Transparency forces accountability, responsibility, prioritization
discussions, trade-offs, and often scope reduction. Scrum requires that managers
behave differently than in the past. Instead of reviewing status reports, managers
should attend Sprint reviews and retrospectives. Instead of waiting for team
members to prepare and present updates, management should go to the project room
and see the project's task board and burn down chart.One wiki writer suggests that
Scrum's adaptability allows it to be introduced "stealthily". E.g. using three
steps: * Schedule a demo of the software with the customer/client a month from
now * As a team, take a month to get your software ready for the demo ?
actually functioning, not just screen shots * At the demo, get feedback and use
it to guide the next month's development workWhile this might work, it does not
address the fundamental changes in behavior that the Project manager, the team,
and management should commit to and undertake. Stealth mode implementations often
cause "organizational antibodies" to form that will resist and undermine the
changes.1.3 Adaptive project managementIt is uncommon for a service provider to
specify all the product characteristics and product requirements in a single shot.
Many times, it becomes an incremental delivery or the software is not acceptable
to the customer. No one wants to pin down a customer who is not clear on their
requirements. Sometimes the customer might not be the end-user. In this scenario,
complications result. The end user gives an "A" to the customer, and the customer
gives an "A+-" to the service provider. In these kinds of complex scenarios, the
only thing that rescues us is the lightweight process.Following are some practices
for the Scrum: * Customers become a part of the development team. (i.e.,
Customer must be genuinely interested in the output.) ? VOC ? In SDLC parlance,
validate what you have planned to develop. * Frequent intermediate deliveries
with working functionality. ? Incremental development and releases (may be
internal only) ? providing you an opportunity to validate and verify at shorter
intervals rather than only at the end; thereby, providing you time to fix, and
reducing the cost to fix. * Frequent risk and mitigation plans developed by the
development team itself. ? Risk Mitigation, Monitoring and Management (risk
analysis) at every stage and with genuinity ? Make it live, and continuous
activity. * Daily status discussion with the team. ? Standup meetings
(accomplishments, to be accomplished, issues / concerns / risks) * A daily
discussion asking each team member:What have you done since yesterday?What are you
planning to do by tomorrow?Do you have any problems preventing you from
accomplishing your goal? * Transparency in planning and module development ?
Let everyone know, who is accountable for what and by when. * Frequent
stakeholder meetings to monitor progress ? Balanced (Delivery, Customer, Employee,
Process) Dashboard updates ? Stakeholders' update ? You have to have Advance
Warning Mechanism, i.e. visibility to potential slippage / deviation ahead of
time. * No problems are swept under the carpet. No one is penalized for
recognizing or describing any unforeseen problem. * Workplaces and working
hours must be energized. ? "Working more hours" does not necessarily mean
"producing more output."1.4 Scheduling daily status discussionsA popular time for
the daily status discussion is after the lunch break. Doing it in the morning may
be troublesome especially if the team is working in a company using flextime.
These status discussions don't take long, so one way is to do standup meetings
where the team meets in front of a whiteboard. Because people tend to get tired
after lunch, having a lively standup meeting at that time may keep their energy
up. Because everybody has already been working that day, their minds are focused
on the job and not on their personal issues.1.5 Solo ScrumScrum is based on small
teams. It enhances communication between team members. Nevertheless, there is a
huge amount of software that is being developed by solo programmers. A software
system being built by a single programmer can still benefit from some of the Scrum
principles such as: a product backlog, a sprint backlog, a sprint and a sprint
retrospective. Solo Scrum is an adapted version of Scrum for use by solo
programmers.1.6 Scrum terminologyScrum Master: The person or persons in charge of
the tracking and the daily updates for the scrum (Equivalent to a Project Manager)
also referred as the Scrum Lord.Pigs: Those who are committed to the tasks
(Developers, B.A.s, DBAs, and testers).Chickens: Those who are involved but do not
have tasks (Project Owners, Scrum Lords, etc...).Back log: The task to be
completed.Sprint: A 4 to 6 week period in which a set of tasks are committed to
and which are finished.Burn Down: Daily progress for a sprint over the sprint's
length.Scrum Toon: A cartoon used to explain scrum and its intricacies on teams
where scrum is first implemented.