SlideShare a Scribd company logo
1 of 28
Distributed Agile Teams and
Alternative Contractual Forms
- What Works Best?
Greg Hutchings
GregoryHutchings@gmail.com
2
Distributed Agile Teams and Contractual Forms
About the author…
Greg Hutchings
I live in Paris and work for Valtech,
proposing, negotiating, managing and
living with large distributed agile projects.
I travel often to Bangalore and within
Europe. I am originally from the SF Bay
area, where I was a client partner for
ThoughtWorks, after spending years in
software product development.
I’ve been involved with software teams
since the early 80’s, and have been using
Agile and XP practices with teams formally
since 2003 and informally since the early
90’s.
3
Session outline
Distributed Agile Teams and Alternative Contractual Forms – What works best?
 Building and supporting contracts to engage large distributed Agile teams (30 min)
 In-depth Case Studies (30 min)
 Fixed-bid, T&M and pay for production contract alternatives (20 min)
 Discussion (10 min)
4
Building and supporting contracts
 Importance of the proposal
 Selecting and defining methods
 Types and structures of agile contracts
 Planning Releases, Iterations and Communication
 Client and Vendor Roles and Responsabilities
 Team organisation and roles
 Estimating functional and non-functional scope
 Alternative units for measuring software production
 Acceptance testing
 Warranties / Reversability
5
Distributed Agile proposal process
 Interest in doing distributed agile development is usually related to cost savings, or
time to market and enhanced capacity, and may focus on rates
 Most new large company clients I talk to have already have had an offshore
experience, often not very positive or with mixed results, and have some fear
 Quality, productivity, schedule and budget control are all key issues for a client
 Methodology, included Agile, is often of increased importance for a client when
working with an offshore vendor, and can help to address fears and concerns
 It is better to introduce offshore and onshore delivery staff early with a collaborative
approach, and to absolutely involve the delivery team in estimates and client
relationship building.
 After an understanding of the client’s needs is obtained – high level scope, time
frame and budget, and specific constraints, a proposal is prepared
 After the proposal is presented, reviewed, revised and agreed in concept, the
contractual development process begins
6
Selecting and defining methods in the contract
 In our proposals and contracts, we discuss Agile, Scrum, TDD, CI, and the
importance of collaboration; we incorporate lessons learned from prior projects
 Part of the Vendor role of developing business and ultimately writing and signing a
contract is to understand the key drivers, concerns and constraints of the client,
and another is to propose and coach success factors (agile adoption patterns)
 I discuss on-shore and off-shore roles, those that might be staffed by the Client and
by the Vendor – with enablement / delivery trade-offs and relative priority
 A key role to define at the client is an internal distributed agile champion – who
becomes elemental to the contract negotiation and project execution, and who often
becomes the Scrum Product Owner. This person should be able to travel.
 The relative importance of knowledge transfer, cost, time-to-market and scope are
important to clarify, allocate resources to and define acceptance of in the contract
 It is important for the proposal and then the contract to provide the team with time
to ramp-up, self-organize, perform an Iteration 0 and develop and validate sufficient
requirements / stories to begin Iteration 1
7
Types and structures of typical agile contracts
 Types and structures
 Time and materials
 Fixed bid: could be fixed capacity and/or fixed scope and/or fixed schedule
 Fixed cost per unit of work (Story point, UCP, Function point, etc.)
 Structures
 Pre-contract: verbal understanding, “hand shake”, email, letter of intent
 Simple contract for professional services – no scope defined, rates and budget
 Simple contract for software development – scope defined, total cost, timing
assumptions defined with terms and conditions to protect vendor and client
 Hybrid contract – often a phase 1 (T&M or fixed bid) to define release backlog and
high level estimates, assumptions and to produce a phase 2 fixed bid for delivery
 Fixed cost per unit of work. E.G. Valtech Software on Demand
 Building the contract collaboratively
 As with software, avoiding BDUF for contracts is a good practice. Iterate!
 MSA with SOWs is preferable if a longer term relationship is anticipated
 Maybe be best to meet and develop contract (from a template) together
8
Planning Releases, Iterations and Communication
 In addition to the type and structure, the contract will need to define the term of the
engagement; it is useful to describe, plan for and gain commitment to events
 Although we probably don’t have enough precision in our estimates, yet, the client
probably does have a budget in mind. After all, they are talking to you as a vendor
or IT team which likely follows a budget exercise of the previous year.
 Based on a very rough sense of the work to be done, a capacity plan with a number
of iterations and a ramp-up in team size can be used to model what level of effort
the budget might cover.
 Especially for distributed agile projects, in the contractual discussion it is very
useful to review a release plan of a number of iterations, and to discuss the need for
face to face communication at iteration boundaries. For distributed projects we
often use a Sprint of 4 weeks, in part due to higher travel costs.
 A product or release backlog (high level requirements) is often shown as an exhibit.
If the contract form is fixed bid, fixed scope, in order to protect client and vendor
either estimates involving development spikes on representative requirements or
terms that permit substitution of or variance in scope are important.
9
Key events in a distributed agile Iteration
Day 2 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10
Iteration
Planning Meeting
Requirements
Workshop
Prep Build Build Build Build Build Build
Day 1
Week 1 Week 2
Day 3
Development
Deployment of
previous iteration
Design
Workshop
EstWorkshop
Development
Development of test cases
Support Deployment
Development of test
cases
UAT UAT
Day 11 Day 12 Day 13 Day 14 Day 15 Day 16 Day 17 Day 18 Day 19
Build Build Build Build Build Build Build Build Build Package Package
Week 3 Week 4 (Week -1)
Day 20
Next Iteration Planning
Retro-
spective
Demo
Development
Testing Testing Prior Iteration
Preparation of UAT Env Validate Env
During a distributed agile contract negotiation, I discuss the events in a sprint
and which should involve face to face discussion.
10
Distributed Agile Events – roles and conditions
Above is a sample description of some of the events in a distributed agile project.
By discussing in the proposal and engaging via the contract the commitment of client
and vendor to communicate regularly face to face, the budget for travel and the
commitment of key staff to the project can be planned.
Meeting /
Session Type
Facilitating
Role Attendees Locale
Session
Length Pre-Condition Post-Condition
Input Responsible Role Output Responsible Role
Release
Planning
Meeting
EM
EM, PO, FM,
PM, Arch, all
BAs, Tech Lead
France 1 day
Project is initiated,
key participants
are on board
A backlog of high
level requirements
is prioritized to
permit planning of
the iterations,
overall release and
major milestones
High level
functional and
technical
requirements,
schedule and
budget contraints
PO, BAs, Arch,
EM coaching
Release Backlog,
known definition of
project success
EM, PM, PO
Iteration
Preparation
PM
PO, FM, PM,
Arch, all BAs,
Tech Lead
France 20 days
Demo of previous
iteration is
complete
Enough
information is
available for
finalizing priorities
for the iteration
and agreement to
scope of iteration.
Previous iteration
scope "Done"
status for each
scenario taken up
PO, BAs, Arch,
EM coaching
High level
scenarios
PM, FM, BAs
Iteration
Planning
Meeting
PM
PO, EM, FM,
PM, Arch, BAs,
Tech Lead, Devs
India 4 Hours
High level
scenarios
Enough
information is
available for
preparing
Requirements
Overview
High level
scenarios
FM, BAs
Proritized
requirement
backlog with
desired scope for
the iteration.
BA + Customer
Inputs Needed for the Session Session Output
11
Client and Vendor Roles and Responsibilities
 An agile contract should clearly state what is expected of each party, and of specific
