D-Cogit offers a wide variety of services, all centered around the development, sales and usage of information management and automation software. Click each statement to find out more about specific services. Contact D-Cogit for more information and to set up an appointment.

Needs analysis

If you think you could benefit from information management and automation, yet do not know what processes would benefit from such work, then you need to perform some needs analysis.

Needs analysis is a process for determining what can be improved or corrected. Needs are determined through observation, interviews and surveys. Once you know what your needs are, then you are able to determine if a software project is a good approach to resolving those needs and, if so, you are able to set goals for the software project.

D-Cogit can help you with needs analysis of any information management and automation project.

Requirements analysis

If you have set a goal for your project, yet do not have a detailed list of features the proposed software needs to have, then you need to perform some requirements analysis.

Requirements analysis is a process for determining what the proposed software needs to contain: information that needs to be tracked; screens, forms and reports it needs to display; users it needs to support; tasks that need to be done; features that need to exist; etc. Requirements are determined through observation, interviews, surveys and through a study of existing processes.

Requirements are critical to the execution of a project. Each requirement addresses one thing, is related to a defined goal, is possible, is well documented, is non-contradictory with other requirements and is verifiable. Requirements are used to determine a project's resource requirements, to plan the execution of the project and to determine a project's success.

A project's final success is measured by the result's conformance to the requirements. If all the requirements are met, then the project succeeded. Otherwise, the project failed.

D-Cogit can help you with requirements analysis of any information management and automation project.

Planning

If you have a set of requirements for your project, yet do not have a roadmap indicating how the project will start and the steps it will go through to completion, then you need to perform some planning.

A plan is a document that: repeats a project's goals and requirements; details the scope of a project; estimates the effort a project will take; details the products a project will deliver; identifies the resources a project will need; produces a schedule a project will follow; identifies the dependencies a project is subject to; and identifies the risks a project faces.

A plan is critical to the launch and execution of a project. Indeed, it is quite possible that a project halts before its execution once its plan has been produced. This could be because a project's estimate is too high, its resources are unavailable, its dependencies can not be satisfied or its risks are too great. A plan is an indispensable tool in determining whether a project is worth its costs.

D-Cogit can help you with planning of FileMaker solutions.

Development

If you have a plan for your project, then you are ready for development.

Development is a process of designing and coding software. Design refers to a software's architecture - what it tracks and what it does. Code refers to the programming instructions - how it tracks and how it does.

Design is broken down into three parts: conceptual design; logical design; and physical design. Conceptual design is the process of mapping out the requirements' things and actions. Logical design is the process of ridding the conceptual design of its redundancies and anomalies. Physical design is the process of transforming the logical design, which is implementation independent, into an implementation-specific design (a FileMaker design, for example).

The coding process is also broken down into multiple parts. The number of parts and their order depend on both the party doing the coding and the development platform used. In FileMaker solutions, schema, layouts, value lists, scripts and privileges need to be created. Custom functions and custom menus may also be created.

You will be involved in some aspects of your project's development even if you contract it out to a third party developer. The developer will consult with you to clarify aspects of the specifications. The developer will also review with you the development designs and code to ensure they conform to your needs and expectation. Some back-tracking from time to time is normal during development, as development tends to reveal errors and missing elements in the requirements and the previous design steps. These revelations would rarely happen without your participation.

D-Cogit can help you with the conceptual and logical design of any project. D-Cogit can also help you with the physical design and the coding of FileMaker solutions.

Testing

All software should be tested to ensure they conform to their specifications and to catch the most obvious errors in programming.

Testing is a process of running a software, in whole or in parts, with the intent of finding errors. Errors have two meanings here: the result was unexpected and incorrect or the performance was unsatisfactory.

There are two types of testing: black-box and white-box. Black-box testing comprises the majority of testing. It refers to testing the functionality of software. The software requirements are used to determine the functionality the software is suppose to deliver. White-box testing refers to testing the internal structure of software. The software requirements and the development documentation are used to determine the appropriate outputs to given inputs.

Testing can not guarantee the absence of errors. Testing will show that the tested software either appeared to conform to its specifications or that errors were present. Testing may also give some indication as to the tested software's performance.

D-Cogit can help you with black-box testing of most software and white-box testing of FileMaker solutions.

