Database design guidelines Key questions to help you develop a database Lewis Atkinson Updated August 2016
Community IT Academy The Beacon Westgate Road Newcastle upon Tyne NE4 9PQ 07958 482 509 www.communityitacademy.org admin@communityitacademy.org Registered Charity no. 1106848, Company Limited by Guarantee no. 04964898 2
1 Overview... 4 2 About your information... 4 3 Training, time and implementation... 5 4 Security and data protection... 5 5 Data structure... 6 6 Off the shelf, tailored or bespoke?... 6 7 Project planning... 7 8 Budget/costs?... 8 9 Who will do the work?... 8 3
1 Overview Planning a new database or a database re-development is an extremely important activity, the more time you spend planning the more chance you have of getting it mostly right the first time! Not planning sufficiently will virtually guarantee failure. Typically databases fail because the organisation does not know what it wants in enough detail the better the specification, the better the database. Inadequate testing and training can also contribute to the demise of a database implementation. Consider why you want to develop or re-develop your database. What do you expect the new system to accomplish? What are the expected benefits? What will its main uses be? Who will need to use it and where will they be? How will it improve what you already have? What are the key outputs? How will you know it is a success? When and how will you judge it? 2 About your information A database is simply a term for any information that is organised, it need not mean a computerised system, but is now mostly taken as such. A database can come in many forms depending on its use a contact list, a list of donors, a list of outcomes. Some databases can amalgamate a number of different databases into one central system (CRM Customer Relationship Management or MIS Management Information System). Start with a broad overview of what you require the features and functions you want the system to have. Develop some sample outputs what do you want to report or search? 4
A database can only mirror an existing (paper-based) system, it will not make it any better. If the original system is flawed any database development will be equally flawed, potentially more so. Review of your data, its capture and its flow through your organisation. What information do you get in, where does it go, who uses it and what comes out? Who will use it and where they will be, do you need remote access? 3 Training, time and implementation Any new system will require a significant amount of training for both data managers and any staff who will use the system. Allow sufficient time to be allocated to the project, in the short term it may well lead to an increase in workload. Be prepared to run two systems in tandem to allow for bugs to be found and the new system to bed in. Any new system will inevitably lead to new procedures and processes these will never go as smoothly as you hope for. Detailed planning helps but cannot address all eventualities. Prepare for some pain. Develop a training plan, decide on a minimum level of competency with the new system and plan your training programme and appraisal systems accordingly. 4 Security and data protection Will the database need to be accessed at different levels? Will some staff have limited access? Specify who will have access to what information. Make sure that any third party hosting provides adequate security and complies with data protection policies or specify higher standards. Review or create your password and data protection policies. Make sure all users have passwords and know the implications of their loss or disclosure. 5
Backing up is a key feature of any database system. Create a robust procedure to prevent any data loss. 5 Data structure Specify all the information to be stored - e.g. for an individual, for an organisation. Link this to your reporting, input and output requirements. Identify how you will search for information - e.g. name, job number, reference. Try to match any paper-based forms you have to the data input format or vice versa. Similarly match any output formats to requirements. The look and feel is important to users, test any query engines for both form and function. 6 Off the shelf, tailored or bespoke? There are many options. Bespoke systems will (or should) do exactly what you want it to provided that you are certain of what you want. But this is the most expensive and time consuming option. Once you know your requirements then you can research the options available for off-the-shelf products. These can also be expensive, especially in terms of training and on-costs. Databases come in many shapes and sizes. Some can be linked into an intranet and accessed via a web browser (Internet Explorer, Chrome, etc.). They can also reside within your own network or accessed via a remote server. On a small scale (desktop based) most people start with a Microsoft Access database. A skilled user can make spreadsheets perform in much the same manner. Although Access can be made into a powerful system it has its limitations, especially in making it web based (although Microsoft are continually developing this). 6
The next step is to look at a database product, there are many and they come at a cost. When looking for a package have a view of the essential features you require. Know what and how you need information in and out. Know where and who will need access. Other optional or extra features diaries, e-mail, financial information? Know what you want the system to look (and feel) like. Have a specified list of requirements, wants and wishes. Do you need existing data incorporating into a new system? Off-the-shelf systems will always lead to an element of compromise but often have longer development paths and hence are more polished products. Commonly used systems in voluntary organisations include CharityLog and Lamplight. Tailored products are closer to your requirements but are not 100% what you specify. These can be developments from an off-the-shelf product or make use of a development platform (a framework system). Such systems may not be kept as updated as an off-the-shelf solution. Such systems include CiviCRM, Salesforce, and Microsoft Dynamics. Bespoke is always the most costly option but should give you exactly what you want. It is also the longest development path. If you opt for this solution expect an almost continual process of development. In any case a database should be reviewed in form and function every 3-5 years. Have a view on an exit plan if you need to upgrade further. 7 Project planning Expect to spend a minimum of six months planning and implementing a database. A project plan will help to identify key milestones and responsibilities. It will also help to keep the development on track and allow resources to be allocated (see below). 7
8 Budget/costs? Do you need to fundraise to pay for database design, implementation and training? Will extra staff be needed for the initial transfer of data? Will there be any on-costs? Maintenance and management direct cost or staff time? 9 Who will do the work? Do you have the skills to design and manage the database internally? Will you need to train people? Will you commission a design company to design your database? Who will be responsible for ongoing maintenance and management? Expect to devote a significant amount of time to the development of the database, even if you engage a third-party designer. Will a volunteer be able to help? Many professionals give up their time for the voluntary sector. If you are going to commission a third party be confident that they are reputable, ask for a portfolio of work and have a look at their reference systems. Ask other projects who they used, why and what the experience was like poor database designers can run late and fail to test the system adequately. If possible get a third party to test the system or draw up a testing plan, agreed prior to the start of the project and make this dependent on payment. Build in some form of evaluation is it doing what you want it to do? How will you know? A useful website that gives a fairly comprehensive list of databases and developers aimed at voluntary and community organisations can be found at: www.itforcharities.co.uk/database-software/ 8