SlideShare a Scribd company logo
1 of 23
Agile in Practice
An Agile Success
Story
February 2012
2
Agile in Practice - An Agile Success Story
Contents
Overview
1
Why
Agile
2
How
We
Did
Agile
4
SCRUM-­‐derived
Model
4
Distributed
Teams
5
Planning
6
Execution
7
Documentation
7
Reporting
8
Lessons
Learned
11
What
Worked
11
What
We
Could
Have
Done
Better
11
1 Agile in Practice - An Agile Success Story
Overview
Our client serves about 10,000 clients worldwide. Their aging
platform was
proving to be inefficient, difficult and expensive to adapt to the
changing needs of
their clients.
In August 2010 our client asked Deloitte Consulting (DC) to
help drive an effort to
create a new global platform to offer portal, collaboration and
document
management capabilities.
Many of the requirements for this new solution were above and
beyond what the
selected platform, Microsoft SharePoint 2010 (SP), had to offer.
To make matters
more complex, the expected number of combinations of clients,
locations,
application modules and individual functionalities quickly grew
into the
thousands. Moreover, our client had little experience embarking
into an
enterprise like this one.
16 months and 11 releases later our top-talented DC team
completed a solution
that exceeded our client's expectations. Each release delivered
working
software, showing the team's progress and giving our client the
opportunity to
adjust requirements and design as needed. Each release was
delivered on time
and under budget, every time!
This document explains why we chose an agile life cycle model
for this project,
how we implemented it and what lessons we learned, so other
DC teams can
benefit from our experiences1.
1 For more information on Agile methodologies, please see the
“Agile Development POV”
available on KX
2
Why Agile
Like many other large-scale projects, the first couple of months
were mostly
dedicated to establish the overall vision, business case and
define high-level
business requirements for the solution. We started off with a
traditional waterfall
Software Development Life Cycle (SDLC) approach; given the
strong emphasis
of our established methods (Playbook) and for the need for a
tight control over
scope and budget, it seemed an adequate decision at the time.
The original concepts for the solution were vaguely defined so
we needed a way
to make them concrete through continuous refinement iterations
with our client.
By the end of January 2011, requirements and design work
started to pile up and
our initial attempts to prototype some of these concepts were
not working well.
The interactions between the client and DC teams took too long
to get from
concept to requirements to prototype and back again. It was
clear we had to
make important adjustments to our process to make this work.
The project was tightly constrained on resources, tools and
budget; surprisingly
timeline was not very solid. There was a vague expectation on
when to deliver a
first working release and since scope kept changing every
month, it became
more of a balancing act between the DC Project Management
(PM) and the
project owner from the client side to prioritize scope based on
real business
drivers.
Interestingly, the project owner was very involved in every
aspect and decision of
the project. He was very receptive to new ideas on how to
improve the process
so teams could be more effective and efficient with the
resources we had
available. He also understood how to partition the scope and
budget into multiple
releases and negotiate that with the project steering committee.
Figure 1 – Paradigm Shift
Opposite approaches driven by different needs
The transition to Agile was
made possible in great part
thanks to the deep involvement
of the business side and their
flexibility to adopt a new, more
efficient lifecycle for this
project
3 Agile in Practice - An Agile Success Story
These factors were key for the adoption of an agile SDLC.
However, given
project constraints, we had to do this in a very "creative" way,
to minimize
disruption and the learning curve required. At the time, nobody
in our teams had
been certified on any agile methodologies, only a few of us had
some experience
with them, and the supporting DC tools available for agile
delivery were not very
helpful either.
The transition to agile didn't happen overnight. It took 3
months, from February to
April, to evolve our processes to have repeatable release cycles.
During this time
our team was busy creating all the frameworks and tooling
required to get us to a
consistent release cycle.
SP based solutions tend to be easy to "prototype on the go", but
we had to
actually build each iteration with our custom process rather than
the standard SP
tools, otherwise we'd face an unmanageable number of artifacts
to redo later on,
"pay me now or pay me later" sort of scenario.
From May to December our team got into the rhythm of
delivering working
releases about every 4 weeks. Each release was fully working
software with the
features planned for that release. Our client was able to provide
very specific
feedback on what was built instead of looking at prototypes. It
was clear our
decision to move to an Agile SDLC had paid off.
We adopted agile incrementally
to minimize project disruption,
we evolve our process while
keeping the project going
4
How We Did Agile
We implemented agile incrementally. Our toolbox and the
experience of teams
were limited; we could not afford a "big-bang" approach and we
had to use what
we had available and make it work. The first decision was
selecting what agile
method to use. We chose to use a modified version of SCRUM.
We also had to
deal with having team members geographically distributed.
Then we had to
define how to plan, execute and report each sprint.
SCRUM-derived Model
We used a derived version of SCRUM to fit our project needs
and timeline.
Terminology changed a bit but the concepts were very close.
For instance,
instead of Releases we used Versions and instead of Sprints we
used Releases,
terms our client was more comfortable with.
Figure 2 – Standard SCRUM vs. Our Project Terminology
Different names, same concepts
There were other subtle differences throughout the SCRUM
lifecycle. Instead of
user stories we had a combination of UI wireframes and
requirements and our
Product Backlog was composed of features, not user stories.
Figure 3 – SCRUM Lifecycle for the Project
From requirements to working software in every release
5 Agile in Practice - An Agile Success Story
Distributed Teams
At the beginning of the project we tried to use offshore
resources to keep costs
down. However, given the highly iterative nature of the project
and the ever-
evolving requirements, it became very clear this model wouldn't
work, so we
switch to an onshore model. Back in February we needed to
augment our
functional team again, but we couldn't find any BTA-level
resources available in
the USA, so we had to explore other alternatives. After some
searching we found
2 very talented resources in our Mexico City practice. Later we
added 2 other
great resources from our US Federal Consulting practice to our
.Net
development team.
As the team grew it became very inefficient to co-locate every
week. Travel
became hectic as we were flying team members from all over
the place to work
with our client. Travel was impacting our productivity so we
decided to start co-
locating less frequently. We saw how our productivity improved
without impacting
our client. This also boosted the morale of our team as we got
great work-life-
balance. Co-locations became more an opportunity to interact
with our client,
demo each release and plan the next one. Sometimes we co-
located just
selected members of our team, to work on focused aspects of the
solution.
We were able to leverage the Internet to stay productive while
keeping our
project expenses very low. We used Communicator (now Lync)
extensively to
have our stand up calls, review design and code artifacts, debug
code, discuss
project issues and have our weekly status calls with the client.
We used Virtual Machines (VM) provided by the client, one for
each member of
our team (plus additional ones for other staging environments).
The main
benefits of this approach were:
• VM images were quickly created for us (usually less than 5’)
• We were able to access these VMs from any point
• The client provided us with excellent support to snapshot and
backup any VM
• VMs were easily disposable when no longer needed
• We had individual VMs to support different server roles, such
as source control
(Team Foundation Server - TFS), PM team site, staging
environments, etc.
The team was able to reduce
travel without impacting
visibility with the client,
resulting in increased
productivity and boosted team
moral
6
Planning
We built our Release Roadmap incrementally, listing the
features to be included
in the current release and estimating the next features
throughout subsequent
releases. We adjusted this roadmap with every release. As the
list of features
stabilized it was easier to pin down production timeline.
Figure 4 – Release Roadmap
Major features outlined by release
Planning each release was done during the week we co-located.
This way we
had the entire team available to assess which features to do
next, and to base
line our current workload and project priorities. We used Excel
to balance and
prioritize remaining features in our product backlog. We
validated the list of
features to include in each release with our client before
proceeding. Then we
detailed each feature as work items in our SP team site so each
member of our
team had specifics tasks to work on for the release in turn.
Features that could
not be commited were returned back to the Product Backlog to
be done in a later
release.
Figure 5 – Release (sprint) Planning
Selecting features for a given Release (sprint) and breaking
them into tasks
Our sprint planning selected
features from our product
backlog, starting with those
with the highest priority, and
split them into actual tasks
7 Agile in Practice - An Agile Success Story
Execution
Each release was about 4 weeks long in average. The first 3
weeks were
dedicated to work on the features planned for that release.
Development, testing
and bug fixes were almost continuous (although we didn’t
implement Continuous
Integration). Once we stabilized the release, we proceeded to
prepare for
deployment. The final week was dedicated to present the release
to our client,
gather feedback, restrospect on what worked and what could be
improved, and
to plan the next release.
Figure 6 – Executing a Release (sprint)
Staggered phases within each release
We co-located the team on the final week. We had every
member of our team
present the features they worked on for that release to our
client. This way each
member of our team got credit for their work, visibility and
interaction with client
top executives. Then we repeated the cycle all over again.
Some features were too complex (or we had little idea of how to
do them), so we
broke them down into one or more Proof of Concepts (PoC) to
have a chance to
test different alternatives. Each PoC was limited to 2 weeks. We
used a standard
format to structure and present each PoC (problem statement,
alternative
solutions, recommendations) so everything got properly
documented and our
client had an opportunity to decide which option would fit the
solution and
timeline best. Once a recommendation was accepted, we
committed it as a
feature in the next release.
Documentation
All our projects commit to some level of documentation as part
of our
deliverables to the client. Keeping documentation up to date is
typically a
challenge. Our project was not an exception. Given the fast pace
of each release
and the constraints on our team, we had to make some
documents smarter
rather than static, especially design documents (functional and
technical)2.
2 All infrastructure work and specifications were done by the
client
Smartdocs helped keeping our
functional and technical
specifications up-to-date while
minimizing the need for rework
8
We used the following practices to keep these documents as
dynamic as
possible and to reduce the level of maintenance on them as
changes occured:
• Some documents, such as SP list definitions, where both
documents and tools,
so we could generate XML content with them and document the
actual list
schema, using the same artifact
• Functional specifications where very user-oriented and didn’t
include any
reference to requirements, rather features, which usually
grouped more
detailed requirements
• Each technical specification was more a set of documents. We
used smart-
docs out of code (enforced by code authoring tools), class
diagrams were
reversed engineered from code and kept in Visual Studio (VS),
data models
were produced with and kept in VS, and the rest of the technical
specification
(less volatile content) was done in a Word document
Reporting
We combined the tools at our disposal (Excel, SP team site and
TFS) to
document all project artifacts and to generate our progress
reports on demand.
This was the first project where most of us didn't need to spend
any cycles
creating weekly status reports. All pertinent project information
was available at
all times.
Our SP team site was our PM tool where we managed the
following lists using
Out of the Box (OOB) SP functionality (we kept our documents
and solution
artifacts in TFS):
• Project issues
• Risks
• Key Decisions
• Work items (tasks)
• Change requests
• Assumptions
• Team calendar
• Contacts list
9 Agile in Practice - An Agile Success Story
Figure 7 – PM Dashboard
Project information was readily available in our project SP team
site
We generated our progress reports using Excel Services based
charts, so we
could feed the charts with data from our different lists in the
team site (issues,
risks, work items, time and expenses budget/projections/actuals,
etc.). We
created SP pages to host these Excel charts to have an up-to-
date project
dashboard for the team or our client to access at any time.
Figure 8 – Progress Chart
Completed, In-Progress and Not-Started work items chart
10
Our team members updated the progress and status of the work
items assigned
to them every Thursday so on Fridays our PM team had to only
refresh the Excel
charts and prepare the agenda to discuss on the status calls with
our client on
Mondays. Our work items list became our project plan.
Figure 9 – Work Items by Release
Tracking our progress for each release
We also prepared a "release deck" for the week when we
presented to the client
at the end of each release. This deck had detailed information of
what was being
delivered for that release, including:
• Updated release roadmap
• Progress charts (bugs and work items)
• List of demos to be presented
• Key areas of concern (for subsequent releases)
11 Agile in Practice - An Agile Success Story
Lessons Learned
In terms of adopting an agile SDLC, here’s what worked for us,
and what we
could have done better:
What Worked
Although we used a modified version of SCRUM, we found the
end results highly
contrasted those from other projects. In the end, we managed to
deliver every
release (or sprint) on time and under budget, exceeding our
client’s expectations
every time. Here are the key areas that worked for us:
• Top talented, self-driven individuals: This was key to drive a
program like this
without any lag
• Knowledgeable, practical client: The flexibility and
experience of the project
owner was key to the successful adoption of agile
• Quality-driven team: Agile does promote quality through the
embracing of
change. Our team understood that and drove every effort
through top quality
standards
• Combined remote/co-located schedule: This improved our
productivity without
affecting progress or visibility with our client, and made a big
difference in
terms of work-life-balance
• Smartdocs for design specifications: This helped minimize
rework while the
solution evolved
What We Could Have Done Better
It’s hard to argue with results. However there were other areas
we definitively
recommend to plan better, including:
• Allocate time to train your client: Agile is not for every
project and it does
require a level of adoption so your client understands what’s the
required level
of involvement, how the project should be structured and funded
• Make pervasive use of automated Unit Testing (UT): This
helps different tools
to generate all kinds of quality metrics, and is key to support
Continuous
Integration (CI)
• Implement an Application Lifecycle Management (ALM)
solution: For projects
based on the MS platform, leverage tools like TFS to enable
requirements
traceability, work item tracking, reporting, integrated test and
build support.
Multiple reports are readily available generated so project
health is visible at all
times (without teams needing to spend additional cycles to
create them) as
shown in the samples below:
An ALM solution centralizes
all pertinent project
information and facilitates
tracking progress and overall
project health on demand
12
Figure 10 – Additional Reporting Benefits of an ALM solution
Tracking team capacity
Tracking team progress
13 Agile in Practice - An Agile Success Story
Tracking additional project indicators (testing, builds, etc.)
14
About the Authors
Javier Becerril ([email protected])
Javier is a Specialist Leader in our Technology Systems
Integration service line
based out of our Costa Mesa office in California. He's a senior
advisor to many of
our clients, leading architecture work for .Net and SharePoint
based solutions.
He also leads the Microsoft and Agile Communities of Practice
in the firm. During
the engagement, Javier led the Deloitte Consulting team,
including all aspects of
the PMO, SDLC and architecture work.
Angel Garcia ([email protected])
Angel is a Manager in the Technology practice based in the
Madrid office in
Spain. During the engagement, Angel managed the Deloitte
Consulting team and
led the functional definition of the solution, including the
development of our
custom process to define SP artifacts.
This publication contains general information only and is based
on the experiences and research of
Deloitte practitioners. Deloitte is not, by means of this
publication, rendering business, financial,
investment, or other professional advice or services. This
publication is not a substitute for such
professional advice or services, nor should it be used as a basis
for any decision or action that may
affect your business. Before making any decision or taking any
action that may affect your business,
you should consult a qualified professional advisor. Deloitte, its
affiliates, and related entities shall not
be responsible for any loss sustained by any person who relies
on this publication.
As used in this document, “Deloitte” means Deloitte Consulting
LLP, a subsidiary of Deloitte LLP.
Please see www.deloitte.com/us/about for a detailed description
of the legal structure of Deloitte LLP
and its subsidiaries.
Copyright © 2012 Deloitte Development LLC, All rights
reserved.
Agile in Practice  An Agile Success Story February 2.docx

