Professional Documents
Culture Documents
me/PrMaB
www.data-solutions.ch
https://t.me/PrMaB
Content
https://t.me/PrMaB
5.3 Capped time and materials with variable scope
5.4 Capped time and materials with fixed scope
5.5 Incremental delivery
5.6 Bonus and penalty
5.7 Fixed profit
5.8 Target cost
6. Conclusion
7. About the author
https://t.me/PrMaB
1. What is this book about?
This book will help you understand why budgets and contracts are crucial
success factors of your agile project. It includes clear budget examples and
contract models to make your life easier when facing the task of creating a
budget or contract for your own agile project.
Whether you are on the client or supplier side, when you are involved in
creating a budgetor contract for an agile project and want to prevent
undesirable outcomes by design, then this book is for you. This book is
particularly useful if you are a:
product owner
project manager
program manager
portfolio manager
contract lawyer
As a warning, this guide is a short crash-course. I don’t explore millions of
different contract models and options. I also don’t focus heavily on the
nuts-and-bolts of budgeting you can find that stuff out from other sources.
This book is not about creating the perfect budget in Excel or drafting the
ideal contract. It’s about creating budgets and contracts that support agile
project management instead of hindering it; it is about contract models that
support collaboration and mutually beneficial relationships, about
understanding where risk is present in agile project management. I focus on
the few things that really matter.
Don’t get distracted by all the people offering agile certifications, agile
coaching, agile books, or agile games when it comes to budgets and
contracts. They may be helpful to improve your Scrum process, your
delivery speed, your team building, your product quality, but most won’t
overcome your failure to fix the common errors that many organizations
make in their budget process and contract writing.
https://t.me/PrMaB
On big projects, none of your agile process details matter if you haven’t
established the economic basics first.
https://t.me/PrMaB
2. Why agile budgets and contracts?
https://t.me/PrMaB
companies admit that they are unclear about the business objectives
of their IT projects. (Harvard Business Review)
A study of 5,400 large-scale IT projects (projects with initial
budgets greater than $15M) finds that 17 percent of large IT
projects go so badly that they can threaten the very existence of the
company. On average, large IT projects run 45 percent over budget
and 7 percent over time, while delivering 56 percent less value than
predicted. (McKinsey Study)
As per an IBM study, only about 40 percent projects meet budget,
schedule, and quality goals. (Harvard Business Review). We are not
even talking about promised scope!
About 75 percent of IT executives expect their software projects to
fail. (Geneca)
The US economy loses $50-$150 billion because of failed IT
projects every year. (Gallup Business Review)
Around 60 percent of companies do not measure ROI on their
projects. (KPMG New Zealand: Project Management Survey 2010)
https://t.me/PrMaB
3. Agile budgeting
There is a ton of literature and training material about agile estimating and
planning. My personal recommendation would be the book and online
course by Mike Cohn on this topic. But even after this training, it is still
unclear for many how to make the leap from estimations and planning to a
sound budget. This chapter will create the bridge between estimations and
planning and a sound budget. Although my focus is on budgeting for larger
companies, because that is where I have my experiences, I am sure that it
can be useful for smaller companies as well.
“Don't tell me what you value, show me your budget, and I'll tell
you what you value.” —Joe Biden
https://t.me/PrMaB
7. How will we get this project to go live? (implementation strategy)
8. How will we measure success/make money from this product?
(metrics/revenue strategy)
9. What factors are critical to success? (solution requirements, skill
requirements, budget)
10. What are the main cost drivers? (people, licenses, hardware)
11. Given the above, what’s the recommendation? (go or no-go,
continue or stop)
The answers to the questions above will guide you in creating a budget that
makes sense. It also gives you guidance on scope and timelines. Instead of
setting all these things arbitrarily, use your answers above to define these
parameters. It is like the old service law. Service can be good, fast and
cheap. Pick any two. When your deadline and scope are fixed, you need a
lot of money. When time and budget are fixed, then you can only play with
your scope.
Did I not just say that we need budgets? We do, but not all budgets are
created equal. The typical large company is organized into cost centers;
each cost center must contribute project spending or people (the primary
cost element) to the new effort. This creates a number of problems,
including:
1. The project budget process is slow and complicated; it takes many
individual budgets (one per cost center) to create the project budget.
2. It drives teams to make detailed decisions far too early in the
project. Teams are forced to come up with plans that are just
guesses; if they can’t identify all the tasks, how can they estimate
how many people are needed, and for how long?
https://t.me/PrMaB
3. The assignment of project team members is a temporary thing; the
organization assumes people will come back into the cost center for
future assignments. If they don’t, other planned projects will suffer.
4. The model drives cost center managers to make sure everyone is
fully allocated. However, running projects at hundred percent
utilization is an economic disaster. Any small amount of unplanned
work will cause delays, which will be even worse because of time
spent on re-planning.
5. The model prevents individuals and teams from working together
for longer than the duration of just the one project. This has a
negative effect on knowledge acquisition, team performance, and
employee engagement.
Once the project is initiated, the challenges continue. The actual needs of
the business change quickly, and the reality has not much to do anymore
with the assumptions that the project made. However, the projects cannot
adapt to the changing priorities, because their budgets and people are fixed
for the project term.
The result is that the organization is unable to adapt to the changing
business needs without the overhead of re-budgeting and reallocating
personnel. Overhead kicks in; economics suffer. The cost of delay (the cost
of not doing the thing you should be doing) increases.
But we are not done. Software development cannot happen without takings
risks. By its very nature, development is extremely difficult to estimate
because it contains a large degree of technical uncertainty. And everyone
knows that most things take longer than planned. Moreover, even when
things go really well, stakeholders may want more of a specific feature.
That takes longer, too. Again, project-based funding hinders forward
progress, culture, and transparency.
When a schedule overruns for any reason, it is necessary to analyze the
variances, re-budget, and re-plan. Resources are scrambled, and
reassignments of personnel occur. Other projects are negatively impacted.
The “blame game” sets in, pitting project manager against project manager
and financial analysts against the teams. Any project overrun has a
https://t.me/PrMaB
budgetary impact. The casualties are transparency, productivity, and morale.
So ideally you would fund initiatives or larger programs, not single
projects. But the reality in most companies is that funding is on a project
level, so let’s have a look at how this can be done for agile projects, and
start with the first question you will have to ask yourself.
“The more people you have to ask for permission, the more
dangerous a project gets.” ―Alain de Botton
The two fundamental features of Scrum projects are that they will have a
stable team setup and iterations with a fixed duration—for example, two-
week iterations. When you have these two pieces of information, you can
https://t.me/PrMaB
compute the costs per iteration. Sounds simple, but the approach has a few
challenges.
Let’s start with the team composition. We will assume what is typical for
projects in larger companies, which is a mix of internal employees and
external contractors and consultants. For each team member, we will need a
few pieces of information.
Role: Product Owner, ScrumMaster, team member (business analyst,
software engineer, tester).
Daily rate: Most companies will have a fixed daily rate for internal
employees. Based on their level, they will sometimes be different, but
typically there is one rate for all employees that includes all costs. External
employees will have a daily rate specified in their contract and, when
relevant, you should add VAT to this rate to get the real cash-out costs.
When you have not yet fixed the rates of the external employees, you will
have to estimate them. I prefer to take a range and create a low-cost and a
high-cost projection of one iteration.
Allocated time on project: In an ideal world, the team members are
working full time on this project, but this is often not the case. We will have
to determine the percentage of their time that they will be working on this
project.
Burn rate per iteration: This is the cost that this team member will incur
per iteration, under the assumption that he or she will work the agreed
allocated time on the project. I always assume twenty working days per
month for budgeting. In this example, it's ten days per two-week iteration. I
know that people who are allocated 100 percent on the project will not work
260 days a year. Typically this will be around 220 days a year (Switzerland
and other countries will have fewer or more days off).
Internal/External: For computing the cash-out in your budget, you will
need to identify which costs are internal and which are external.
An example of internal and external costs for a team:
https://t.me/PrMaB
When you are budgeting a larger project with multiple Scrum teams, you
just do this exercise for each team. I budget them separately, which means I
will have a line in my budget for each team and do not have a total cost per
iteration. This is because not every team will have the same number of
iterations.
When your project includes project management office (PMO) resources,
such as a chief product owner or a program manager, you can do two
things: create a separate team for them and do exactly the same exercise as
above, or add each one of those resources for a certain percentage to an
existing Scrum team. I have seen both, but I prefer the first one and call the
team "Program Management." This way, it is very clear that they are
managing and not building, and you prevent long discussions regarding
team percentages.
One other team that I have added to some budgets is the Initiation team.
Before everything is in place for a larger project (including a final budget
approval), a small team starts the initiation and elicitation of the project.
And yes, I let this team work in iterations as well. Why?
1. Management is not willing to commit to starting the project without
having a view of the total scope and cost.
2. A business case is required to make a decision whether to go ahead
with the project at all.
3. Multiple stakeholders must agree on the scope of the deliverables
for the project before it is sanctioned.
An example of internal and external costs for multiple teams:
https://t.me/PrMaB
After I have the cost per iteration, per team (including the overhead team, as
shown in the example), I can start the next step.
There are thousands of articles and videos on agile estimating and planning,
so I will not address how you can do this here. What we will need from
each team for our budget is the number of iterations that are planned. This
can be done by estimating the product backlog and dividing it by the team's
(estimated) velocity. You will not even have to do this for some projects
because the time is fixed, and you know the maximum number of iterations
up front. The overhead team always has the same number of iterations as
the team with the largest number of iterations.
When we have this information, we can compute the total project budget for
each team. When the project runs over multiple calendar years, you will
have to split the numbers by year. This means that you count the iterations
per calendar year for each team.
An example of total project budget for each team:
This answer will be "yes" for almost every project. Additional costs are
incurred through local hardware and software for the software engineers
and testers as well as the infrastructure for the final project. Development
https://t.me/PrMaB
environment, test environment, user acceptance testing environment, and
production environment will cost money to buy, set up, and maintain. I do
not allocate these costs to a team when it is not forced by accounting. I will
add a line for hardware, a line for software, and a line for setup costs
(typically an external IT provider or internal IT costs). Other possible costs
are travel (for example, one team is at a different location), workshops, and
training. Again, these are project costs and not team costs.
https://t.me/PrMaB
Besides creating a more reliable budget by design as part of the Scrum
process, Scrum projects guarantee transparent budget control on the way.
Cost explosions, which might need to be accepted in a Waterfall project if
you want to actually see your software in the end, can be avoided with
Scrum. The project sponsor will still receive a high-quality software
product, albeit with fewer features than initially planned.
What happens if, after a few iterations, the estimates are much higher than
the initial estimates? Does the project sponsor lose all control over the
budget in Scrum projects? The opposite is actually true. The project sponsor
always has options due to the new, incoming information about the total
budget. This is one of the main advantages of Scrum. Early on in the
project, the project sponsor has functional software containing the most
prioritized functions and offering the greatest benefit. In this case, the
project sponsor has four options:
1. If meeting all requirements is expected to cost more than budgeted,
the project sponsor can abort the project at an early stage. A basic
version of the project is generally released after just a few
iterations.
2. The project sponsor can let the project run until the planned budget
is consumed and then suspend or terminate the project. In any case,
they will have functional software that contains the most important
functions.
3. The project sponsor has the option of changing the project scope by
postponing or omitting less important functions.
4. The project sponsor can increase the budget.
Scrum allows the project sponsor full budget control and thus full flexibility
while reducing the risk of cost explosions because of big-bang
implementations.
https://t.me/PrMaB
4. Agile contracting
https://t.me/PrMaB
This is the case with waterfall projects, but even more so for agile projects.
This is because most existing contract types within large companies are not
suitable for agile projects. They do not incentive the supplier to do its
best/fastest work (time & material) or try to put all risk on the supplier
(fixed cost).
The structural and legal aspects of agile project contracts are the same as for
contracts of more traditional development styles. The key difference is the
approach to, and understanding of operational process and delivery and how
this is included in the contract.
An understanding of agile and lean principles is necessary for procurement.
Applying iterative development leads to less risk and exposure, and that
needs to be expressed in the contract. An agile approach enables rapid
incrementally deployable deliverables and collaborative decision-making
between the parties, and so relieves pressure on liability, warranty, and
similar issues.
Do not assume that contract negotiations are less complex for procurement
departments who understand agile principles. It is important to recognize
that contracting is a complicated process, especially in a domain of high
complexity and uncertainty such as software development.
Lawyers must continue to pay close attention to the legal framework that is
necessary to deal with a breakdown of trust and collaboration between
parties.
https://t.me/PrMaB
1. competitive (my win is your loss)
2. cooperative (win - win)
3. indifferent (I do not care - you lose)
4. dependent (heads I win - tails you lose)
These relationships are typically driven by the party who is carrying the risk
of failure. We will discuss this in the next chapter at the hand of our
discussed contract models.
“It does not take much strength to do things, but it requires a great
deal of strength to decide what to do.” ―Elbert Hubbard
https://t.me/PrMaB
planning. So no special change-management process, board, or request
mechanism is needed. It is critical for procurement departments to remove
old change-management language from contracts because such language
typically blocks working agile.
Change in project scope requires the most attention in an agile contract in
order to make change easy and frequent in the collaboration between client
and supplier. Avoid mandating change-management boards, change
requests, or special change processes.
But, as with project scope, there are variations in change-management
flexibility, ranging from high flexibility without penalty when using flexible
scope contracts, to medium flexibility with shared gain/pain when using
target-cost models.
https://t.me/PrMaB
will have clear and up-to-date views on the state of the deliverable. These
are crucial points for procurement departments to grasp.
4.6 Is it finished?
https://t.me/PrMaB
people, i.e. the hands-on users, involved in acceptance, and at each iteration
are they collaborating with the supplier?”
https://t.me/PrMaB
5. Agile contract models
https://t.me/PrMaB
So a Scrum project is simply a series of mini projects with fixed
parameters:
Time: iteration length
Scope: iteration backlog
Quality: definition of done
Cost: team size * iteration length
Without exception, you can apply this concept within any of the following
contract models.
All contract models will be explained at the hand of one simple example. A
project with around 110 person days of work, the daily rate is $ 1500, and
the profit margin of the supplier on this rate is 20 percent, i.e. they earn $
300 on every person day sold for $ 1500.
Agree on the deliverables, and deliver it. Send a bill. Clients like fixed price
projects because it gives them a sense of security (or at least they think so).
https://t.me/PrMaB
Scope changes would lead to a change of contract and new negotiations.
Very inflexible. Termination is typically at delivery of full scope, or after
the client has paid the penalty to get out early.
Obvious risk is on the side of the supplier. If the estimates are wrong, the
project will lose money. Less obvious risks are the change request game,
through which the supplier negotiates additional revenue through scope
changes. If the supplier had badly underestimated the effort or quoted an
unrealistically low price, the losses could threaten the existence of the
supplier, which also represents a problem to the client.
The relationship between client and supplier is competitive to indifferent.
The client generally wants to have more, and the supplier wants to do less.
The supplier wants the client to be happy, so usually the supplier yields.
The word “et cetera” is very dangerous in a specification to a fixed price.
All project managers should be familiar with this kind of type, because
every one of them basically “signs” one when they present their project
charter document to their Steering Committee. Boom, scope, time and
budget fixed…When you are forced to do this, make it a Waterfall project,
because it has nothing to do with agile project management.
Work for a month, then send the client an invoice. Suppliers like it because
the client carries the risk of changing his mind.
https://t.me/PrMaB
Scope changes are not an issue. The client can decide what the supplier
should work on. Every person day is paid.
Termination is as soon as the clients say so, it ends. Typically, with a month
or so upfront.
The risk is carried one hundred percent by the client. The supplier has little
incentive to keep costs down. Effort to ensure that only legitimate effort and
expenses are invoiced can be substantial.
The relationship is indifferent. The supplier is happy when more work
comes because more work means more money.
Recommended for projects where the client can better manage the risk than
the supplier. This is often combined with a cost ceiling, although this can
degenerate into a “heads I win, tails you lose contract” if too much pressure
is applied on the price.
https://t.me/PrMaB
Capped time and material contracts work in the sense of traditional time
and material contracts. However, there is an upper limit to how much
customers will have to pay. In this way, suppliers benefit with early time-
frame changes while clients only have to pay up until the capped cost limit
is reached.
Scope changes are not an issue. The client can decide what the supplier
should work on. Every person day is paid.
Termination is as soon as the clients say it ends. Typically with a month or
so upfront.
The biggest risk is that the budget will expire without achieving the
necessary business value for the client. The client won’t get everything he
asks for.
The relationship will be cooperative. The combination of limited budget
and variable scope focuses both client and vendor on achieving the desired
business value within the available budget.
Smart way of handling such contracts is confirming an iteration contract in
writing (e-mail) at the beginning of every iteration.
https://t.me/PrMaB
5.4 Capped time and materials with fixed scope
Capped time and material contracts work the same as traditional fixed price,
fixed scope contracts, except if the vendor gets finished early, the project
costs less, because only actual effort is invoiced.
https://t.me/PrMaB
5.5 Incremental delivery
New business goal for each release, compatible with a product backlog
prioritized by the product owner.
Both sides can decide to end the collaboration after each phase.
Client’s risk is limited to one-quarter’s worth of development costs.
https://t.me/PrMaB
The relationship will be cooperative. Both the client and the supplier have
an incentive that each release be successful, so that additional funding will
be approved.
This mixes well with capped time and materials with variable scope. You
can specify the release goal, daily rate and cost ceiling in the contract. The
client provided the product owner. Everything else is determined in the
iteration contracts.
The supplier receives a bonus if the project completes early and pays the
penalty if it arrives late. The amount of bonus or penalty is a function of the
delay. Often applied for construction projects, e.g., roads, tunnels, and
runways, for which it works well. Scope changes are not an issue, and
genuine economic costs drive the client to achieve the deadline as well.
With IT projects, this is a sure setup for lawsuits.
https://t.me/PrMaB
Does the client have an incentive for early completion? The ROI arguments
must be compelling and transparent. Otherwise, the client gets a cheaper
solution the longer it takes.
Could be cooperative, but might degenerate into indifferent if the client
does not truly need the software by the date agreed.
Any project budget consists of effective costs and profit. The parties agree
on the profit margin in advance, e.g., 20 percent. The client can back out
after “any iteration” by paying a cancellation fee of the profit part of the
remaining effort.
Can be variable - it is possible to finish early. This only works with agile
development, because only agile methods deliver software incrementally.
Risk is shared. If project finishes early, the client pays less, but the supplier
still has his profit. If the project exceeds budget, the client pays more, but
the supplier does not earn additional profit. After the target delivery date,
the supplier may not invoice any more profit, just cover his costs.
https://t.me/PrMaB
Cooperative - both have a clear incentive to finish early. The client saves
money, and the supplier has a higher profit margin.
In target cost contracts, parties involved with the contracts agree on a final
price during negotiation. These contracts allow cost savings for both parties
if contracts run below budget, but also allows both parties to be faced with
additional costs if contracts run above budget. This is a combination of
several approaches. Work is basically on a time and materials basis with a
cost target. However, the intention is that the project will not use up the
entire project budget. After a certain amount of functionality has been
delivered, the client should realize that enough business value has been
realized that further development is not necessary and can, therefore, cancel
the project. A cancellation fee equal to the remaining profit is due.
https://t.me/PrMaB
Risk is shared. Both parties have an interest in completing the project early.
Client has lower costs; supplier has a higher margin.
Cooperative - both have a clear incentive to finish early. The client saves
money, and the supplier has a higher profit margin.
If the budget is exceeded, the rules of the fixed profit or cost ceiling
contracts can be applied. The fixed profit approach is more consistent with
the goal of fostering a cooperative relationship.
https://t.me/PrMaB
6. Conclusion
In order to run your project in an agile way, you have to make sure your
budget and your contracts support the way you want to run it. There is no
one size fits all, but in general, you can say that reserving a budget, but
releasing it to the team on a sprint to sprint or quarterly basis works very
well for bigger projects.
For very large projects, the first thing I would advise to do is split it up into
smaller projects. Large projects have the tendency to fail, no matter how
you run them, and it is impossible to focus efforts when the project has fifty
plus parallel deliverables planned. In almost all cases, it is unnecessary to
run one very large project. Keep your efforts manageable and focused.
For new technology projects and products, make sure you run a proof of
concept/prototype project first. Sunk costs in the case of failure are far
much lower, and cost of delay are much lower in the case of success.
Regarding contracts, I am a big fan of the target cost and incremental
delivery models. Of course other models can work well depending on the
situation. But no matter what you do, I would advise using iteration
contracts when you work in an agile way. They can be informal short
emails, but it sets expectations for all parties involved, and this is never a
bad thing.
https://t.me/PrMaB
7. About the author
Henrico Dolfing has been a project rescue consultant for almost a decade.
His company Data Solutions advises companies in the financial sector on
large IT projects.
His expertise in software development and experience with agile processes
and techniques allows him to rescue projects that are in critical phases on
the verge of failure and lead them back to success.
Born in the Netherlands, one of the flattest countries in the world, Henrico
spends all his spare time in the Swiss mountains enjoying alpine marathons,
climbing, downhill mountain biking, river rafting or leisurely hikes with his
wife.
Connect with Henrico on LinkedIn or Email
LinkedIn: http://ch.linkedin.com/in/henricodolfing
Email: henrico.dolfing@data-solutions.ch
https://t.me/PrMaB