Frequently Asked Questions
- Is Scrum a methodology?
No – Scrum is a framework within which management and teams can do the best
that they can to build any software in any environment. A number of common
sense practices, processes, and techniques used within the software industry
are combined into this framework.
- When is Scrum appropriate?
When a project is important and no one has confidence that any existing approach
will work.
- What type of projects have used
Scrum and failed?
Projects where something other than getting the software produced is more
important. For instance, financial constraints may constrain the development
effort to such a degree that the software cannot be delivered in time to be
relevant. Or, organizational politics cause usual problems and are not removed
when escalated as impediments.
- What is important to the success
of Scrum?
Common sense, good engineering practices, good engineers and management, and
at least one person to whom the project is so important that they are willing
to be fired rather than have the project fail.
- How do you handle geographically
dispersed teams using Scrum?
Daily Scrum meetings are conference called to a common, central location with
speaker phone facilities. All team members attend and respond. At the end
of each Sprint, the entire team meets in one location for demonstrating the
increment’s results and planning the next increment.
- How do I track a project’s progress
when Scrum is used?
Assess the number of product features that have been completed and are part
of a release. Features that were part of a incomplete sprint, or features
that are completed but not used in a release are not counted. For detailed
sizing, count the function points of the released features.
The most meaningful way of tracking a team’s progress, attend each end-of-Sprint
demonstration. Cumulative increments of software are demonstrated and the
team responds to detailed questions about its operation, architecture, and
stability.
- How do I track a team’s progress
during a Sprint?
During a Sprint, a team updates the estimated number of hours to finish a
task. When the Sprint starts, this number of hours is the initially estimated
hours. As work progresses, the remaining hours should decrease as work is
applied, unless work is not being applied or, as work is being applied, tasks
are larger than expected. A "burndown" graph with days on the Y
axis and number of hours remaining on all tasks in the Sprint on the X axis
provides a visual trend indicating the probability that work will be completed
by the end of the Sprint.
An empirical way of determining a team’s progress is to listen during the
daily Scrum meeting. The tone of voice, the way work is being described, and
the impediments give an empirical feel for a team’s progress.
- When and how do I use pert charts?
Pert charts are good for plotting overall project dependencies. However, pert
charts are not used for tracking tasks during Sprints. A Sprint is sized (30
days, less than 8 workers) so that tasks can be kept track of by the team
without any complicated mechanisms such as pert charts.
- How does our standard methodology
work with Scrum?
Scrum is an iterative, incremental approach for building project deliverables.
The sequence in which deliverables are built is still dictated by good engineering
practices - requirements, architecture, design, and code. With Scrum, testing
and documentation are performed in parallel with development, and tangible
software that can be incrementally be built upon is produced by each Sprint.
- Can I only use the daily Scrum
meetings initially and move on to the other parts of Scrum later?
Scrum is intended to improve productivity by letting teams and management
be as responsive as possible to development conditions. The daily meetings
are great for reducing the need for other meetings, for quick daily status,
and keeping management up to speed, but without the other mechanisms the spirit
and productivity of Scrum have been removed.
- Do I need daily Scrum meetings,
or can we use 3 Scrum meetings every week?
Daily, so that management can remove impediments as soon as they occur and
everyone knows what’s going on. We’ve heard suggestions about team’s emailing
impediments, but that misses the point – Scrum changes management’s role from
being remote, to being an immediate source of aid. The team doesn’t have to
hunt for help, help is immediately available.
- How does Scrum compare to the
CMM process?
Scrum is a framework within which an institution’s regular processes occur.
Such CMM processes as testing, inspections, and requirements analysis may
be used within a Scrum project. The difference, however, is that the use of
these processes is determined empirically by need … if the team feels that
they are needed, they are used; otherwise, they are not used.
- What customer involvement would
Scrum require?
Because Scrum is designed to be
responsive to the changing dynamics surrounding a project, the customer determines
the prioritization of features at the beginning of a sprint. The customer
continually provides feedback on product design throughout a sprint and, more
specifically, at the end of the sprint when the implemented features are demonstrated.
Optionally, the customer can sit in the daily 15-minute-(or less) Scrum meeting
for project updates.
- How is the daily Scrum meeting
different from the conventional daily status meeting? It is kept to a minimum
in consideration of people’s tight schedule. Participants answer 3 questions
: (1) What I did in the last 24
hours? (2)What I plan to do in the next 24 hours? (3)What obstacles are standing
in my way? One key element
that makes the daily Scrum meeting different from other conventional daily
meeting is the face-to-face hand-off of obstacles to management. The management
will then remove the obstacles standing in the way of the team and product
delivery.
- How does Scrum handle complex
projects made up of multiple interdependent teams running concurrently? Individual
teams have their daily Scrum meeting, where core members provide updates and
members from other teams can sit in to hear the progress and obstacles as
they arise. Depending on the degree of interdependency among the teams, an
additional Scrum meeting by designated members from each team can provide
a fast and structured forum to monitor progress on cross-team requirements
and issues.
- How does Scrum reduce development
cycle time? One fundamental attribute of Scrum is the formation of a cross-functional
team where each member develops their aspect of the selected features concurrently.
For example, members representing Testing and Documentation participate in
sprints together with developers, and they produce their deliverables incrementally
and iteratively in support of the sprint goals. This approach avoids the big
bang that typically happens near the end of a project, and facilitates communication
across all development disciplines throughout the project.