roles: who must do what, when, and sometimes how and where.
 Normally the client must approve budget, approve requirements and approve
acceptance of delivered software, at a minimum, but it is nearly critical that they
participate in release and iteration planning, retrospectives and as product owner
using the Scrum role metaphor, be available daily, even at a distance, to clarify
requirements.
 These responsabilities need to be time-boxed, and particularly in the case of a fixed
bid agreement, it is advisable and mutually beneficial to define the consequences of
being late.
 These may include transferring risk back from vendor to client (e.g. convert to time
and materials, assume capacity was consumed but wasted, etc.) or from client to
vendor (e.g. a quality or scope debt was incurred by the vendor for not delivering)
 In this section of a contract an escalation procedure should also be defined so that
the team does not become blocked prior to, during or after an iteration
 Executive sponsors / stakeholders should be defined, in the contract or exhibit.
12
Roles and Organization Chart
Product Owner
(Owns Initiative budget)
Domain experts
Technical Lead
Senior Developers
Release Management
Infrastructure
Agile Offshore Coach
France
Feature Manager
France
Executive Steering CommitteeExecutive Steering Committee
Transversal CommitteeTransversal Committee
Operational CommitteeOperational Committee
Development Team
Program Director
France
Project Manager
Tech Lead / CSM
India
Client (typical)
The larger the Client’s delivery involvement is, the less likely that the
terms of a distributed agile contract can be fixed bid, and the more
likely that enablement will be the top priority.
13
Estimating functional and non-functional scope
 In all Agile projects, estimation is very important, and is necessary to plan releases and
iterations
 Estimation units of a team often need to be translated into terms meaningful to the client
 The client’s units of measure vary, from story points, ideal days, actual days, use case points,
function points, use cases, stories, large functional specifications, “a system sufficient to
replace the existing”, etc.
 Contractually, if the contract is not time and materials, something other than time must be
delivered and measurable in order to justify payment, and for distributed agile contracts the
more easily and exactly the items or units can be measured and verified, the more clear
communication will be and generally the better the relationship
 Clearly, it is very important to define the “Definition of Done” (everything implicitly included
with a delivered with a product backlog item), within the team and in collaboration with the
product owner. Ideally this includes pre-defined acceptance tests and the effort to define and
deliver them with requirements and executable code are included when doing detailed
estimates
 The main point to make for distributed agile contracts is that you should define the unit of
measure in a manner that is clearly described and understood in the agreement, and can be
managed, with incremental acceptance. We have found story points, similarly small-sized
product backlog items, Use Cases, UCP and function points to all be useful measures in this
regard.
 Teams often forget to include estimates in what ever units they are using for non-functional
requirements in fixed bid contracts – or sometimes, even to adequately define these
requirements; the measurement of scope should include everything needed to complete
delivery
14
Acceptance Testing
 Agile contracts or their associated proposals should define what acceptance tests are, who
writes them, validates them, performs them, where, and when.
 I often contractually suggest that the client participate in the definition of the acceptance tests
during the preparation of stories or use cases, and that they be discussed and validated
consensually in the requirements workshop
 Acceptance of the delivery of an iteration is specified contractually to be associated with the
passage of the scope’s related acceptance tests, and in a fixed bid contract or a pay for
production contract, this acceptance is often associated with the release of a payment.
 A KPI I recommend tracking is the % of functional tests automated, and I prefer to state in the
contract that feature delivery acceptance is assumed within a short period of time (eg 10 days)
if automated acceptance tests pass and there is no indication by the client or team of other
reasons not to accept the delivery
 UAT is usually, at least with our clients, a separate phase of time that includes some additional
risk in terms of time and budget, but which is absolutely necessary. We invite client
representatives to iteration end demos and provide access to the project dashboard to reduce
this risk.
 Customer visits to the offshore development site can be coordinated with demos and
acceptance testing of the most recent iteration’s delivery if planned appropriately, and this
practice greatly increases the offshore team’s satisfaction level and the client’s confidence and
trust in the offshore team.
 In distributed agile projects, the importance of comprehensive and automated functional and
non-functional testing is critically important to serve as an objective indicator of project quality
and progress. Tools such as Rally Dev, Version 1 and others provide information radiators to
keep client and vendor in sync, and their usage is often stipulated in our contracts.
15
Warranties and Reversability
 Most vendor attorneys generally advise limiting the warranties provided by the
vendor in many important ways
 However, clients wish to be reassured that the vendor is engaged and committed
and aligned with the client’s business needs.
 These terms vary from country to country, and I have found warranties to be
stronger in Europe than in the US in many cases. A common European standard is
to guarantee that a custom app will be free of major or blocking defects for a period
of 3 months after delivery to production, and most often provides correction
services at no charge. There may be penalty clauses for the vendor in the event of
major defects that require liability insurance to be purchased.
 Reversability clauses deal with the event that the Client decides to switch vendors
or in-source the application’s continued development or maintenance, by providing
for a knowledge transfer process supported by the vendor for a certain period and
with specific measures for completeness.
 Reversability clauses in a distributed agile team may require travel and/or
translation services, so an appropriate budget should be defined and costed into
the contract at the time of its negociation.
16
Case Studies
 Case 1 : Employment agency application
 Distributed Agile project
 Fixed bid converts to bid per iteration
 Organisation and contract evolves and adapts
 Case 2 : eBusiness Catalog, eCommerce and POS
Agile contract evolution in large distributed agile
program
 Large distributed agile project
 Several interesting contractual forms
 Organisation also evolves and adapts, learning together
17
Case 1 : Employment agency application
Fixed bid -> bid per iteration
 Refactoring and port of a large temporary employment agency application
 Rewrite in Java of a large Forte application, identical feature set and human interface
 The distributed agile project was staffed with a relatively offshore team and smaller local team
 Project size : 6 500 person days
 Duration : 24 months
 Application to manage employment agency candidates (1000 agencies with > 5000 users)
 Acceptance criteria : Quality metrics
 Basis for invoicing : Acceptance of the iteration
 Project Results :
 Exceeded initial fixed bid budget by 3 iterations
 2% defects beginning at the UAT (14000 functional test cases)
 Piloted September 2007 and went to production December 2007
Fixed Bid
June 2005 December 2005 June 2007 August 2007
Bid per iteration / incremental acceptance UAT
Re-Negotiation
18
Case 1: Employment Agency Application
How did this contract affect the team?
 The initial contract was bid for a fixed fee, with fixed scope, and though a desired time frame
was agreed, there was no penalty for late delivery
 The onshore team was initially the sole point of contact with the client. They developed close
rapport, negotiated the contract, provided estimates and built the requirements and
architecture. The client wished to communicate in french and did not have face to face contact
with the offshore team.
 The offshore team was not involved in validating the onshore architect’s estimates, and did not
feel committed to the estimates, the contract or to the client
 Strained relations developed between the onshore and offshore teams, internally, and
