Write Track Media will help provide support to clients who want to start planning a database. To better understand our process or to get a money-saving head start on the process, follow these steps.
Know Your Business
Nobody knows your business as well as you and your team. It is crucial for us to have a firm grasp on your business information, processes, business rules, needs and goals. Although we will help analyze and review your workflow, it helps the process and keeps your development costs lower if one or more members of your staff can clearly articulate the internal workings of your company and answer key questions about your information managements objectives.
Ultimately, you will want to have a comprehensive system that manages every bit of key information for your entire company. However, depending on the size and complexity of your organization, you may want to be more selective at the start. By choosing a smaller initial project to get started, you ease the burden by analyzing and rethinking one portion of your overall workflow. This allows you to demonstrate the value of the process and cost of development and lets you reinvest the time savings from one phase of development into the next. Be sure to keep your big picture goals in mind and make those clear so that your developer can plan ahead for future phases and design a system to be as flexible as it needs to be.
List Information Types
Write up a list of all the primary entities or types of information that are involved in your business. This will become your list of tables. Then, for each, make a list of the individual pieces of information that define them or that you want to track. For example:
A “Contacts” table you would need a list of fields such as:
- First Name
- Last Name
- Company Name
- Phone Number(s)
- Email Address(es)
- Customer Type
- Staff Assignment
A “Catalogs” table, you might need a list of fields such as:
- Catalog Name
- Release Date
- Template Name
Once you have a list of fields, add any notes about the fields, including limits, auto-corrections and other rules that govern what information they will contain and how the user will work with them.
Try to make a list of each process that your staff performs for any given table. For example, what is the process for creating a new customer using your current forms or spreadsheets? How does that information move through your company as they are assigned to a sales representative? What happens when you start a new project? How is a new product entered into inventory? Be as detailed as possible about what information is collected, how it is handled and how it is filed. Also list the ways that this information is used for other purposes. For example, how do you decide which products are added to your next catalog? What is the process for putting them on the page? Consider the role each person plays in this overall flow of events and document details.
These lists will influence the layouts in your system, help expand your list of fields and determine some of the script requirements of your system.
Using any existing paper forms, documents and spreadsheets along with the information collected above, try to decide what type of layouts you might want for each table. Typically, every table visible to users will have a list view (for looking at groups of records) and at least one entry view (for viewing or editing a single record). By considering the different task processes a user might perform, you can determine the need for additional task-centric layouts.
Name Your System
Come up with a name for your entire system, even if it is just a working title. Be sure to keep the entire scope of the system in mind even though you may be focusing on a smaller phase for now.
Describe Your Environment
It is important to know how many users will be accessing the system at any given time, what type of computers they are using (Mac/PC) and what operating system version(s) they use. While databases can typically run on a variety of recent hardware, there are sometimes OS restrictions or other factors that may influence development. Also, do you have a computer that can be used as a database server? If not, are you looking for suggestions on what to purchase?
Consider Your Budget
Given the scale of your chosen phase, try to determine what your budget would be for development. Think about how robust a system you want. Are you looking for a fully-polished, advanced, feature-rich system, just enough to get a particular job done or something in between? A developer can suggest a budget range given their understanding of your needs, but this can always be scaled up or down depending on your expectations so it is helpful to have at least an estimate for the project.