More Related Content

Similar to Agile in Practice An Agile Success Story February 2.docx

Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxPerumalPitchandi
 
Delivering beautiful software & web products efficiently 2022_Sep.pdf
Delivering beautiful software & web products efficiently 2022_Sep.pdfDelivering beautiful software & web products efficiently 2022_Sep.pdf
Delivering beautiful software & web products efficiently 2022_Sep.pdfLaSoft
 
TDWI STL 20140613 Agile - Paul Holway
TDWI STL 20140613 Agile - Paul HolwayTDWI STL 20140613 Agile - Paul Holway
TDWI STL 20140613 Agile - Paul HolwayTDWI St. Louis
 
HanoiScrum: Agile co-exists with Waterfall
 HanoiScrum: Agile co-exists with Waterfall HanoiScrum: Agile co-exists with Waterfall
HanoiScrum: Agile co-exists with WaterfallVu Hung Nguyen
 
Applying both of waterfall and iterative development
Applying both of waterfall and iterative developmentApplying both of waterfall and iterative development
Applying both of waterfall and iterative developmentDeny Prasetia
 
Presentation by saurabh chandra
Presentation by saurabh chandraPresentation by saurabh chandra
Presentation by saurabh chandraPMI_IREP_TP
 
Doing agile with an ISO-20000 Telco (AgilePT 2015)
Doing agile with an ISO-20000 Telco (AgilePT 2015)Doing agile with an ISO-20000 Telco (AgilePT 2015)
Doing agile with an ISO-20000 Telco (AgilePT 2015)Manuel Padilha
 