eventually with the client as quality expectations were not met. The client seemed
unreasonable.
 A “blow-up” occurred when the quality level was consistently not acceptable.
 The parties met, including representatives from offshore, addressed some technical issues
related to human interface requirements, and renegotiated the budget and contract to permit re-
estimation and budget fixing by iteration
 The now more collaborative and integrated team went on to successfully deliver the
application.
19
Case 2 : eBusiness Catalog, eCommerce and POS
Agile contract evolution in large distributed agile program
Project was to implement an integrated multi-channel eCommerce solution with a new POS in 220 stores
 Progressively replace features of 7 legacy apps with a custom Java / WebSphere Commerce Server solution
 Distributed agile program began in France and shifted over time to large distributed team
 Project size : 15 000 person days. Duration: 3 years
 4 contractual modes :
• V1.C – Product Catalog, fixed bid, fixed scope – but no time boxing and 8 month delay!
• V1.S - Sales (Point of sale) with integrated Catalog and eCommerce site – T & M with bonus /penalty.
• V2 - Evolved Catalog and Sales for full production roll out – pay per productivity with velocity assumption
• V3 - Time and materials support agreement, capped budget, prioritized backlog
Fixed bid duo-shore « agile »
Jan 2005 December 2005 June 2006
Time and materials with KPI – strong offshore T&M UAT
Negotiation
• Change project management, France -> India
• Rebalance French/India team and roles
• Create direct India/customer communication
• Quality and productivity indicators put in place
V1.C
POC
Dec. 2006
V1.S
Negotiation
• V1.C delivered
• V1.S negotiated, POC begun
• Revamped process, ramped team
20
Case 2 : eBusiness Catalog, eCommerce and POS
Agile Contract Evolution…
BIG ramp up, T&M +/-
Janvier 2007 June 2007 June 2008
Pay per UCP, Rising Velocity assumption
Negotiation
• Fine-tuned process for integration
• Established UCP cost and budget
• Forecast velocity and acceleration
V1.S V2
T & M with a cap
NegotiationNegotiation
• T & M with + / -
• Established PD
budget
• Productivity & Quality
• With trust established, returned to a
simple time and materials mode for
support of deployment and production
V3
21
Case 2 : eBusiness Catalog, eCommerce and POS
Agile Contract Evolution…
 the T&M contract with bonus / penalty clause was in response to client demand for fixed bid and
vendor concern about estimation risk and acceptance speed.
 This contract form had an effect on the team of very strong motivation to deliver completed use cases
(use cases which passed their functional acceptance tests), but sustainable pace was not maintained.
Morale was none-the-less very high.
 During this period, January – March 2007, the team ramped up from 18 to 90+ members, from 1 to 4
delivery locations.
 The team earned the 5% productivity bonus by delivering 99,5% of Use Cases, but had a 2.5% penalty for
quality based on integration tests
 The planned 2.5 month UAT and Beta test period was extended to 3.5 months, and a larger team than
planned was maintained.
 During the release retrospective workshop we determined to broaden integration testing and define
collections of use cases that together delivered potentially shippable increments and real customer
value, and focus on ways to increase efficiency and production. We also agreed to discontinue the
bonus / penalty clause.
Quality Productivity
Person Day
In-Budget
Variance
Defect
Rate and
Severity
KPI
Quality
Productivity
OK 2.5%
Penalty
5%
Penalty
5% Bonus +5% +2.5% 0
Neutral 0 -2.5% -5%
5% Penalty -5% -5% -5%
V1.S
22
Keep it simple?
 A part of the contract on bonus / penalties we decided to discontinue…
70% 80% 90% 95% 100%
-5% -2,5% 0% 2,5% 5%
70% 80% 90% 95% 100%
-5% -2,5% 0% 2,5% 5%
Inférieur ou égal à
V1 Feature Complete (V1 F)
Bonus / Malus au 15/6/2007
V1 Acceptance (V1 A)
Bonus / Malus au 31/3/2007
Formule de calcul :
∑ ((UC A / (UC A+UC Raf)) x UC Init)
V1A =
∑ (UC Init)
V1.S
23
Case 2 : eBusiness Catalog, eCommerce and POS
Agile Contract Evolution…
 The client was ultimately satisified with the team’s delivery in V1.S, but felt that
productivity could be improved.
 We agreed and together defined a budget for feature development estimated in Use Case
Points (UCP).
 After substantial debate on whether velocity could be predicted, for commercial reasons
and based on some thin research on theoretical UCP productivity, a new contract was
agreed.
 The contract stipulated that we would bill the client for UCP delivered, and in effect, over
a six month period, (6 four week iterations), deliver to the client a UCP productivity per
person that corresponded to the research.
 The total UCP (plus some) engaged by this contract were delivered, but only after 9
iterations. The team became more efficient but not as much as predicted.
 Substantial collaboration was necessary between client, business analyst, technical
leads and project management to permit planning and accepting the UCP for each
iteration
 This ultimately resulted in a high trust relationship – and the contractual eventually
evolved again, into… Time and materials.
 The project was deemed a success – and also a substantial learning experience.
V2
24
New contractual forms to consider?
- Valtech has introduced Software on Demand
25
What did the manifesto say about contracts?
Manifesto for Agile Software Development
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
© 2001 http://agilemanifesto.org
26
Conclusion
 Agile contracts are especially important for clients and vendors when large
commitments are at stake
 As an agile project itself, contractual forms evolve during a project
 It is better for both parties to gain some experience with a smaller commit level, and
to inspect and adapt the contractual form
 Direct communication between the team and client are essential to optimize the
learning and evolution of the relationship and related contract
 Customer Collaboration trumps Contract Negociation – but contracts can be
negotiated collaboratively and can be written to favor collaboration!
27
Questions and Discussion?
28
Thanks!
Greg Hutchings
E-mail gregoryhutchings@gmail.com
Ligne directe +33 (0)1 53 57 73 56
Mobile +33 (0)6 87 25 00 58
Greg Hutchings
E-mail gregoryhutchings@gmail.com
Ligne directe +33 (0)1 53 57 73 56
Mobile +33 (0)6 87 25 00 58

More Related Content

What's hot

design bid build or Traditional contract shortcomings and alternative method,...
design bid build or Traditional contract shortcomings and alternative method,...design bid build or Traditional contract shortcomings and alternative method,...
design bid build or Traditional contract shortcomings and alternative method,...Tehmas Saeed
 
Strategies in building procurement (summarized)
Strategies in building procurement (summarized)Strategies in building procurement (summarized)
Strategies in building procurement (summarized)Michael Audu
 
APMP Foundation: Developing Proposal Strategy
APMP Foundation: Developing Proposal StrategyAPMP Foundation: Developing Proposal Strategy
APMP Foundation: Developing Proposal StrategyBid to Win Ltd
 
APMP Foundation: Learning from Experience
APMP Foundation: Learning from ExperienceAPMP Foundation: Learning from Experience
APMP Foundation: Learning from ExperienceBid to Win Ltd
 
Guidelines on The Use of Consultants by Asian Development Bank and Its Borrow...
Guidelines on The Use of Consultants by Asian Development Bank and Its Borrow...Guidelines on The Use of Consultants by Asian Development Bank and Its Borrow...
Guidelines on The Use of Consultants by Asian Development Bank and Its Borrow...Joy Irman
 
