Reducing the Cost of Your Database Project

Performing a preliminary needs analysis before calling a programmer will save you money.

There are two kinds of needs analysis that will save your company money: a preliminary needs analysis you can perform, and the one your programmer will perform. Many companies want to bypass this process and jump right into the project, which they think will save them money. “Why didn’t we think of this before?” is the phrase heard most often when a company refuses to do a needs analysis and the project is behind schedule or going in a direction that is confusing to the company and programmer alike.

Beginning The Process

Mission statement

The mission statement is one of the most important steps in the process. It will guide you through the rest of the process and keep your project on track.

A mission statement is a short description of what you want to accomplish with the database. 

A few examples might be:

“The Employee database will keep track of employee information.”
“The Inventory database will keep track of our companies parts inventory.”

At this point you may say to yourself, “The mission statement does not really say all I want the database to do.” The mission statement is only intended to help you focus on the primary objective of your database application.

Assembling The Troops

Once you have your mission statement, assemble the people who will be affected by the database. You will want one representative from the following areas:

  • End Users (The People who will be using the database, i.e. data entry personnel).

  • Data Sources (Other departments where your database might utilize already existing data, i.e. Human Resources, Shipping and Receiving).

  • Management

  • Executive

  • IT Group

Managing The Process

Now that you have a Mission statement and have chosen the employees who will participate in the process, choose the Discussion Leader. During meetings, the discussion leader is responsible for keeping the focus on the Mission statement and documenting discussion elements.

If there is already a database application in place that does not fit your needs then the discussion should focus on:

  • Good points of the database.

  • Bad points of the database.

  • What information does the database reporting now provide, should provide and the usefulness of that information?

  • Good and bad points about the way reports are laid out. Is there too much or too little information on the reports?

If this will be a new database then the discussion should focus on:

  • The willingness of all departments to share existing and new data.

  • What department will be responsible for the database?

  • What information does each department want the database to provide?

  • What changes in the company might affect the information needs?

  • Will a single user or multiple users access the database?

  • Gather Screen shots or sketches of how reports might look.

The Discussion Leader or the appointed secretary should document discussion elements from meetings. If you are the final decision maker on the project, review each element and note your Likes and Dislikes. Meet separately with each meeting participant and review your comments. At the end of the meetings you will have a good idea of your information needs and each departments participation level.

The Final Outcome

The final outcome should produce the following results:

  • Mission statement

  • Point Of Contact for the project.

  • Point Of Contact for each department involved in the project.

  • Information needs of each department.

  • Knowledge of existing data sources. 

  • How your database might affect other departments.

  • Single user or multiple users access to the database.

  • Screen shots or sketches of how reports might look.

Having a preliminary needs analysis completed will facilitate the analysis your programmers must perform for themselves. The programmer’s analysis will be much more detailed than the initial one you performed, but at least the programmer will have a good starting point.