Making Work Product-Centric: A Journey at Nationwide Insurance | Tasktop Conn...
Making Work Product-Centric: A Journey at Nationwide Insurance | Tasktop Conn...Making Work Product-Centric: A Journey at Nationwide Insurance | Tasktop Conn...
Making Work Product-Centric: A Journey at Nationwide Insurance | Tasktop Conn...Tasktop
 
Agile Delivery Methods And Leadership
Agile Delivery Methods And LeadershipAgile Delivery Methods And Leadership
Agile Delivery Methods And LeadershipRanjith Varghese
 
AGILE PROJECT MANAGEMENT NOTES.docx
AGILE PROJECT MANAGEMENT NOTES.docxAGILE PROJECT MANAGEMENT NOTES.docx
AGILE PROJECT MANAGEMENT NOTES.docxVardha Mago
 
about start up for you 12
about start up for you 12about start up for you 12
about start up for you 12aliaalistartup
 
The Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayThe Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayHeidi Owens
 
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationScaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationChef
 
Custom mobile application development
Custom mobile application developmentCustom mobile application development
Custom mobile application developmentKeven Thibeault
 
What is this thing called Agile?
What is this thing called Agile?What is this thing called Agile?
What is this thing called Agile?John Goodpasture
 
The Importance of Agile Methodology in Software Development
The Importance of Agile Methodology in Software Development The Importance of Agile Methodology in Software Development
The Importance of Agile Methodology in Software Development ultroNeous Technologies
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfCuneiform Consulting Pvt Ltd.
 