B ackroyd
B ackroydB ackroyd
B ackroydNASAPMC
 
Pp 1-report-complete
Pp 1-report-completePp 1-report-complete
Pp 1-report-completeYong Sy
 
Software Development Lifecycle for Agile Teams and Innovation Management
Software Development Lifecycle for Agile Teams and Innovation ManagementSoftware Development Lifecycle for Agile Teams and Innovation Management
Software Development Lifecycle for Agile Teams and Innovation ManagementThomas Zdon
 
Construction management 2
Construction management 2Construction management 2
Construction management 2smumbahelp
 
A Report on Procurement Strategies - PP1
A Report on Procurement Strategies - PP1 A Report on Procurement Strategies - PP1
A Report on Procurement Strategies - PP1 Pang Khai Shuen
 
Carol scottcowartmcphillipspm challengefinal
Carol scottcowartmcphillipspm challengefinalCarol scottcowartmcphillipspm challengefinal
Carol scottcowartmcphillipspm challengefinalNASAPMC
 
Baniszewski john
Baniszewski johnBaniszewski john
Baniszewski johnNASAPMC
 
Maximizing value through vendor mgt july, lagos
Maximizing value through vendor mgt july, lagosMaximizing value through vendor mgt july, lagos
Maximizing value through vendor mgt july, lagosPetro Nomics
 
092811 Updated Contech Brochure
092811 Updated Contech Brochure092811 Updated Contech Brochure
092811 Updated Contech BrochurePaul Smith
 

What's hot (20)

design bid build or Traditional contract shortcomings and alternative method,...
design bid build or Traditional contract shortcomings and alternative method,...design bid build or Traditional contract shortcomings and alternative method,...
design bid build or Traditional contract shortcomings and alternative method,...
 
Strategies in building procurement (summarized)
Strategies in building procurement (summarized)Strategies in building procurement (summarized)
Strategies in building procurement (summarized)
 
Contract and procuremet guide evening launch slides 05 10-17
Contract and procuremet guide evening launch slides 05 10-17 Contract and procuremet guide evening launch slides 05 10-17
Contract and procuremet guide evening launch slides 05 10-17
 
Jitender_Sharma
Jitender_SharmaJitender_Sharma
Jitender_Sharma
 
APMP Foundation: Developing Proposal Strategy
APMP Foundation: Developing Proposal StrategyAPMP Foundation: Developing Proposal Strategy
APMP Foundation: Developing Proposal Strategy
 
APMP Foundation: Learning from Experience
APMP Foundation: Learning from ExperienceAPMP Foundation: Learning from Experience
APMP Foundation: Learning from Experience
 
Guidelines on The Use of Consultants by Asian Development Bank and Its Borrow...
Guidelines on The Use of Consultants by Asian Development Bank and Its Borrow...Guidelines on The Use of Consultants by Asian Development Bank and Its Borrow...
Guidelines on The Use of Consultants by Asian Development Bank and Its Borrow...
 
P contracts
P contractsP contracts
P contracts
 
B ackroyd
B ackroydB ackroyd
B ackroyd
 
Pp 1-report-complete
Pp 1-report-completePp 1-report-complete
Pp 1-report-complete
 
Software Development Lifecycle for Agile Teams and Innovation Management
Software Development Lifecycle for Agile Teams and Innovation ManagementSoftware Development Lifecycle for Agile Teams and Innovation Management
Software Development Lifecycle for Agile Teams and Innovation Management
 
Fundamentals of Construction Contracts - English, ver. 2021
Fundamentals of Construction Contracts - English, ver. 2021Fundamentals of Construction Contracts - English, ver. 2021
Fundamentals of Construction Contracts - English, ver. 2021
 
Procurement Methods
Procurement MethodsProcurement Methods
Procurement Methods
 
Construction management 2
Construction management 2Construction management 2
Construction management 2
 
A Report on Procurement Strategies - PP1
A Report on Procurement Strategies - PP1 A Report on Procurement Strategies - PP1
A Report on Procurement Strategies - PP1
 
RFP template
RFP templateRFP template
RFP template
 
Carol scottcowartmcphillipspm challengefinal
Carol scottcowartmcphillipspm challengefinalCarol scottcowartmcphillipspm challengefinal
Carol scottcowartmcphillipspm challengefinal
 
Baniszewski john
Baniszewski johnBaniszewski john
Baniszewski john
 
Maximizing value through vendor mgt july, lagos
Maximizing value through vendor mgt july, lagosMaximizing value through vendor mgt july, lagos
Maximizing value through vendor mgt july, lagos
 
092811 Updated Contech Brochure
092811 Updated Contech Brochure092811 Updated Contech Brochure
092811 Updated Contech Brochure
 

Viewers also liked

Mapa conceptual derecho registral_notarial
Mapa conceptual derecho registral_notarialMapa conceptual derecho registral_notarial
Mapa conceptual derecho registral_notarialJosgreny Padilla
 
HOW TO TEACH A MOVIE
HOW TO TEACH A MOVIEHOW TO TEACH A MOVIE
HOW TO TEACH A MOVIEPYRAMIDINFO
 
Apresentacao açores
Apresentacao açoresApresentacao açores
Apresentacao açoresPaulo Gomes
 
Case workshop sep06_lyd2
Case workshop sep06_lyd2Case workshop sep06_lyd2
Case workshop sep06_lyd2hjemstavn
 
Danieli e gabriel washington
Danieli e gabriel washingtonDanieli e gabriel washington
Danieli e gabriel washingtonAndreaHaupt
 
Crucigrama sobre el computador ar
Crucigrama sobre el computador arCrucigrama sobre el computador ar
Crucigrama sobre el computador arDavid Areiza
 
Peridos coordenados subordinados
Peridos coordenados  subordinadosPeridos coordenados  subordinados
Peridos coordenados subordinadoscarla Furlan
 
Derecho agrario
Derecho agrarioDerecho agrario
Derecho agrariocacc93
 
van Schagen - Walking the impact pathway: The CIALCA Experience in Mobilizing...
van Schagen - Walking the impact pathway: The CIALCA Experience in Mobilizing...van Schagen - Walking the impact pathway: The CIALCA Experience in Mobilizing...
van Schagen - Walking the impact pathway: The CIALCA Experience in Mobilizing...CIALCA
 
Degrande - Disseminating Agroforestry Innovations in Cameroon: Are Relay Orga...
Degrande - Disseminating Agroforestry Innovations in Cameroon: Are Relay Orga...Degrande - Disseminating Agroforestry Innovations in Cameroon: Are Relay Orga...
Degrande - Disseminating Agroforestry Innovations in Cameroon: Are Relay Orga...CIALCA
 
Revisao de peraodo_composto
Revisao de peraodo_compostoRevisao de peraodo_composto
Revisao de peraodo_compostoFlávio Ferreira
 

Viewers also liked (19)

Mapa conceptual derecho registral_notarial
Mapa conceptual derecho registral_notarialMapa conceptual derecho registral_notarial
Mapa conceptual derecho registral_notarial
 
Semana 1
Semana 1Semana 1
Semana 1
 
Mammals
MammalsMammals
Mammals
 
HOW TO TEACH A MOVIE
HOW TO TEACH A MOVIEHOW TO TEACH A MOVIE
HOW TO TEACH A MOVIE
 
