These and related questions must be answered in the analysis phase, before you begin to
design your new system. In addition, you need to try to capture the constraints and limi-
tations implicit in interacting with the other systems. Will they slow down the respon-
siveness of your system? Will they put high demands on your new system, consuming
resources and computing time?
Planning Documents ......................................................................................
After you understand what your system must do and how it must behave, it is time to
take a first stab at creating a time and budget document. Often, the client dictates the
timeline: “You have 18 months to get this done.” Ideally, you examine the requirements
and estimate the time it will take to design and implement the solution. That is the ideal;
the practical reality is that most systems come with an imposed time limit and cost limit,
and the real trick is to figure out how much of the required functionality you can build in
the allotted time—and at the allotted cost.
Here are a couple guidelines to keep in mind when you are creating a project budget and
timeline:
- If you are given a range, the outer number is probably optimistic.
- Liberty’s Law states that everything takes longer than you expect—even if you take
into account Liberty’s Law.
Given these realities, it is imperative that you prioritize your work so that the most
important tasks are done first. You should not expect to have time to finish—it is that
simple. It is important that when you run out of time, what you have works and is ade-
quate for a first release. If you are building a bridge and run out of time, if you didn’t get
a chance to put in the bicycle path, that is too bad; but you can still open the bridge and
start collecting tolls. If you run out of time and you’re only halfway across the river, that
is not as good.
An essential thing to know about planning documents is that they are generally wrong.
This early in the process, it is virtually impossible to offer a reliable estimate of the dura-
tion of the project. After you have the requirements, you can get a good handle on how
long the design will take, a fair estimate of how long the implementation will take, and a
reasonable guesstimate of the testing time. Then, you must allow yourself at least 20 to
25 percent “wiggle room,” which you can tighten as you move forward through the itera-
tions and learn more.
348 Day 11