|
| Experience gathered
during large-scale implementations of agile concepts in software development
projects teaches us that agile methods, like Scrum, do not scale to program,
product and organization levels without change. However, various planning
frameworks have, in fact, been used successfully in large-scale agile projects,
which can broadly be defined as projects that involve over 50 people and take months
or years to complete. One such framework relies on five levels to address
the fundamental planning principles of priorities, estimates, and commitments.
The five levels can be defined as: product vision, product roadmap, release
plan, sprint plan, and daily commitment.
View the Webcast
In plan-driven and
waterfall methodologies, this problem is overcome through a large upfront
design, aiming to predict accurately how much work is involved in each project
activity. This leads to a large investment early in the project, when it is by
no means certain that the designed functionality is actually desired by the
product owner. Any agile approach to large-scale development has to avoid the
reintroduction of the big design up front. One solution is to add planning
levels to incorporate a view {sidebar id=1} of ‘the whole.'
The certainty of undertaking activities addressed in each of the five levels increases as the planning horizon reduces from a year, to a quarter, and then to two weeks (see Figure 1). Therefore, the amount of detail addressed, the number of people involved, and the frequency of planning and design activities can increase without running the risk of spending money on features that may not be built or may be built differently.
Figure 1: Agile planning activities for large-scale development efforts Level 1 - Product Visioning
The broadest picture
that a person can paint of the future is the product vision. In this vision,
the product owner explains what an organization or product should look like
after the project finishes. She indicates what parts of the system need to
change (establishing priority) and what efforts can be used to achieve this
goal (establishing estimates and commitments).
The delivery team, on the other hand, will:
The creation of the
roadmap is largely driven by the product owner in a single meeting or a series
of meetings. This can be done, quite literally, through a graphical
representation of the releases, or more formally in a written document
outlining dates, contents, and objectives of the foreseen releases.
In small projects, the
product backlog alone can provide enough project overview. The size, duration
and deliverables are easily recognized, and there is no need to synchronize or
group deliverables or teams. All of this changes when applying agile concepts
to programs. The first moment to start grouping activities and allocating them
to teams occurs during release planning.
A release is defined at
the system or program level, usually in product owner vocabulary. The release
theme, release date, and prioritized features together form a release as defined
by the product owner. When releases are seen in the perspective of the roadmap,
the highest level of visibility and confidence are in the current and next
release. Near-term releases have more detail in the feature descriptions and have
smaller individual features. A release can stretch over six to nine months,
although two to four months is more common.
For each iteration
within the release, a planning session takes place to add detail and increase
accuracy. Before or during the session, detail is added to the features by
decomposing them into tasks. The actual capacity of the individual teams is
known with more certainty than during the release planning session. The
combination of these increased accuracies helps the team commit to delivering a
number of features during the iteration with a high degree of certainty.
The results of the
individual teams are inspected in a joined session to determine dependencies
(or the disappearance of them) that were not seen during the release planning
session.
The principle of a
coordinating stand-up meeting can be repeated to address large numbers of teams
where representatives of ‘teams of teams' report on the progress of the ‘teams
of teams.' These meetings typically coordinate efforts of teams that have no
common ground. For example, all the IT delivery teams have a daily coordinating
stand-up, as do the training teams, finance teams, pre-production teams, and so
on. On a weekly schedule (or daily if it is late in the release cycle),
representatives of each team meet to report progress, plans and impediments. About the author With more than 20 years of software project management and IT expertise, Hubert has helped hundreds of software team members successfully transition dozens of projects to agile and lean practices. In doing so, he has also coached the executive management teams who must deliver business value through their teams' agile adoption. Born in the Netherlands, Hubert is an Agile Coach for Rally Software, a Certified Scrum Trainer and a frequent speaker at industry events.
[1] Moore & McKenna, "Crossing the Chasm," Capstone Publishing, 1999. [2] Highsmith, "Agile Project Management," Addison-Wesley, 2004. [3] Tabaka, "Collaboration Explained," Addison Wesley, 2006.
Set as favorite
Bookmark
Email this
Hits: 13169 Comments (1)
|
| < Prev | Next > |
|---|
Agile Marketplace - Announcements and Special Offers
White Paper: Code Review IS an Agile Process!
Peer code review is one of the most effective ways to improve Software Quality – but is it Agile? Done correctly, it absolutely is. This white paper tells you how.
Download Today!
Virtual Conference: Collabnet Agile ALM
Stay current by attending CollabNet’s virtual conference, Agile ALM for Distributed Development, Thursday, April 15, from 7:30 am to 3:30 pm PDT. Free registration.
Register Today!
Webcast: Moving Build and Code Quality Upstream
This interactive panel discussion moderated by Bob Aiello, Editor-in-Chief fo the CM Journal brings industry experts Anders Wallgren, CTO of Electric Cloud and Gwyn Fisher, CTO of Klocwork together for a candid discussion of the cost savings, productivity and quality benefits that can be achieved by stabilizing builds and code quality as early in the development cycle as possible.
Register Now!
Collabnet -TeamForge 5.3
CollabNet TeamForge 5.3 includes Dynamic Planning—providing flexibility to model release scope and timeline in a single view. Now, you can easily manipulate/adjust release data.
Download Your Free Trial
Requirements-based testing (RBT) can help to ensure comprehensive test coverage, reducing the risk of failure and improving software quality. This white paper details how application lifecycle management can be used to more effectively implement RBT processes, offering greater collaboration, traceability and control.can help you increase efficiency, reduce project risk, and improve overall software quality. Learn how MKS Integrity for application lifecycle management enables RBT, delivering full lifecycle traceability to help ensure that project requirements have complete test planning and execution coverage.
Download the Requirements-Based Testing whitepaper
PureCM –SCM for Agile Teams
PureCM helps you to manage development in short iterations: keeping track of changes, supporting automated builds and preserving frequent snapshots of your projects.
Get the free trial now


