| |
Thinking The Application Will Be Unchanged After Version 1.0
One of the pleasures of creating databases is
seeing business problems solved, routine work eliminated and productivity
increased. Once workers see how useful properly written software can
be, they want more. Boring work that can be done by the computer becomes
less tolerated. Reports used by management need more sophistication.
Plan on it.
Not Having a Regular Back-up Routine
This can be heartache number one when something
goes wrong. A prudent back up system requires daily incremental back-ups
and full
back-ups weekly . Make
sure the most recent back-up is either in a fire/water proof safe
or is taken off site.
Not VERIFYING That The Back-ups ARE BEING DONE
This recent painful example is instructive.
The marketing department assumed that IT was making back-ups of the
network files. When a hard disk crash occurred, the painful truth
came out.
Not VERIFYING That The BACK-UPS ARE GOOD
Part two of this mistake is not verifying
that the back-up data is good. Many companies have thought their back-ups
were good but found they were useless when needed. One of the main
reasons is a little know habit of back-up software. If a file is open
and being used by someone on the system - the back-up software will
SKIP that file and keep going -- often without notifying anyone.
One company we know of was always doing backups in the middle of the
work day, when the files were in use. The back-up disk had few files
of value because most had been SKIPPED.
Expecting Fast Performance on a Slow Network and Slow Computers
In truth, a custom software application is sitting
on top of a pyramid of technology. There are dozens of vendors' products
that must perform well for the application to perform well. Some we
can take responsibility for, some we cannot.
Here is a partial list of technologies most applications use;
1.
The PC computer hardware and all its components.
2. The operating system such as Windows or Mac.
3. The Network and its hardware.
4. The operating system of the network.
5. Microsoft Access, File Maker Pro or other database
program.
6. Finally, the custom application.
The
entire system must operate well for top-notch performance.
Creating A Database Committee of More Than 3 People
The largest software vendor in the world,
Microsoft, limits its development teams to no more than a few dozen
people. Three knowledgeable, interested people will guide a project
much better than a committee of department heads. Software requires
VERY logical, VERY precise step-by-step thinking. Anything fuzzy
or ill defined DOESN'T work on a computer. Decision-making is easier
with a smaller group. This committee should be sure to consider
and solicit the needs and wants of the end users.
Overly Ambitious First Version
If "Everything we've ever wanted"
is packed into the first version, there has been a big mistake made.
Building a solid software application is much like building a house.
The foundation must be strong and correct for the roof to fit. If
the roof turns out to be wrong, one must rebuild from the foundation.
Databases
have structures also. Parent tables are connected to child and often
grandchild tables. These links provide the supporting structures
for the forms and reports. Like building a house, these structures
must be tested for proper fit. This is done best by building a first
version of the application, testing the structures and underlying
code, then building on it with subsequent versions.
Not Involving the End Users in the Design
The more interaction you have with the actual
users of the application, the better acceptance there will be. There
is a secondary benefit. When the application is put into use, the
learning curve will be smaller.
Not Reviewing and Testing Program Iterations Before Final Delivery
Before final delivery, applications go through
design reviews. Often these versions receive only a cursory review.
Changes made late in the development are much more costly than changes
made earlier.
Understanding That Applications are One-Of-A-Kind
Remember, custom applications are, by
definition, one-of-a-kind. If an automobile manufacturer made each
car one-of-a kind, special order, clearly adjustments would be necessary
to bring it up to a satisfactory level. Applications require extra
attention by the client during the development process so the end
product satisfies the intended purpose.
|