Why Great Specs Make A Great Project
1. Reduce schedule slippage.
A specification review will reduce the time it takes to complete
your project. Think about your last project and see how
many of these factors caused schedule slippage:
- incorrect development estimates
- environment problems (tools, Win32 problems, etc.)
-
features added during development
In many projects, added features is the single greatest cause
of schedule slippage. This would be fine if the added features were compelling and critical to the release,
but that's usually not the case. More typically, they come from a conversation
in a hall, a giddy salesperson fresh from a customer, or (c'mon, admit it) an enthusiastic
developer flexing her wings.
A specification review won’t eliminate feature creep,
but it helps enforce a review
process that ensures the value of each feature as measured against its cost.
is usability of the system and give your
customers, whether they are in-house users or your marketing and sales
departments, a far better idea of what the system will do before it’s built.
We all know how difficult it is to schedule to a moving target.
Specifications reduce added features that postpone delivery.
2. Improve Customer Satisfaction.
Ask any priest, minister or rabbi what they believe is the most
important factor in a happy marriage.
They’ll tell you people are happiest when their expectations are exceeded.
And here’s the simple corollary:
The beauty of your software and the crispness of
your delivery won’t matter if the customer expected better.
One critical result of a good specification is to set your customer’s expectations. It’s not enough to write a specification and use it as a weapon. It’s best used to communicate, not to vindicate. That's why the best specifications include either
screen shots or a workflow diagram or, best of all, a simple prototype to walk the
customer through product scenarios.
Setting customer expectations improves satisfaction.
3. Reduce Bugs.
I know, it’s beginning to sound like a Ginsu knife. The spec does
everything.
But it really does reduce bugs.
All software internal designs make simplifying assumptions that
improve performance and streamline code. Unplanned features
break those assumptions and force special cases in otherwise
general functions.
A solid spec reduces unplanned features. The spec review
process informs developers where future features will be needed,
so the design can allow for them. And that really does reduce bugs.
A well-understood specification leads to
a consistent internal design, which reduces bugs.
4. Deliver On Time.
One last point - think about progress bars in a Windows application.
Users think a function is faster if they can see progress, even if the
progress bar slows the function.
Your customers will believe in your schedule if you deliver a
steady stream of results – even if the entire project takes longer.
If you can deliver useful milestones in a steady stream, you get
these benefits:
- you start to solve the problem sooner, which may help pay for your project
- you involve your customers during development, which improves their satisfaction
- you confirm that your project solves the problem (or find out how to fix it)
- you find bugs earlier, which is when they’re easiest to fix
Of course, you know all this. But how does a user interface specification help?
In the review process, you’ll find out what features are most important,
and what subset of features comprise a useful solution. By dividing the full feature
set into useful subsets, and confirming these subsets, you can better plan a staged
delivery that will test your assumptions and validate your design.
Delivering on time doesn't mean delivering faster. It means delivering
a useful subset as early as possible.
|