Database for CRASH projects
Gather requirements and build a database of projects.
In the process of planning a CRASH web site, Paola found that the information that CRASH wanted to display on the site was not currently available in a structured way.
She worked with CRASH to help define the requirements of a projects database system; she set up spreadsheets as an interim solution until a custom application could be developed.
Paola ran a requirements workshop with CRASH for an application that they could use to enter project information, generate reports, perform searches and provide data for use by the web site.
The workshop was an information-gathering exercise so that we, calling on our experience in database development, could write a short requirements document for CRASH to show to their existing database supplier.
CRASH is a charity which uses its construction industry contacts to help other charitable agencies build premises for the homeless, such as shelters or day centres. Construction and property companies are approached by CRASH on behalf of the agencies requesting help. The companies provide materials or services for free or at cost.
The requirements workshop was attended by CRASH and an Access developer who had offered to build a system at a reduced cost. CRASH explained in detail how projects came about and the ways companies got involved. CRASH were then asked to list typical questions that they would have about projects.
These included questions such as:
- who are the suppliers to this project?
- what materials have been supplied to this project?
- what are the savings on this project?
- what are the total savings with this supplier?
- what are the savings with this supplier on this project?
- how did this supplier's stock get used?
- who supplies X?
The first page of the requirements document
While CRASH got quotes based on the requirements document, we created a simplified database system for them in the form of Excel spreadsheets. One sheet held information about projects and the second, bigger, sheet held information about materials or services supplied to projects.
Paola used different colours to denote information such as references from another sheet and calculated columns or cells. A separate sheet contained help information and instructions; for every data question listed at the requirements meeting, step-by-step instructions were included on how to extract the answer from the spreadsheets.
She spent time with the CRASH Administrator and adjusted the templates as a result of feedback and suggestions.
The spreadsheet system grew and evolved over time; it enabled CRASH to put a figure to the difference they make in projects. The figures were used to create reports for the CRASH Trustees and is used to generate CSV files which drive the projects lists on the CRASH web site.
A spreadsheet approach wasn't ideal in the long-term; referential integrity (ensuring the consistency of reference ids between sheets) has to be done by hand rather than automatically.
However, the CRASH system ws a working model; the data can be imported into other applications and went a long way towards to ensure that a custom-built project database application would fulfil their needs.