Agile Software Development Meets Corporate Deployment Procedures: Stretching ...
Agile Software Development Meets Corporate Deployment Procedures: Stretching ...Agile Software Development Meets Corporate Deployment Procedures: Stretching ...
Agile Software Development Meets Corporate Deployment Procedures: Stretching ...David Leip
 

Similar to Agile in Practice An Agile Success Story February 2.docx (20)

Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptx
 
Delivering beautiful software & web products efficiently 2022_Sep.pdf
Delivering beautiful software & web products efficiently 2022_Sep.pdfDelivering beautiful software & web products efficiently 2022_Sep.pdf
Delivering beautiful software & web products efficiently 2022_Sep.pdf
 
TDWI STL 20140613 Agile - Paul Holway
TDWI STL 20140613 Agile - Paul HolwayTDWI STL 20140613 Agile - Paul Holway
TDWI STL 20140613 Agile - Paul Holway
 
HanoiScrum: Agile co-exists with Waterfall
 HanoiScrum: Agile co-exists with Waterfall HanoiScrum: Agile co-exists with Waterfall
HanoiScrum: Agile co-exists with Waterfall
 
Applying both of waterfall and iterative development
Applying both of waterfall and iterative developmentApplying both of waterfall and iterative development
Applying both of waterfall and iterative development
 
Presentation by saurabh chandra
Presentation by saurabh chandraPresentation by saurabh chandra
Presentation by saurabh chandra
 
Doing agile with an ISO-20000 Telco (AgilePT 2015)
Doing agile with an ISO-20000 Telco (AgilePT 2015)Doing agile with an ISO-20000 Telco (AgilePT 2015)
Doing agile with an ISO-20000 Telco (AgilePT 2015)
 
Making Work Product-Centric: A Journey at Nationwide Insurance | Tasktop Conn...
Making Work Product-Centric: A Journey at Nationwide Insurance | Tasktop Conn...Making Work Product-Centric: A Journey at Nationwide Insurance | Tasktop Conn...
Making Work Product-Centric: A Journey at Nationwide Insurance | Tasktop Conn...
 
Agile Delivery Methods And Leadership
Agile Delivery Methods And LeadershipAgile Delivery Methods And Leadership
Agile Delivery Methods And Leadership
 
AGILE PROJECT MANAGEMENT NOTES.docx
AGILE PROJECT MANAGEMENT NOTES.docxAGILE PROJECT MANAGEMENT NOTES.docx
AGILE PROJECT MANAGEMENT NOTES.docx
 
about start up for you 12
about start up for you 12about start up for you 12
about start up for you 12
 
Innovate session-2333
Innovate session-2333Innovate session-2333
Innovate session-2333
 
The Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayThe Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool Essay
 
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationScaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
 
Custom mobile application development
Custom mobile application developmentCustom mobile application development
Custom mobile application development
 
What is this thing called Agile?
What is this thing called Agile?What is this thing called Agile?
What is this thing called Agile?
 
Project Management
Project ManagementProject Management
Project Management
 
The Importance of Agile Methodology in Software Development
The Importance of Agile Methodology in Software Development The Importance of Agile Methodology in Software Development
The Importance of Agile Methodology in Software Development
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
 
Agile Software Development Meets Corporate Deployment Procedures: Stretching ...
Agile Software Development Meets Corporate Deployment Procedures: Stretching ...Agile Software Development Meets Corporate Deployment Procedures: Stretching ...
Agile Software Development Meets Corporate Deployment Procedures: Stretching ...
 

More from simonlbentley59018

Allison RogersProfessor KoenigCOMM 3313October 12th, 2018H.docx
Allison RogersProfessor KoenigCOMM 3313October 12th, 2018H.docxAllison RogersProfessor KoenigCOMM 3313October 12th, 2018H.docx
Allison RogersProfessor KoenigCOMM 3313October 12th, 2018H.docxsimonlbentley59018
 
Allen 1Kiah AllenProfessor HirschENG1018 Feb. 2018Defo.docx
Allen 1Kiah AllenProfessor HirschENG1018 Feb. 2018Defo.docxAllen 1Kiah AllenProfessor HirschENG1018 Feb. 2018Defo.docx
Allen 1Kiah AllenProfessor HirschENG1018 Feb. 2018Defo.docxsimonlbentley59018
 
All workings, when appropriate, must be shown to substantiate your.docx
All workings, when appropriate, must be shown to substantiate your.docxAll workings, when appropriate, must be shown to substantiate your.docx
All workings, when appropriate, must be shown to substantiate your.docxsimonlbentley59018
 
All yellow highlight is missing answer, please answer all of t.docx
All yellow highlight is missing answer, please answer all of t.docxAll yellow highlight is missing answer, please answer all of t.docx
All yellow highlight is missing answer, please answer all of t.docxsimonlbentley59018
 
All models are wrong. Some models are useful.—George E. P. B.docx
All models are wrong. Some models are useful.—George E. P. B.docxAll models are wrong. Some models are useful.—George E. P. B.docx
All models are wrong. Some models are useful.—George E. P. B.docxsimonlbentley59018
 
allclasses-frame.htmlAll ClassesAIBoardPlacementRandomModeRotati.docx
allclasses-frame.htmlAll ClassesAIBoardPlacementRandomModeRotati.docxallclasses-frame.htmlAll ClassesAIBoardPlacementRandomModeRotati.docx
allclasses-frame.htmlAll ClassesAIBoardPlacementRandomModeRotati.docxsimonlbentley59018
 