Apresentacao açores
Apresentacao açoresApresentacao açores
Apresentacao açores
 
Saravana cv
Saravana cvSaravana cv
Saravana cv
 
Case workshop sep06_lyd2
Case workshop sep06_lyd2Case workshop sep06_lyd2
Case workshop sep06_lyd2
 
Danieli e gabriel washington
Danieli e gabriel washingtonDanieli e gabriel washington
Danieli e gabriel washington
 
SAS reference
SAS referenceSAS reference
SAS reference
 
SensorVital: Tecno-Hidrología
SensorVital: Tecno-HidrologíaSensorVital: Tecno-Hidrología
SensorVital: Tecno-Hidrología
 
Crucigrama sobre el computador ar
Crucigrama sobre el computador arCrucigrama sobre el computador ar
Crucigrama sobre el computador ar
 
Peridos coordenados subordinados
Peridos coordenados  subordinadosPeridos coordenados  subordinados
Peridos coordenados subordinados
 
Ccv pedroooooooo
Ccv pedrooooooooCcv pedroooooooo
Ccv pedroooooooo
 
Derecho agrario
Derecho agrarioDerecho agrario
Derecho agrario
 
05 12 18 Worship
05 12 18  Worship05 12 18  Worship
05 12 18 Worship
 
van Schagen - Walking the impact pathway: The CIALCA Experience in Mobilizing...
van Schagen - Walking the impact pathway: The CIALCA Experience in Mobilizing...van Schagen - Walking the impact pathway: The CIALCA Experience in Mobilizing...
van Schagen - Walking the impact pathway: The CIALCA Experience in Mobilizing...
 
Degrande - Disseminating Agroforestry Innovations in Cameroon: Are Relay Orga...
Degrande - Disseminating Agroforestry Innovations in Cameroon: Are Relay Orga...Degrande - Disseminating Agroforestry Innovations in Cameroon: Are Relay Orga...
Degrande - Disseminating Agroforestry Innovations in Cameroon: Are Relay Orga...
 
Robo de identidad
Robo de identidadRobo de identidad
Robo de identidad
 
Revisao de peraodo_composto
Revisao de peraodo_compostoRevisao de peraodo_composto
Revisao de peraodo_composto
 

Similar to Distributed Agile teams and alternative contractual forms - what works best?

Project Management as an Art Form
Project Management as an Art FormProject Management as an Art Form
Project Management as an Art FormTreehouse Agency
 
Gopinathramachandran 131008015755-phpapp02
Gopinathramachandran 131008015755-phpapp02Gopinathramachandran 131008015755-phpapp02
Gopinathramachandran 131008015755-phpapp02PMI_IREP_TP
 
Gopinath ramachandran
Gopinath ramachandranGopinath ramachandran
Gopinath ramachandranPMI2011
 
Project success through excellence in procurement and contract management
Project success through excellence in procurement and contract managementProject success through excellence in procurement and contract management
Project success through excellence in procurement and contract managementCatherine Bendell
 
White Paper : It Is Time To Switch Outsourcing Vendor
White Paper : It Is Time To Switch Outsourcing VendorWhite Paper : It Is Time To Switch Outsourcing Vendor
White Paper : It Is Time To Switch Outsourcing VendorISHIR
 
Tips to Simplify Contracting Process By SN Panigrahi
Tips to Simplify Contracting Process By SN PanigrahiTips to Simplify Contracting Process By SN Panigrahi
Tips to Simplify Contracting Process By SN PanigrahiSN Panigrahi, PMP
 
Project success through excellence in procurement and contract management
Project success through excellence in procurement and contract managementProject success through excellence in procurement and contract management
Project success through excellence in procurement and contract managementAssociation for Project Management
 
Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)Phase2
 
CRG DevCo’s advantages of outsourcing Project Management
CRG DevCo’s advantages of outsourcing Project ManagementCRG DevCo’s advantages of outsourcing Project Management
CRG DevCo’s advantages of outsourcing Project ManagementChris Gorga
 
Procurement in the age of Agile: Enlightened Agile Teams and Heathen Vendors
Procurement in the age of Agile: Enlightened Agile Teams and Heathen VendorsProcurement in the age of Agile: Enlightened Agile Teams and Heathen Vendors
Procurement in the age of Agile: Enlightened Agile Teams and Heathen VendorsSteve Nunziata
 
MBA 6951, Managing Complex Projects 1 Course Learning.docx
MBA 6951, Managing Complex Projects 1 Course Learning.docxMBA 6951, Managing Complex Projects 1 Course Learning.docx
MBA 6951, Managing Complex Projects 1 Course Learning.docxAASTHA76
 
Fixed Price Distributed Agile Projects
Fixed Price Distributed Agile ProjectsFixed Price Distributed Agile Projects
Fixed Price Distributed Agile ProjectsRaja Bavani
 
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docx
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docxPearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docx
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docxAASTHA76
 
Beyond Budget and Scope: Managing Client Expectations and Delivering Value
Beyond Budget and Scope: Managing Client Expectations and Delivering ValueBeyond Budget and Scope: Managing Client Expectations and Delivering Value
Beyond Budget and Scope: Managing Client Expectations and Delivering ValueVanessa Turke
 
[Report] Who's protecting your blindside? Construction Management: Protectin...
[Report] Who's protecting your blindside?  Construction Management: Protectin...[Report] Who's protecting your blindside?  Construction Management: Protectin...
[Report] Who's protecting your blindside? Construction Management: Protectin...JLL
 
Soft assist guide to an elearning project
Soft assist guide to an elearning projectSoft assist guide to an elearning project
Soft assist guide to an elearning projectDavid Goodman
 

Similar to Distributed Agile teams and alternative contractual forms - what works best? (20)

Project Management as an Art Form
Project Management as an Art FormProject Management as an Art Form
Project Management as an Art Form
 
Gopinathramachandran 131008015755-phpapp02
Gopinathramachandran 131008015755-phpapp02Gopinathramachandran 131008015755-phpapp02
Gopinathramachandran 131008015755-phpapp02
 
Gopinath ramachandran
Gopinath ramachandranGopinath ramachandran
Gopinath ramachandran
 
Project success through excellence in procurement and contract management
Project success through excellence in procurement and contract managementProject success through excellence in procurement and contract management
Project success through excellence in procurement and contract management
 
White Paper : It Is Time To Switch Outsourcing Vendor
White Paper : It Is Time To Switch Outsourcing VendorWhite Paper : It Is Time To Switch Outsourcing Vendor
White Paper : It Is Time To Switch Outsourcing Vendor
 
Tips to Simplify Contracting Process By SN Panigrahi
Tips to Simplify Contracting Process By SN PanigrahiTips to Simplify Contracting Process By SN Panigrahi
Tips to Simplify Contracting Process By SN Panigrahi
 
Project success through excellence in procurement and contract management
Project success through excellence in procurement and contract managementProject success through excellence in procurement and contract management
Project success through excellence in procurement and contract management
 
Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)
 
CRG DevCo’s advantages of outsourcing Project Management
CRG DevCo’s advantages of outsourcing Project ManagementCRG DevCo’s advantages of outsourcing Project Management
CRG DevCo’s advantages of outsourcing Project Management
 
