As long as you have tried to make your code adaptable and exten-
sible, using the techniques we have been discussing, this strategy will
allow you to prove that a concept works – that you can deliver the big
idea – and you can also demonstrate that your program is adaptable
enough for you to make such module-level enhancements.
This modularization of code also has other benefits besides allowing
you to separately develop and test related functionality. For example,
a clear separation between front-end interface and back-end process-
ing could make your code easier to port onto the next generation of
grid-based service-oriented application delivery platforms.
The useful/stable balance
This isn’t an either/or, and it’s not static.
There is always a trade-off to be made between the amount of func-
tionality that you can deliver and the level of testing that you can carry
out on that functionality. Make sure that your customers know where-
abouts on this continuum each release lies.
Throughout the whole process of rollout and delivery, you should
always remember that you are selling to customers. If possible, make
a presentation of the new features, even if this just means you demon-
strating how to use the program on their machine.
Invite feedback, and outline the work that you will be focusing on
during the next stage of the project. In particular, it will help when you
deliver the goods to highlight the things that they have specifically
asked for in this release.
Your own situation will determine what method of rollout and
delivery you adopt. As always, do what works.
For a preliminary delivery, concentrate on code, not documentation.
You may have to test the installation instructions by working through
them with a customer’s representative, for instance.
While you are doing this, you can be trying to determine with them
what else they will need in later stages of the project – perhaps a demon-
stration of the features of the new software to its eventual end-users,
or a desk reference to its commands.
And if you have not done so before, you can use this time to learn
what they would like you to offer in terms of post-delivery support and
feedback. In the next chapter, we’ll take a look at what this may
involve.
THE USEFUL/STABLE BALANCE 107