Datasheet

Budget Planning
It is extremely dif cult to accurately forecast the cost of software development before you start. We
all wish this weren t the case, but indeed it is. There are many unknowns in the factors that impact
cost, such as requirements, technology choices, and team composition. For instance, while you may
have a list of high - level or even detailed requirements, you may be two or three steps removed from
the source of the requirements when you re preparing the estimate. Or, while you may assume that
technology used on a previous project is good for this one, you may get into unfamiliar territory
when working on speci c features for this new project. And, in the realm of people, you may not
be able to assume that a speci c person will be on the project team. Rather, you tend to work with
roles such as senior architect or database developer when estimating projects.
The project management triangle in Figure 1 - 4 depicts the three constraints that defi ne a project:
cost, time, and features. If you have a full understanding of the features, you ll be able to provide an
accurate estimate of the cost and time. This is the case in auto repair and home renovation, so why
not with software? The answer has to do with unknowns; in the world of software, you can t know
everything before you start. And what you don t know will have to be factored into the triangle,
resulting in varying costs, times, and features.
An artifact is something that is useful to a project but isn t part of the product
itself. Common examples of artifacts are task lists, schedules, and test cases.
Figure 1 - 3 shows a list that combines backlog items and tasks, to easily organize
and use them together.
Some people and texts refer to the project management triangle as an iron
triangle to highlight the fact that you cannot bend it to suit your needs.
Because of these unknowns and the xed constraints in the triangle,
you simply cannot offer a fi xed - cost commitment for a fi xed - feature
product. You therefore have two alternatives: Vary the cost or vary the
features. If you must deliver a fi xed budget, then the answer is simple:
Vary the features.
Scrum offers this alternative. The cost of a Scrum team can be
xed. If you have two product owners, six team members, and one
ScrumMaster, then you can add up their weekly wages to determine
the weekly cost. If sprints are fi xed at four weeks, then you know that
a sprint will cost four times the weekly cost of the team. Now you can
accurately predict the cost and duration of a sprint. However, customers
rarely pay for sprints; they pay for products. This leaves the third
element of the triangle: features.
TimeCost
Features
FIGURE 1 - 4: The project
management triangle.
What Do You Need to Ship Software?
9
CH001.indd 9CH001.indd 9 3/23/11 2:46:33 PM3/23/11 2:46:33 PM