ALL WORK MUST BE ORIGINAL, CITED, IN APA FORMAT & WILL BE SUBMITTED .docx
ALL WORK MUST BE ORIGINAL, CITED, IN APA FORMAT & WILL BE SUBMITTED .docxALL WORK MUST BE ORIGINAL, CITED, IN APA FORMAT & WILL BE SUBMITTED .docx
ALL WORK MUST BE ORIGINAL, CITED, IN APA FORMAT & WILL BE SUBMITTED .docxsimonlbentley59018
 
ALL WORK MUST BE ORIGINAL, CITED IN APA FORMAT AND WILL BE SUBMITTED.docx
ALL WORK MUST BE ORIGINAL, CITED IN APA FORMAT AND WILL BE SUBMITTED.docxALL WORK MUST BE ORIGINAL, CITED IN APA FORMAT AND WILL BE SUBMITTED.docx
ALL WORK MUST BE ORIGINAL, CITED IN APA FORMAT AND WILL BE SUBMITTED.docxsimonlbentley59018
 
All views expressed in this paper are those of the authors a.docx
All views expressed in this paper are those of the authors a.docxAll views expressed in this paper are those of the authors a.docx
All views expressed in this paper are those of the authors a.docxsimonlbentley59018
 
All Wet! Legacy of Juniper Utility has residents stewingBy Eri.docx
All Wet! Legacy of Juniper Utility has residents stewingBy Eri.docxAll Wet! Legacy of Juniper Utility has residents stewingBy Eri.docx
All Wet! Legacy of Juniper Utility has residents stewingBy Eri.docxsimonlbentley59018
 
All three of the Aristotle, Hobbes, and Douglass readings discussed .docx
All three of the Aristotle, Hobbes, and Douglass readings discussed .docxAll three of the Aristotle, Hobbes, and Douglass readings discussed .docx
All three of the Aristotle, Hobbes, and Douglass readings discussed .docxsimonlbentley59018
 
All rights reserved. No part of this report, including t.docx
All rights reserved. No part of this report, including t.docxAll rights reserved. No part of this report, including t.docx
All rights reserved. No part of this report, including t.docxsimonlbentley59018
 
All PrinciplesEvidence on Persuasion Principles This provides som.docx
All PrinciplesEvidence on Persuasion Principles This provides som.docxAll PrinciplesEvidence on Persuasion Principles This provides som.docx
All PrinciplesEvidence on Persuasion Principles This provides som.docxsimonlbentley59018
 
All papers may be subject to submission for textual similarity revie.docx
All papers may be subject to submission for textual similarity revie.docxAll papers may be subject to submission for textual similarity revie.docx
All papers may be subject to submission for textual similarity revie.docxsimonlbentley59018
 
All of us live near some major industry. Describe the history of an .docx
All of us live near some major industry. Describe the history of an .docxAll of us live near some major industry. Describe the history of an .docx
All of us live near some major industry. Describe the history of an .docxsimonlbentley59018
 
All of Us Research Program—Protocol v1.12 IRB Approval Dat.docx
All of Us Research Program—Protocol v1.12 IRB Approval Dat.docxAll of Us Research Program—Protocol v1.12 IRB Approval Dat.docx
All of Us Research Program—Protocol v1.12 IRB Approval Dat.docxsimonlbentley59018
 
All participants must read the following article ATTACHED Agwu.docx
All participants must read the following article ATTACHED Agwu.docxAll participants must read the following article ATTACHED Agwu.docx
All participants must read the following article ATTACHED Agwu.docxsimonlbentley59018
 
ALL of the requirements are contained in the attached document.  T.docx
ALL of the requirements are contained in the attached document.  T.docxALL of the requirements are contained in the attached document.  T.docx
ALL of the requirements are contained in the attached document.  T.docxsimonlbentley59018
 
All five honorees cared greatly about the success of Capella lea.docx
All five honorees cared greatly about the success of Capella lea.docxAll five honorees cared greatly about the success of Capella lea.docx
All five honorees cared greatly about the success of Capella lea.docxsimonlbentley59018
 
All of the instructions will be given to you in a document. One docu.docx
All of the instructions will be given to you in a document. One docu.docxAll of the instructions will be given to you in a document. One docu.docx
All of the instructions will be given to you in a document. One docu.docxsimonlbentley59018
 

More from simonlbentley59018 (20)

Allison RogersProfessor KoenigCOMM 3313October 12th, 2018H.docx
Allison RogersProfessor KoenigCOMM 3313October 12th, 2018H.docxAllison RogersProfessor KoenigCOMM 3313October 12th, 2018H.docx
Allison RogersProfessor KoenigCOMM 3313October 12th, 2018H.docx
 
Allen 1Kiah AllenProfessor HirschENG1018 Feb. 2018Defo.docx
Allen 1Kiah AllenProfessor HirschENG1018 Feb. 2018Defo.docxAllen 1Kiah AllenProfessor HirschENG1018 Feb. 2018Defo.docx
Allen 1Kiah AllenProfessor HirschENG1018 Feb. 2018Defo.docx
 
All workings, when appropriate, must be shown to substantiate your.docx
All workings, when appropriate, must be shown to substantiate your.docxAll workings, when appropriate, must be shown to substantiate your.docx
All workings, when appropriate, must be shown to substantiate your.docx
 
All yellow highlight is missing answer, please answer all of t.docx
All yellow highlight is missing answer, please answer all of t.docxAll yellow highlight is missing answer, please answer all of t.docx
All yellow highlight is missing answer, please answer all of t.docx
 
All models are wrong. Some models are useful.—George E. P. B.docx
All models are wrong. Some models are useful.—George E. P. B.docxAll models are wrong. Some models are useful.—George E. P. B.docx
All models are wrong. Some models are useful.—George E. P. B.docx
 
allclasses-frame.htmlAll ClassesAIBoardPlacementRandomModeRotati.docx
allclasses-frame.htmlAll ClassesAIBoardPlacementRandomModeRotati.docxallclasses-frame.htmlAll ClassesAIBoardPlacementRandomModeRotati.docx
allclasses-frame.htmlAll ClassesAIBoardPlacementRandomModeRotati.docx
 
