Professional Systems Designs
6209 W 26th Avenue, Wheat Ridge, CO 80214-8237
303-239-0970 | paul@edrda.com | www.edrda.com


Custom Database Software Development - New System Checklist

Custom database software development can be facilitated by the use of a checklist of questions to be discussed before a system is created. This checklist below is provided to assist in the Analysis/Requirements phase of a new software project.  The questions are intended to clarify both your and our understanding of what is expected and desired as well as to identify the pertinent issues requiring attention.

The technical architecture of the computer system is very important, often discussed and often an issue. Choosing the right architecture is in some instances a “no brainer” and in others quite difficult.  In the difficult cases, it is a delicate balance of costs (up-front and ongoing), capabilities, capacities, and flexibility. If you are interested and/or knowledgeable in this area please refer to our “System Architecture Comparison” chart for a very brief discussion. For our non-technical customers, make sure you ponder, consider and carefully answer the questions contained herein. Where appropriate, caveat your answers with comments such as “like to”, "absolutely required”, or “at a later time” so that we can understand where your priorities and flexibilities lie. Keep in mind that browser based web applications are typically MUCH more expensive and complicated to build and maintain than local (LAN based) applications.

Business Considerations

It is VERY important to view this “project” as more than a computer system. This is a business process undertaking and the computer system is just a part of that larger project. Business Process Reengineering is a modern high-tech term for this larger picture but don’t be intimidated by it. We are simply streamlining/simplifying existing processes and creating new process/procedure that your users and new computer systems will facilitate. We don’t want to simply automate outdated processes and procedures.

  1. Business reason for considering project/system
  2. Desired delivery date or proposed project schedule
  3. Urgency or time constraints
  4. Cost constraints/budget
  5. Who are the internal project “owners” and decision makers
  6. Who are the direct and indirect users? Internal staff, customers, clients, vendors, business partners, etc.
  7.  How will each type of user interact with the system and what information does each need? For each type of user consider the following.
    1. General business need/purpose
    2. Inputs/Outputs
    3. Frequency of activity,
    4. Access system from what devices and locations. (Your office, their office, home, web kiosks, PDAs, telephone, cell phone, paper documents, etc)
    5. Multi-language support
    6. Uptime requirements. (24x7, etc).

Nature of the Computer Application

  1. Do you have a desired development tool or platform in mind?   You may want to split the application into some parts that can be run on a Windows workstation computer, while other parts (like reports, or timecard entry screens) are accessed via a web browser on your local intranet.  Web applications and reports can be viewed on all computer types and operating systems that are capable of viewing web pages.  Some tools currently available to build the system are listed here:
    1. User Interface (Front End): MS Access, Visual Basic, Web Browsers(Internet Explorer, Netscape)
    2. Database storage: SQL Server, MySQL
    3. Web Server logic: Active Server Pages or Cold Fusion for robust database driven Web applications,
    4. JavaScript (for cross browser compatibility),
    5. FrontPage for simpler Web applications,
    6. Crystal Reports, 
    7. MS Office applications, Word, Excel, Powerpoint, etc.
    8. Interactive Voice Response Systems (IVR) - dial 1 for English, 2 for Spanish...
  2. If other applications are involved (MS Word, MS Excel, QuickBooks, etc.), what version will be used?
  3. If Microsoft Access is the desired target development tool, is it acceptable to require each and every user to own the same version of Access.
  4. Target Windows version for each client computer in the system (Windows 95, 98, NT 4.0, 2000, XP, etc.),
  5. Target computer Operating System if not a Windows Platform (Apple, Unix, etc.)
  6. Target workstation hardware for all client stations. Are they consistent or widely varied? What are the slowest and smallest of the following.
    1. Machine speed? (500, 1000, 1500, etc. Mhz )
    2. Hard drive space – 10...40, etc. Gigabytes, 
    3. RAM – 128, 256, 512, etc. Mbytes.
  7. If a network application, which network and version? – NT 4.0, Windows 2000, Novell 3.1, Novell 4.11, etc.
  8. If available, please provide a network configuration diagram with paths of front and back end databases, security/user groups, etc.
  9. Is Internet/Intranet data access desired?
    1. For data entry?
    2. For report reviewing only? 
    3. To disseminate existing documents?
    4. To email notification of pre-determined business trigger events (project milestone met and approved, employee appraisal ready for approval, etc.)?
    5. How current/old cant the data be? (real time, 1 hour, 1day, 1 week)
  10. Security and user rights requirements
    1. Extremely high network/internet/infrastructure security - firewall, proxy server, etc. 
    2. Application logon security 
    3. Are there different User Groups that have special security needs or different levels of security/access/capability. (Service reps, sales reps, customers, administrators, vendors, managers, directors, etc.)
    4. Are Backup Scenarios currently in place?   Should they be integrated as a component of the system? (as opposed to traditional full system tape backups)
  11.  Please explain your current backup procedure/policy.  The importance of this cannot be over emphasized.
  12. Will remote troubleshooting be desired?  The addition of Error Processing and Logging software will facilitate remote support and troubleshooting.
  13. What is your current computer server infrastructure in terms of...
  14. Do you want or desired any system documentation? It is strongly suggested that the users/owners of the system create and own any user oriented documentation. Documentation can include any of the following
  15. What is the proficiency level of all users for the target tools and environments?
  16. Will interfaces to other systems (accounting, payroll, another database, GIS, truck routing, etc.) be required?  This will affect the data model and system configuration, so early planning for these interfaces is critical to their successful inclusion into the system.
  17. Is an audit trail function desired for changes to existing data? What parts of the system will need to be audited?
  18. Number of Reports. A sample hardcopy or at least hand drawing of each will significantly help in determination of report commonalties (Company headers, formats, etc.). Important items are:
  19. Is an ad hoc user reporting, data retrieval, or analysis (On Line Analytical Processing (OLAP), Data Mining, etc.) capability desired?
  20. Is an installation program desired for distribution to a large number of off-site users?
  21. Is an automated network or internet installation desired?
  22. Are custom point to point modem communications desired? This may also include automated faxing.
  23. What degree of data validation and error checking is appropriate for each user group?
  24. Are highly customized/specific error messages required?
  25. Special Considerations or Requirements:

Data and Volume

  1. How many users are expected on the system in the near (first 6 months) and long term? (1 – 3 years and beyond)
  2. How many users are expected to use the system at the same time during peak periods in the near and long term?
  3. What type of data traffic will be on the network for the near and long term? (numbers, text, images, multi-media, etc.)
  4. What is the volume of traffic for the near and long term?
  5. What is the estimated number of data records to be stored for the near and long term?
  6. Does data exist from an existing system or other sources such as spreadsheets? Is it your expectation that this data be converted in to the new system? Data conversion is doable but can be fairly expensive so think about how much value it represents.