Documentation

Everything should be documented: project needs; project requirements; project plans; development design and code; tests; migration plans and results; deployment plans and results; installation requirements and procedures; software usage; support incidents, their investigations and their resolutions; troubleshooting investigations and their resolutions; and the software itself.

Documentation ensures continuity, reduces duplication of effort, reduces the need for technical support, aids in development and support and aids in contract preparation and compliance.

Documentation can be grouped into two groups: technical documentation and end-user documentation. Technical documentation is normally only seen by project stakeholders, developers, project managers, software implementors and those involved with technical support. Its language can make use of industry- or discipline-specific terms and it can contain sensitive information not meant for public consumption. End-user documentation is normally meant for consumption by the users of a solution. It is written in a language that will be understood by the users of the solution.

Documentation can come in many formats and on many mediums. Proposals, contracts, charts, lists, spreadsheets, in-line comments as well as structured texts are all valid document formats. Paper, PDF, WEB pages and in-application help are popular document mediums.

Unfortunately, documentation is often neglected as it is not expedient and its benefits are rarely immediate. Stakeholders often cut documentation as a means to control or cut costs. D-Cogit discourages this practice as the savings gained in the project's development will normally come at a higher cost during the project's future support, maintenance and development.

D-Cogit can help you with documentation for any project.

Migration

If you are producing a new version of a software or are changing software yet want to keep the information from the old software, then you need to perform some migration.

Migration is the process of getting the information from the old to the new software. Migration involves planning, preparation, testing and execution.

During planning, an approach to migration is selected and documented. It is possible that some data will not be migrated, either because they are no longer necessary or because the new software is unable to hold them. During preparation, interim tools may be created to transform the data prior to execution. During testing, test runs are performed on copies of the software to ensure the execution will produce the desired result. Execution usually occurs during the change-over from the old to the new software.

D-Cogit can help you with the migration of many information management projects.

Deployment

Deployment is a process for putting software into service.

Deployment involves, where needed, upgrading hardware and software, installing new hardware and software, setting up and training a support team, training users of the software, shutting down old software, performing migration and making the new software available. Deployment requires planning early in the project's life to avoid any delays.

A contingency plan also needs to be prepared in case deployment does not go according to plan. The goal of a deployment's contingency plan is to reduce or eliminate disruptions that could occur due to issues during deployment.

D-Cogit can help you with the deployment of FileMaker solutions.

Support

D-Cogit supports all solutions it develops. D-Cogit's standard contract gives you 30 days of support at no additional charge for all solutions it develops. In certain cases, the initial support period can be longer. D-Cogit also offers support beyond the initial support period at an hourly fee.

D-Cogit does most of its support remotely. Telephone, email, remote access software and FileMaker Server's console are the tools that make remote support possible.

In some cases, D-Cogit will support solutions produced by yourself or third parties.

Troubleshooting

Having problems with your FileMaker solution? At a loss as to the cause? Need it fixed… now… make that yesterday? D-Cogit offers both regular and emergency troubleshooting services.

Coaching and peer review

Do you want some help with the process of producing or executing a software project? Have D-Cogit guide you through your project and review your project materials.

Coaching involves us giving you suggestions as to how to proceed with your project. This is done by asking you questions, showing you possibilities and making observations about your existing project materials.

Peer reviewing involves us giving you our opinions of your project materials. We study your project materials then give you a critique of the materials. This service is particularly useful for novice or intermediate programmers as it can help them improve their code and documentation immensely.

Training

Want to learn to use FileMaker software? Do you learn best with the help of a trainer? Whether you are a beginner or an intermediate user, D-Cogit can help you learn to get more out of FileMaker Pro, FileMaker Go or FileMaker Server. D-Cogit offers one on one training and small group training.

Sales and Installation

Want to purchase FileMaker software? Want a FileMaker certified developer to install your FileMaker software? D-Cogit sells FileMaker software at competitive prices and can install them too.

D-Cogit will seldom sell you hardware because you can often find the hardware at the same price yourself. D-Cogit will sell you hardware in one of two cases: your project calls for a turnkey solution; you wish us to research, purchase or install hardware. In both case, we will sell you the hardware at our cost plus time.