Procurement in the age of Agile: Enlightened Agile Teams and Heathen Vendors
Procurement in the age of Agile: Enlightened Agile Teams and Heathen VendorsProcurement in the age of Agile: Enlightened Agile Teams and Heathen Vendors
Procurement in the age of Agile: Enlightened Agile Teams and Heathen Vendors
 
MBA 6951, Managing Complex Projects 1 Course Learning.docx
MBA 6951, Managing Complex Projects 1 Course Learning.docxMBA 6951, Managing Complex Projects 1 Course Learning.docx
MBA 6951, Managing Complex Projects 1 Course Learning.docx
 
Agile contracts
Agile contractsAgile contracts
Agile contracts
 
Drupal project management
Drupal project managementDrupal project management
Drupal project management
 
Fixed Price Distributed Agile Projects
Fixed Price Distributed Agile ProjectsFixed Price Distributed Agile Projects
Fixed Price Distributed Agile Projects
 
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docx
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docxPearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docx
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docx
 
Beyond Budget and Scope: Managing Client Expectations and Delivering Value
Beyond Budget and Scope: Managing Client Expectations and Delivering ValueBeyond Budget and Scope: Managing Client Expectations and Delivering Value
Beyond Budget and Scope: Managing Client Expectations and Delivering Value
 
[Report] Who's protecting your blindside? Construction Management: Protectin...
[Report] Who's protecting your blindside?  Construction Management: Protectin...[Report] Who's protecting your blindside?  Construction Management: Protectin...
[Report] Who's protecting your blindside? Construction Management: Protectin...
 
9. project procurement management
9. project procurement management9. project procurement management
9. project procurement management
 
Agile contracting- APM Contracts and Procurement SIG, July 2016
Agile contracting- APM Contracts and Procurement SIG, July 2016Agile contracting- APM Contracts and Procurement SIG, July 2016
Agile contracting- APM Contracts and Procurement SIG, July 2016
 
Soft assist guide to an elearning project
Soft assist guide to an elearning projectSoft assist guide to an elearning project
Soft assist guide to an elearning project
 