ALL WORK MUST BE ORIGINAL, CITED, IN APA FORMAT & WILL BE SUBMITTED .docx
ALL WORK MUST BE ORIGINAL, CITED, IN APA FORMAT & WILL BE SUBMITTED .docxALL WORK MUST BE ORIGINAL, CITED, IN APA FORMAT & WILL BE SUBMITTED .docx
ALL WORK MUST BE ORIGINAL, CITED, IN APA FORMAT & WILL BE SUBMITTED .docx
 
ALL WORK MUST BE ORIGINAL, CITED IN APA FORMAT AND WILL BE SUBMITTED.docx
ALL WORK MUST BE ORIGINAL, CITED IN APA FORMAT AND WILL BE SUBMITTED.docxALL WORK MUST BE ORIGINAL, CITED IN APA FORMAT AND WILL BE SUBMITTED.docx
ALL WORK MUST BE ORIGINAL, CITED IN APA FORMAT AND WILL BE SUBMITTED.docx
 
All views expressed in this paper are those of the authors a.docx
All views expressed in this paper are those of the authors a.docxAll views expressed in this paper are those of the authors a.docx
All views expressed in this paper are those of the authors a.docx
 
All Wet! Legacy of Juniper Utility has residents stewingBy Eri.docx
All Wet! Legacy of Juniper Utility has residents stewingBy Eri.docxAll Wet! Legacy of Juniper Utility has residents stewingBy Eri.docx
All Wet! Legacy of Juniper Utility has residents stewingBy Eri.docx
 
All three of the Aristotle, Hobbes, and Douglass readings discussed .docx
All three of the Aristotle, Hobbes, and Douglass readings discussed .docxAll three of the Aristotle, Hobbes, and Douglass readings discussed .docx
All three of the Aristotle, Hobbes, and Douglass readings discussed .docx
 
All rights reserved. No part of this report, including t.docx
All rights reserved. No part of this report, including t.docxAll rights reserved. No part of this report, including t.docx
All rights reserved. No part of this report, including t.docx
 
All PrinciplesEvidence on Persuasion Principles This provides som.docx
All PrinciplesEvidence on Persuasion Principles This provides som.docxAll PrinciplesEvidence on Persuasion Principles This provides som.docx
All PrinciplesEvidence on Persuasion Principles This provides som.docx
 
All papers may be subject to submission for textual similarity revie.docx
All papers may be subject to submission for textual similarity revie.docxAll papers may be subject to submission for textual similarity revie.docx
All papers may be subject to submission for textual similarity revie.docx
 
All of us live near some major industry. Describe the history of an .docx
All of us live near some major industry. Describe the history of an .docxAll of us live near some major industry. Describe the history of an .docx
All of us live near some major industry. Describe the history of an .docx
 
All of Us Research Program—Protocol v1.12 IRB Approval Dat.docx
All of Us Research Program—Protocol v1.12 IRB Approval Dat.docxAll of Us Research Program—Protocol v1.12 IRB Approval Dat.docx
All of Us Research Program—Protocol v1.12 IRB Approval Dat.docx
 
All participants must read the following article ATTACHED Agwu.docx
All participants must read the following article ATTACHED Agwu.docxAll participants must read the following article ATTACHED Agwu.docx
All participants must read the following article ATTACHED Agwu.docx
 
ALL of the requirements are contained in the attached document.  T.docx
ALL of the requirements are contained in the attached document.  T.docxALL of the requirements are contained in the attached document.  T.docx
ALL of the requirements are contained in the attached document.  T.docx
 
All five honorees cared greatly about the success of Capella lea.docx
All five honorees cared greatly about the success of Capella lea.docxAll five honorees cared greatly about the success of Capella lea.docx
All five honorees cared greatly about the success of Capella lea.docx
 
All of the instructions will be given to you in a document. One docu.docx
All of the instructions will be given to you in a document. One docu.docxAll of the instructions will be given to you in a document. One docu.docx
All of the instructions will be given to you in a document. One docu.docx
 

Recently uploaded

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 

Recently uploaded (20)

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 

