|
Our first step is to create the database by a
brainstorming session. At this session a very
experienced developer with a full understanding of
accountancy and business processes will sit at a
table with one or more business experts. The
business experts need to know exactly what the new
system needs to achieve. During this session the
schema (all tables and relationships between them)
will be created. The developer will continue
to assert the information provided by asking
questions such as: "One client may have many
loans but is it always true that a loan can never
be shared amongst multiple clients"? It is
often the case that some of the information provided
needs to be corrected as assertions are found to be
incorrect. We've often finalised databases
with 20-30 tables in a single day using this
technique.
When the database is complete a first alpha
release is created. This may contain many
generic elements such as user name/password log-in
screen, static data maintenance forms and mail-merge
facilities. These are created from pre-built
code modules from our code library. Everything
does not need to be created from scratch.
The application framework (alpha release 1.0) is
usually delivered upon the second working day.
Every day (or at least most days) upon which work
takes place thereafter, a new alpha release, free of
all known bugs, will be delivered to the client for
testing with release notes detailing all of the new
features added since the previous night's alpha.
The client will then test the release and provide
feedback (such as "we need a field for date of birth
on Customer records", or "There's a bug when I add a
new contact..."). This feedback is then
usually incorporated into the next night's alpha.
When all features are implemented a freeze is
declared on any more new features and the release is
declared Beta Release 1.0. From this point
forward the application is extensively tested and
any bugs found fixed. When the client is
confident that no more bugs remain the application
is declared complete and can go live as release
version 1.0.
If required documentation and training materials
can be written at any time after the first beta
release. One of the advantages of rapid
development is that the business experts who tested
the incremental alpha release are already fully
trained expert users of the application and ready to
work productively from day one.
|