Distributed Agile teams and alternative contractual forms - what works best?

  • 1. Distributed Agile Teams and Alternative Contractual Forms - What Works Best? Greg Hutchings GregoryHutchings@gmail.com
  • 2. 2 Distributed Agile Teams and Contractual Forms About the author… Greg Hutchings I live in Paris and work for Valtech, proposing, negotiating, managing and living with large distributed agile projects. I travel often to Bangalore and within Europe. I am originally from the SF Bay area, where I was a client partner for ThoughtWorks, after spending years in software product development. I’ve been involved with software teams since the early 80’s, and have been using Agile and XP practices with teams formally since 2003 and informally since the early 90’s.
  • 3. 3 Session outline Distributed Agile Teams and Alternative Contractual Forms – What works best?  Building and supporting contracts to engage large distributed Agile teams (30 min)  In-depth Case Studies (30 min)  Fixed-bid, T&M and pay for production contract alternatives (20 min)  Discussion (10 min)
  • 4. 4 Building and supporting contracts  Importance of the proposal  Selecting and defining methods  Types and structures of agile contracts  Planning Releases, Iterations and Communication  Client and Vendor Roles and Responsabilities  Team organisation and roles  Estimating functional and non-functional scope  Alternative units for measuring software production  Acceptance testing  Warranties / Reversability
  • 5. 5 Distributed Agile proposal process  Interest in doing distributed agile development is usually related to cost savings, or time to market and enhanced capacity, and may focus on rates  Most new large company clients I talk to have already have had an offshore experience, often not very positive or with mixed results, and have some fear  Quality, productivity, schedule and budget control are all key issues for a client  Methodology, included Agile, is often of increased importance for a client when working with an offshore vendor, and can help to address fears and concerns  It is better to introduce offshore and onshore delivery staff early with a collaborative approach, and to absolutely involve the delivery team in estimates and client relationship building.  After an understanding of the client’s needs is obtained – high level scope, time frame and budget, and specific constraints, a proposal is prepared  After the proposal is presented, reviewed, revised and agreed in concept, the contractual development process begins
  • 6. 6 Selecting and defining methods in the contract  In our proposals and contracts, we discuss Agile, Scrum, TDD, CI, and the importance of collaboration; we incorporate lessons learned from prior projects  Part of the Vendor role of developing business and ultimately writing and signing a contract is to understand the key drivers, concerns and constraints of the client, and another is to propose and coach success factors (agile adoption patterns)  I discuss on-shore and off-shore roles, those that might be staffed by the Client and by the Vendor – with enablement / delivery trade-offs and relative priority  A key role to define at the client is an internal distributed agile champion – who becomes elemental to the contract negotiation and project execution, and who often becomes the Scrum Product Owner. This person should be able to travel.  The relative importance of knowledge transfer, cost, time-to-market and scope are important to clarify, allocate resources to and define acceptance of in the contract  It is important for the proposal and then the contract to provide the team with time to ramp-up, self-organize, perform an Iteration 0 and develop and validate sufficient requirements / stories to begin Iteration 1
  • 7. 7 Types and structures of typical agile contracts  Types and structures  Time and materials  Fixed bid: could be fixed capacity and/or fixed scope and/or fixed schedule  Fixed cost per unit of work (Story point, UCP, Function point, etc.)  Structures  Pre-contract: verbal understanding, “hand shake”, email, letter of intent  Simple contract for professional services – no scope defined, rates and budget  Simple contract for software development – scope defined, total cost, timing assumptions defined with terms and conditions to protect vendor and client  Hybrid contract – often a phase 1 (T&M or fixed bid) to define release backlog and high level estimates, assumptions and to produce a phase 2 fixed bid for delivery  Fixed cost per unit of work. E.G. Valtech Software on Demand  Building the contract collaboratively  As with software, avoiding BDUF for contracts is a good practice. Iterate!  MSA with SOWs is preferable if a longer term relationship is anticipated  Maybe be best to meet and develop contract (from a template) together
  • 8. 8 Planning Releases, Iterations and Communication  In addition to the type and structure, the contract will need to define the term of the engagement; it is useful to describe, plan for and gain commitment to events  Although we probably don’t have enough precision in our estimates, yet, the client probably does have a budget in mind. After all, they are talking to you as a vendor or IT team which likely follows a budget exercise of the previous year.  Based on a very rough sense of the work to be done, a capacity plan with a number of iterations and a ramp-up in team size can be used to model what level of effort the budget might cover.  Especially for distributed agile projects, in the contractual discussion it is very useful to review a release plan of a number of iterations, and to discuss the need for face to face communication at iteration boundaries. For distributed projects we often use a Sprint of 4 weeks, in part due to higher travel costs.  A product or release backlog (high level requirements) is often shown as an exhibit. If the contract form is fixed bid, fixed scope, in order to protect client and vendor either estimates involving development spikes on representative requirements or terms that permit substitution of or variance in scope are important.
  • 9. 9 Key events in a distributed agile Iteration Day 2 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Iteration Planning Meeting Requirements Workshop Prep Build Build Build Build Build Build Day 1 Week 1 Week 2 Day 3 Development Deployment of previous iteration Design Workshop EstWorkshop Development Development of test cases Support Deployment Development of test cases UAT UAT Day 11 Day 12 Day 13 Day 14 Day 15 Day 16 Day 17 Day 18 Day 19 Build Build Build Build Build Build Build Build Build Package Package Week 3 Week 4 (Week -1) Day 20 Next Iteration Planning Retro- spective Demo Development Testing Testing Prior Iteration Preparation of UAT Env Validate Env During a distributed agile contract negotiation, I discuss the events in a sprint and which should involve face to face discussion.
  • 10. 10 Distributed Agile Events – roles and conditions Above is a sample description of some of the events in a distributed agile project. By discussing in the proposal and engaging via the contract the commitment of client and vendor to communicate regularly face to face, the budget for travel and the commitment of key staff to the project can be planned. Meeting / Session Type Facilitating Role Attendees Locale Session Length Pre-Condition Post-Condition Input Responsible Role Output Responsible Role Release Planning Meeting EM EM, PO, FM, PM, Arch, all BAs, Tech Lead France 1 day Project is initiated, key participants are on board A backlog of high level requirements is prioritized to permit planning of the iterations, overall release and major milestones High level functional and technical requirements, schedule and budget contraints PO, BAs, Arch, EM coaching Release Backlog, known definition of project success EM, PM, PO Iteration Preparation PM PO, FM, PM, Arch, all BAs, Tech Lead France 20 days Demo of previous iteration is complete Enough information is available for finalizing priorities for the iteration and agreement to scope of iteration. Previous iteration scope "Done" status for each scenario taken up PO, BAs, Arch, EM coaching High level scenarios PM, FM, BAs Iteration Planning Meeting PM PO, EM, FM, PM, Arch, BAs, Tech Lead, Devs India 4 Hours High level scenarios Enough information is available for preparing Requirements Overview High level scenarios FM, BAs Proritized requirement backlog with desired scope for the iteration. BA + Customer Inputs Needed for the Session Session Output
  • 11. 11 Client and Vendor Roles and Responsibilities  An agile contract should clearly state what is expected of each party, and of specific roles: who must do what, when, and sometimes how and where.  Normally the client must approve budget, approve requirements and approve acceptance of delivered software, at a minimum, but it is nearly critical that they participate in release and iteration planning, retrospectives and as product owner using the Scrum role metaphor, be available daily, even at a distance, to clarify requirements.  These responsabilities need to be time-boxed, and particularly in the case of a fixed bid agreement, it is advisable and mutually beneficial to define the consequences of being late.  These may include transferring risk back from vendor to client (e.g. convert to time and materials, assume capacity was consumed but wasted, etc.) or from client to vendor (e.g. a quality or scope debt was incurred by the vendor for not delivering)  In this section of a contract an escalation procedure should also be defined so that the team does not become blocked prior to, during or after an iteration  Executive sponsors / stakeholders should be defined, in the contract or exhibit.
  • 12. 12 Roles and Organization Chart Product Owner (Owns Initiative budget) Domain experts Technical Lead Senior Developers Release Management Infrastructure Agile Offshore Coach France Feature Manager France Executive Steering CommitteeExecutive Steering Committee Transversal CommitteeTransversal Committee Operational CommitteeOperational Committee Development Team Program Director France Project Manager Tech Lead / CSM India Client (typical) The larger the Client’s delivery involvement is, the less likely that the terms of a distributed agile contract can be fixed bid, and the more likely that enablement will be the top priority.
  • 13. 13 Estimating functional and non-functional scope  In all Agile projects, estimation is very important, and is necessary to plan releases and iterations  Estimation units of a team often need to be translated into terms meaningful to the client  The client’s units of measure vary, from story points, ideal days, actual days, use case points, function points, use cases, stories, large functional specifications, “a system sufficient to replace the existing”, etc.  Contractually, if the contract is not time and materials, something other than time must be delivered and measurable in order to justify payment, and for distributed agile contracts the more easily and exactly the items or units can be measured and verified, the more clear communication will be and generally the better the relationship  Clearly, it is very important to define the “Definition of Done” (everything implicitly included with a delivered with a product backlog item), within the team and in collaboration with the product owner. Ideally this includes pre-defined acceptance tests and the effort to define and deliver them with requirements and executable code are included when doing detailed estimates  The main point to make for distributed agile contracts is that you should define the unit of measure in a manner that is clearly described and understood in the agreement, and can be managed, with incremental acceptance. We have found story points, similarly small-sized product backlog items, Use Cases, UCP and function points to all be useful measures in this regard.  Teams often forget to include estimates in what ever units they are using for non-functional requirements in fixed bid contracts – or sometimes, even to adequately define these requirements; the measurement of scope should include everything needed to complete delivery
  • 14. 14 Acceptance Testing  Agile contracts or their associated proposals should define what acceptance tests are, who writes them, validates them, performs them, where, and when.  I often contractually suggest that the client participate in the definition of the acceptance tests during the preparation of stories or use cases, and that they be discussed and validated consensually in the requirements workshop  Acceptance of the delivery of an iteration is specified contractually to be associated with the passage of the scope’s related acceptance tests, and in a fixed bid contract or a pay for production contract, this acceptance is often associated with the release of a payment.  A KPI I recommend tracking is the % of functional tests automated, and I prefer to state in the contract that feature delivery acceptance is assumed within a short period of time (eg 10 days) if automated acceptance tests pass and there is no indication by the client or team of other reasons not to accept the delivery  UAT is usually, at least with our clients, a separate phase of time that includes some additional risk in terms of time and budget, but which is absolutely necessary. We invite client representatives to iteration end demos and provide access to the project dashboard to reduce this risk.  Customer visits to the offshore development site can be coordinated with demos and acceptance testing of the most recent iteration’s delivery if planned appropriately, and this practice greatly increases the offshore team’s satisfaction level and the client’s confidence and trust in the offshore team.  In distributed agile projects, the importance of comprehensive and automated functional and non-functional testing is critically important to serve as an objective indicator of project quality and progress. Tools such as Rally Dev, Version 1 and others provide information radiators to keep client and vendor in sync, and their usage is often stipulated in our contracts.
  • 15. 15 Warranties and Reversability  Most vendor attorneys generally advise limiting the warranties provided by the vendor in many important ways  However, clients wish to be reassured that the vendor is engaged and committed and aligned with the client’s business needs.  These terms vary from country to country, and I have found warranties to be stronger in Europe than in the US in many cases. A common European standard is to guarantee that a custom app will be free of major or blocking defects for a period of 3 months after delivery to production, and most often provides correction services at no charge. There may be penalty clauses for the vendor in the event of major defects that require liability insurance to be purchased.  Reversability clauses deal with the event that the Client decides to switch vendors or in-source the application’s continued development or maintenance, by providing for a knowledge transfer process supported by the vendor for a certain period and with specific measures for completeness.  Reversability clauses in a distributed agile team may require travel and/or translation services, so an appropriate budget should be defined and costed into the contract at the time of its negociation.
  • 16. 16 Case Studies  Case 1 : Employment agency application  Distributed Agile project  Fixed bid converts to bid per iteration  Organisation and contract evolves and adapts  Case 2 : eBusiness Catalog, eCommerce and POS Agile contract evolution in large distributed agile program  Large distributed agile project  Several interesting contractual forms  Organisation also evolves and adapts, learning together
  • 17. 17 Case 1 : Employment agency application Fixed bid -> bid per iteration  Refactoring and port of a large temporary employment agency application  Rewrite in Java of a large Forte application, identical feature set and human interface  The distributed agile project was staffed with a relatively offshore team and smaller local team  Project size : 6 500 person days  Duration : 24 months  Application to manage employment agency candidates (1000 agencies with > 5000 users)  Acceptance criteria : Quality metrics  Basis for invoicing : Acceptance of the iteration  Project Results :  Exceeded initial fixed bid budget by 3 iterations  2% defects beginning at the UAT (14000 functional test cases)  Piloted September 2007 and went to production December 2007 Fixed Bid June 2005 December 2005 June 2007 August 2007 Bid per iteration / incremental acceptance UAT Re-Negotiation
  • 18. 18 Case 1: Employment Agency Application How did this contract affect the team?  The initial contract was bid for a fixed fee, with fixed scope, and though a desired time frame was agreed, there was no penalty for late delivery  The onshore team was initially the sole point of contact with the client. They developed close rapport, negotiated the contract, provided estimates and built the requirements and architecture. The client wished to communicate in french and did not have face to face contact with the offshore team.  The offshore team was not involved in validating the onshore architect’s estimates, and did not feel committed to the estimates, the contract or to the client  Strained relations developed between the onshore and offshore teams, internally, and eventually with the client as quality expectations were not met. The client seemed unreasonable.  A “blow-up” occurred when the quality level was consistently not acceptable.  The parties met, including representatives from offshore, addressed some technical issues related to human interface requirements, and renegotiated the budget and contract to permit re- estimation and budget fixing by iteration  The now more collaborative and integrated team went on to successfully deliver the application.
  • 19. 19 Case 2 : eBusiness Catalog, eCommerce and POS Agile contract evolution in large distributed agile program Project was to implement an integrated multi-channel eCommerce solution with a new POS in 220 stores  Progressively replace features of 7 legacy apps with a custom Java / WebSphere Commerce Server solution  Distributed agile program began in France and shifted over time to large distributed team  Project size : 15 000 person days. Duration: 3 years  4 contractual modes : • V1.C – Product Catalog, fixed bid, fixed scope – but no time boxing and 8 month delay! • V1.S - Sales (Point of sale) with integrated Catalog and eCommerce site – T & M with bonus /penalty. • V2 - Evolved Catalog and Sales for full production roll out – pay per productivity with velocity assumption • V3 - Time and materials support agreement, capped budget, prioritized backlog Fixed bid duo-shore « agile » Jan 2005 December 2005 June 2006 Time and materials with KPI – strong offshore T&M UAT Negotiation • Change project management, France -> India • Rebalance French/India team and roles • Create direct India/customer communication • Quality and productivity indicators put in place V1.C POC Dec. 2006 V1.S Negotiation • V1.C delivered • V1.S negotiated, POC begun • Revamped process, ramped team
  • 20. 20 Case 2 : eBusiness Catalog, eCommerce and POS Agile Contract Evolution… BIG ramp up, T&M +/- Janvier 2007 June 2007 June 2008 Pay per UCP, Rising Velocity assumption Negotiation • Fine-tuned process for integration • Established UCP cost and budget • Forecast velocity and acceleration V1.S V2 T & M with a cap NegotiationNegotiation • T & M with + / - • Established PD budget • Productivity & Quality • With trust established, returned to a simple time and materials mode for support of deployment and production V3
  • 21. 21 Case 2 : eBusiness Catalog, eCommerce and POS Agile Contract Evolution…  the T&M contract with bonus / penalty clause was in response to client demand for fixed bid and vendor concern about estimation risk and acceptance speed.  This contract form had an effect on the team of very strong motivation to deliver completed use cases (use cases which passed their functional acceptance tests), but sustainable pace was not maintained. Morale was none-the-less very high.  During this period, January – March 2007, the team ramped up from 18 to 90+ members, from 1 to 4 delivery locations.  The team earned the 5% productivity bonus by delivering 99,5% of Use Cases, but had a 2.5% penalty for quality based on integration tests  The planned 2.5 month UAT and Beta test period was extended to 3.5 months, and a larger team than planned was maintained.  During the release retrospective workshop we determined to broaden integration testing and define collections of use cases that together delivered potentially shippable increments and real customer value, and focus on ways to increase efficiency and production. We also agreed to discontinue the bonus / penalty clause. Quality Productivity Person Day In-Budget Variance Defect Rate and Severity KPI Quality Productivity OK 2.5% Penalty 5% Penalty 5% Bonus +5% +2.5% 0 Neutral 0 -2.5% -5% 5% Penalty -5% -5% -5% V1.S
  • 22. 22 Keep it simple?  A part of the contract on bonus / penalties we decided to discontinue… 70% 80% 90% 95% 100% -5% -2,5% 0% 2,5% 5% 70% 80% 90% 95% 100% -5% -2,5% 0% 2,5% 5% Inférieur ou égal à V1 Feature Complete (V1 F) Bonus / Malus au 15/6/2007 V1 Acceptance (V1 A) Bonus / Malus au 31/3/2007 Formule de calcul : ∑ ((UC A / (UC A+UC Raf)) x UC Init) V1A = ∑ (UC Init) V1.S
  • 23. 23 Case 2 : eBusiness Catalog, eCommerce and POS Agile Contract Evolution…  The client was ultimately satisified with the team’s delivery in V1.S, but felt that productivity could be improved.  We agreed and together defined a budget for feature development estimated in Use Case Points (UCP).  After substantial debate on whether velocity could be predicted, for commercial reasons and based on some thin research on theoretical UCP productivity, a new contract was agreed.  The contract stipulated that we would bill the client for UCP delivered, and in effect, over a six month period, (6 four week iterations), deliver to the client a UCP productivity per person that corresponded to the research.  The total UCP (plus some) engaged by this contract were delivered, but only after 9 iterations. The team became more efficient but not as much as predicted.  Substantial collaboration was necessary between client, business analyst, technical leads and project management to permit planning and accepting the UCP for each iteration  This ultimately resulted in a high trust relationship – and the contractual eventually evolved again, into… Time and materials.  The project was deemed a success – and also a substantial learning experience. V2
  • 24. 24 New contractual forms to consider? - Valtech has introduced Software on Demand
  • 25. 25 What did the manifesto say about contracts? Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. © 2001 http://agilemanifesto.org
  • 26. 26 Conclusion  Agile contracts are especially important for clients and vendors when large commitments are at stake  As an agile project itself, contractual forms evolve during a project  It is better for both parties to gain some experience with a smaller commit level, and to inspect and adapt the contractual form  Direct communication between the team and client are essential to optimize the learning and evolution of the relationship and related contract  Customer Collaboration trumps Contract Negociation – but contracts can be negotiated collaboratively and can be written to favor collaboration!
  • 28. 28 Thanks! Greg Hutchings E-mail gregoryhutchings@gmail.com Ligne directe +33 (0)1 53 57 73 56 Mobile +33 (0)6 87 25 00 58 Greg Hutchings E-mail gregoryhutchings@gmail.com Ligne directe +33 (0)1 53 57 73 56 Mobile +33 (0)6 87 25 00 58