For the basis of this example I am going to assume that you have called me about a project you would like to do.
First I will get some details about what you are trying to accomplish.
Some questions could be:
. What do you want the database to do?
. Is the application going to be completely in Access?
. If not, what kind of data tables are you going to use?
. Do you have a sample of the data entry forms you would like?
. How many reports do you think you would like?
. Do you have paper samples of the forms and reports you could e-mail or fax me?
. What kind of security will you need for the database?
. Does the data already exist and will a data conversion have to be done?
. When do you need the project up and running?
Next, I would generate an estimate of the amount of time the project will take. Two philosophies come into play.
There are those who expect a contractor to create an estimate and stick to that estimate. This means that all the defining of the tables, forms and reports as well as the applications functionality are defined ahead of time and because the contractor has bid a fixed amount the contractor cannot deviate from the estimate at all. Usually the contractor is paid on a per project basis. Each modification of the project gets a new estimate and goes through the whole cycle again.
Then there are those who expect an estimate in order to get an idea how much the work will cost knowing that there will be changes to the scope of the project down the road. Here the definitions are vaguely thought out but the final functionality of the application is very clear. For this type of project the contractor is paid on an hourly basis and is given the leeway to make changes as the project is progressing, after getting approval from the client of course.
Even though I have done work using both methods I prefer to work in the latter way. I find it more cost effective to be able to change the project while you are at the point that it can be changed rather than finish the project and then make changes later. Also, with this style you are required to keep in constant touch with the client throughout the life of the project as opposed to getting every little detail, go someplace and develop the project and then bring it back for review.
By working on an hourly basis with an idea of how the application should function, I find I can be more responsive to the client’s needs and the client’s satisfaction with the final product will be greater. Also, if I have misunderstood something, the error will show up early in the project and it will be much easier and less costly to correct.
The First Draft
After the client has given the "go ahead" with the development of the project. I will create a "Rough Draft" database that will demonstrate the functionality of the main points of the database. This will include data entry forms and one or two sample reports. At this point in time the database is in its most rough form.
The Data Conversion
Next, if any data conversion is to be done, it is done at this time in order to make sure the data entry forms and the functionality of the database will accommodate all the data being imported into the new system. Usually this is were clients discover that they did not take into account a key part of the system that they need and I have to make changes to tables and data entry forms in order to provide the new functionality.
The Second Draft
The second draft of the database is when I polish the appearance of the application. At this time I will add in menu, summary and, when requested, login forms. I will add in "combo box" definition tables and system maintenance forms. Also, I will start to develop the reports needed by the client. I will then send off this database for the client’s review. This database can become the first production version of the database if there are not any major changes needed.
What’s Next
From this point forward I go into what I call iteration cycles, or version control, where you call me with changes, I make the changes on my copy of the database and send you an
update program that will make the changes to your copy of the database. This update program has been developed by me over the years and I have found it very effective at updating a clients database with new functionality while keeping their data in tact.
How can I keep track of what you are doing?
This WEB site is an intergal part of the communication process. In the 'Customer Login' section on the
home page, please login as user guest with a password of guest. In this section I have sample pages that tell you the total amount of time spent on a project as well as a detail log of the changes that have occurred. This log is updated on a daily basis. When you become a client I will give you your own user name and password and you will be able to check the status of your projects anytime day or night. Also, when you become a client, you will be able to pickup updates from this WEB site, instead of them cluttering your email server, as well as send sample data to me for review.
What If I Have Problems?
When calling with a problem I will usually walk you through the steps you did in order to create the difficulty. Since I have a copy of your database I will be walking through the same screens/reports that you have to see if I can recreate the problem. Some of my clients have PCAnywhere hooked up to one of their machines and by using the Internet I can hook directly up to their machine and see what the problem is first hand and usually get a solution implemented the same day.
So far, my inability to solve a problem with a database I created is at 0%. I’m sure there is a problem out there that I will not be able to solve, I just have not found it yet!