Hardwick Software Design Methodology

We work closely with our customers to define their requirements and select the most effective solutions. During the first weeks of a project we expect to spend most of our time talking with the customer and some of the end users, learning about the way they work, what tools they currently use, what tools they feel they are lacking, etc. We take this information and develop a detailed design document that includes the following:

  • Site layout
  • Database Schema
  • Navigation
  • User access definition
  • Date entry forms
  • Reports
  • Snapshot pages
  • Error Handling
  • Maintenance/Admin tools

In our rapid development environment, we prepare sample screen shots to guide us in further refinement of the application design.

Once we have agreed on the detailed design, we immediately launch into development on our own site. When we have the core framework developed, we move to the test/development area on the host server to give the customer the opportunity to take a “test drive”. We expect feedback at this point that may drive some changes.

We proceed with application development and test in-house. Then, we move to the test/development area on the host server and give the customer the opportunity to try the actual application. If external data sources are ready for import, we would do that at this time.

When the customer is satisfied that the system is ready, we port to the training area on the host server. Training is presented.

Finally, the application is installed on the “live” area of the host server and credentials are setup for the users identified by the customer. We do maintain login credentials for Hardwick Software so that we can troubleshoot any problems that may arise.

At this point, we transition from the development phase of the contract to the license phase.

Any new development follows the same path:

  • Design
  • Implement
  • Test
  • Document
  • Train
  • Release

Data Transfer Process

We have experience in transferring data from a variety of sources – Access databases, other SQL databases, XML files, plain text files, Excel files, and even old Lotus 123 files. Our approach is to first save the original data source in an archive database in the unlikely event a problem is detected at some future date. Next, we create a map between the data source we’re importing from and the new database. Finally, we write scripts to check the incoming data source for potential problems and address these issues before importing to the new system. Finally, we write a script to transfer the data to the new system. Log files are generated during the error checking and transfer processes.

Testing & Hosting Setup

The development site resides on our leased server located in the United States. We use this site for all our kernel development, initial application development and first level testing.

The production site will be on a secure server located in the United States. On this site, there will be three instances of the application – one for final testing, one for training and the live system. Under no circumstances will any actual student or program data ever be transferred from the production system to the development site.


When the initial application is ready for release, we will conduct a training session that will explain the details of the system to the users. The training is focused on the ways the system is used by each user role. We furnish a “quick-start” guide, training documentation and user manuals where appropriate.