Agile in Practice An Agile Success Story February 2.docx

  • 1. Agile in Practice An Agile Success Story February 2012 2 Agile in Practice - An Agile Success Story Contents Overview 1 Why Agile 2 How We Did Agile 4
  • 3. 11 1 Agile in Practice - An Agile Success Story Overview Our client serves about 10,000 clients worldwide. Their aging platform was proving to be inefficient, difficult and expensive to adapt to the changing needs of their clients. In August 2010 our client asked Deloitte Consulting (DC) to help drive an effort to create a new global platform to offer portal, collaboration and document management capabilities. Many of the requirements for this new solution were above and beyond what the selected platform, Microsoft SharePoint 2010 (SP), had to offer. To make matters more complex, the expected number of combinations of clients, locations, application modules and individual functionalities quickly grew into the thousands. Moreover, our client had little experience embarking
  • 4. into an enterprise like this one. 16 months and 11 releases later our top-talented DC team completed a solution that exceeded our client's expectations. Each release delivered working software, showing the team's progress and giving our client the opportunity to adjust requirements and design as needed. Each release was delivered on time and under budget, every time! This document explains why we chose an agile life cycle model for this project, how we implemented it and what lessons we learned, so other DC teams can benefit from our experiences1. 1 For more information on Agile methodologies, please see the “Agile Development POV” available on KX 2 Why Agile Like many other large-scale projects, the first couple of months were mostly dedicated to establish the overall vision, business case and
  • 5. define high-level business requirements for the solution. We started off with a traditional waterfall Software Development Life Cycle (SDLC) approach; given the strong emphasis of our established methods (Playbook) and for the need for a tight control over scope and budget, it seemed an adequate decision at the time. The original concepts for the solution were vaguely defined so we needed a way to make them concrete through continuous refinement iterations with our client. By the end of January 2011, requirements and design work started to pile up and our initial attempts to prototype some of these concepts were not working well. The interactions between the client and DC teams took too long to get from concept to requirements to prototype and back again. It was clear we had to make important adjustments to our process to make this work. The project was tightly constrained on resources, tools and budget; surprisingly timeline was not very solid. There was a vague expectation on when to deliver a first working release and since scope kept changing every month, it became more of a balancing act between the DC Project Management (PM) and the project owner from the client side to prioritize scope based on real business drivers. Interestingly, the project owner was very involved in every
  • 6. aspect and decision of the project. He was very receptive to new ideas on how to improve the process so teams could be more effective and efficient with the resources we had available. He also understood how to partition the scope and budget into multiple releases and negotiate that with the project steering committee. Figure 1 – Paradigm Shift Opposite approaches driven by different needs The transition to Agile was made possible in great part thanks to the deep involvement of the business side and their flexibility to adopt a new, more efficient lifecycle for this project 3 Agile in Practice - An Agile Success Story These factors were key for the adoption of an agile SDLC. However, given project constraints, we had to do this in a very "creative" way, to minimize disruption and the learning curve required. At the time, nobody in our teams had been certified on any agile methodologies, only a few of us had some experience with them, and the supporting DC tools available for agile
  • 7. delivery were not very helpful either. The transition to agile didn't happen overnight. It took 3 months, from February to April, to evolve our processes to have repeatable release cycles. During this time our team was busy creating all the frameworks and tooling required to get us to a consistent release cycle. SP based solutions tend to be easy to "prototype on the go", but we had to actually build each iteration with our custom process rather than the standard SP tools, otherwise we'd face an unmanageable number of artifacts to redo later on, "pay me now or pay me later" sort of scenario. From May to December our team got into the rhythm of delivering working releases about every 4 weeks. Each release was fully working software with the features planned for that release. Our client was able to provide very specific feedback on what was built instead of looking at prototypes. It was clear our decision to move to an Agile SDLC had paid off. We adopted agile incrementally to minimize project disruption, we evolve our process while keeping the project going
  • 8. 4 How We Did Agile We implemented agile incrementally. Our toolbox and the experience of teams were limited; we could not afford a "big-bang" approach and we had to use what we had available and make it work. The first decision was selecting what agile method to use. We chose to use a modified version of SCRUM. We also had to deal with having team members geographically distributed. Then we had to define how to plan, execute and report each sprint. SCRUM-derived Model We used a derived version of SCRUM to fit our project needs and timeline. Terminology changed a bit but the concepts were very close. For instance, instead of Releases we used Versions and instead of Sprints we used Releases, terms our client was more comfortable with. Figure 2 – Standard SCRUM vs. Our Project Terminology Different names, same concepts There were other subtle differences throughout the SCRUM lifecycle. Instead of user stories we had a combination of UI wireframes and requirements and our Product Backlog was composed of features, not user stories.
  • 9. Figure 3 – SCRUM Lifecycle for the Project From requirements to working software in every release 5 Agile in Practice - An Agile Success Story Distributed Teams At the beginning of the project we tried to use offshore resources to keep costs down. However, given the highly iterative nature of the project and the ever- evolving requirements, it became very clear this model wouldn't work, so we switch to an onshore model. Back in February we needed to augment our functional team again, but we couldn't find any BTA-level resources available in the USA, so we had to explore other alternatives. After some searching we found 2 very talented resources in our Mexico City practice. Later we added 2 other great resources from our US Federal Consulting practice to our .Net development team. As the team grew it became very inefficient to co-locate every week. Travel became hectic as we were flying team members from all over the place to work with our client. Travel was impacting our productivity so we
  • 10. decided to start co- locating less frequently. We saw how our productivity improved without impacting our client. This also boosted the morale of our team as we got great work-life- balance. Co-locations became more an opportunity to interact with our client, demo each release and plan the next one. Sometimes we co- located just selected members of our team, to work on focused aspects of the solution. We were able to leverage the Internet to stay productive while keeping our project expenses very low. We used Communicator (now Lync) extensively to have our stand up calls, review design and code artifacts, debug code, discuss project issues and have our weekly status calls with the client. We used Virtual Machines (VM) provided by the client, one for each member of our team (plus additional ones for other staging environments). The main benefits of this approach were: • VM images were quickly created for us (usually less than 5’) • We were able to access these VMs from any point • The client provided us with excellent support to snapshot and backup any VM • VMs were easily disposable when no longer needed • We had individual VMs to support different server roles, such
  • 11. as source control (Team Foundation Server - TFS), PM team site, staging environments, etc. The team was able to reduce travel without impacting visibility with the client, resulting in increased productivity and boosted team moral 6 Planning We built our Release Roadmap incrementally, listing the features to be included in the current release and estimating the next features throughout subsequent releases. We adjusted this roadmap with every release. As the list of features stabilized it was easier to pin down production timeline. Figure 4 – Release Roadmap Major features outlined by release Planning each release was done during the week we co-located. This way we had the entire team available to assess which features to do next, and to base line our current workload and project priorities. We used Excel
  • 12. to balance and prioritize remaining features in our product backlog. We validated the list of features to include in each release with our client before proceeding. Then we detailed each feature as work items in our SP team site so each member of our team had specifics tasks to work on for the release in turn. Features that could not be commited were returned back to the Product Backlog to be done in a later release. Figure 5 – Release (sprint) Planning Selecting features for a given Release (sprint) and breaking them into tasks Our sprint planning selected features from our product backlog, starting with those with the highest priority, and split them into actual tasks 7 Agile in Practice - An Agile Success Story Execution Each release was about 4 weeks long in average. The first 3 weeks were dedicated to work on the features planned for that release. Development, testing and bug fixes were almost continuous (although we didn’t implement Continuous
  • 13. Integration). Once we stabilized the release, we proceeded to prepare for deployment. The final week was dedicated to present the release to our client, gather feedback, restrospect on what worked and what could be improved, and to plan the next release. Figure 6 – Executing a Release (sprint) Staggered phases within each release We co-located the team on the final week. We had every member of our team present the features they worked on for that release to our client. This way each member of our team got credit for their work, visibility and interaction with client top executives. Then we repeated the cycle all over again. Some features were too complex (or we had little idea of how to do them), so we broke them down into one or more Proof of Concepts (PoC) to have a chance to test different alternatives. Each PoC was limited to 2 weeks. We used a standard format to structure and present each PoC (problem statement, alternative solutions, recommendations) so everything got properly documented and our client had an opportunity to decide which option would fit the solution and timeline best. Once a recommendation was accepted, we committed it as a feature in the next release.
  • 14. Documentation All our projects commit to some level of documentation as part of our deliverables to the client. Keeping documentation up to date is typically a challenge. Our project was not an exception. Given the fast pace of each release and the constraints on our team, we had to make some documents smarter rather than static, especially design documents (functional and technical)2. 2 All infrastructure work and specifications were done by the client Smartdocs helped keeping our functional and technical specifications up-to-date while minimizing the need for rework 8 We used the following practices to keep these documents as dynamic as possible and to reduce the level of maintenance on them as changes occured: • Some documents, such as SP list definitions, where both documents and tools, so we could generate XML content with them and document the
  • 15. actual list schema, using the same artifact • Functional specifications where very user-oriented and didn’t include any reference to requirements, rather features, which usually grouped more detailed requirements • Each technical specification was more a set of documents. We used smart- docs out of code (enforced by code authoring tools), class diagrams were reversed engineered from code and kept in Visual Studio (VS), data models were produced with and kept in VS, and the rest of the technical specification (less volatile content) was done in a Word document Reporting We combined the tools at our disposal (Excel, SP team site and TFS) to document all project artifacts and to generate our progress reports on demand. This was the first project where most of us didn't need to spend any cycles creating weekly status reports. All pertinent project information was available at all times. Our SP team site was our PM tool where we managed the following lists using Out of the Box (OOB) SP functionality (we kept our documents and solution artifacts in TFS):
  • 16. • Project issues • Risks • Key Decisions • Work items (tasks) • Change requests • Assumptions • Team calendar • Contacts list 9 Agile in Practice - An Agile Success Story Figure 7 – PM Dashboard Project information was readily available in our project SP team site We generated our progress reports using Excel Services based charts, so we could feed the charts with data from our different lists in the team site (issues, risks, work items, time and expenses budget/projections/actuals, etc.). We created SP pages to host these Excel charts to have an up-to-
  • 17. date project dashboard for the team or our client to access at any time. Figure 8 – Progress Chart Completed, In-Progress and Not-Started work items chart 10 Our team members updated the progress and status of the work items assigned to them every Thursday so on Fridays our PM team had to only refresh the Excel charts and prepare the agenda to discuss on the status calls with our client on Mondays. Our work items list became our project plan. Figure 9 – Work Items by Release Tracking our progress for each release We also prepared a "release deck" for the week when we presented to the client at the end of each release. This deck had detailed information of what was being delivered for that release, including: • Updated release roadmap • Progress charts (bugs and work items)
  • 18. • List of demos to be presented • Key areas of concern (for subsequent releases) 11 Agile in Practice - An Agile Success Story Lessons Learned In terms of adopting an agile SDLC, here’s what worked for us, and what we could have done better: What Worked Although we used a modified version of SCRUM, we found the end results highly contrasted those from other projects. In the end, we managed to deliver every release (or sprint) on time and under budget, exceeding our client’s expectations every time. Here are the key areas that worked for us: • Top talented, self-driven individuals: This was key to drive a program like this without any lag • Knowledgeable, practical client: The flexibility and experience of the project owner was key to the successful adoption of agile • Quality-driven team: Agile does promote quality through the embracing of
  • 19. change. Our team understood that and drove every effort through top quality standards • Combined remote/co-located schedule: This improved our productivity without affecting progress or visibility with our client, and made a big difference in terms of work-life-balance • Smartdocs for design specifications: This helped minimize rework while the solution evolved What We Could Have Done Better It’s hard to argue with results. However there were other areas we definitively recommend to plan better, including: • Allocate time to train your client: Agile is not for every project and it does require a level of adoption so your client understands what’s the required level of involvement, how the project should be structured and funded • Make pervasive use of automated Unit Testing (UT): This helps different tools to generate all kinds of quality metrics, and is key to support Continuous Integration (CI) • Implement an Application Lifecycle Management (ALM) solution: For projects based on the MS platform, leverage tools like TFS to enable requirements
  • 20. traceability, work item tracking, reporting, integrated test and build support. Multiple reports are readily available generated so project health is visible at all times (without teams needing to spend additional cycles to create them) as shown in the samples below: An ALM solution centralizes all pertinent project information and facilitates tracking progress and overall project health on demand 12 Figure 10 – Additional Reporting Benefits of an ALM solution Tracking team capacity Tracking team progress 13 Agile in Practice - An Agile Success Story Tracking additional project indicators (testing, builds, etc.)
  • 21. 14 About the Authors Javier Becerril ([email protected]) Javier is a Specialist Leader in our Technology Systems Integration service line based out of our Costa Mesa office in California. He's a senior advisor to many of our clients, leading architecture work for .Net and SharePoint based solutions. He also leads the Microsoft and Agile Communities of Practice in the firm. During the engagement, Javier led the Deloitte Consulting team, including all aspects of the PMO, SDLC and architecture work. Angel Garcia ([email protected]) Angel is a Manager in the Technology practice based in the Madrid office in Spain. During the engagement, Angel managed the Deloitte Consulting team and led the functional definition of the solution, including the development of our custom process to define SP artifacts.
  • 22. This publication contains general information only and is based on the experiences and research of Deloitte practitioners. Deloitte is not, by means of this publication, rendering business, financial, investment, or other professional advice or services. This publication is not a substitute for such professional advice or services, nor should it be used as a basis for any decision or action that may affect your business. Before making any decision or taking any action that may affect your business, you should consult a qualified professional advisor. Deloitte, its affiliates, and related entities shall not be responsible for any loss sustained by any person who relies on this publication. As used in this document, “Deloitte” means Deloitte Consulting LLP, a subsidiary of Deloitte LLP. Please see www.deloitte.com/us/about for a detailed description of the legal structure of Deloitte LLP and its subsidiaries. Copyright © 2012 Deloitte Development LLC, All rights reserved.