Working with a Software Consultant

The purpose of a software consultant is to make your business run smoother and more efficiently through automation. This, in turn, should result in monetary savings. Sometimes that savings is easy to identify. For example, when you begin using a sales-oriented database and it results in increased sales. Other times, the savings is less identifiable, such as the savings in time it takes for an employee to perform specific duties, due to the use of automation.

So you want a custom application...

The first step is to identify the need for a custom application. Only you can determine that need. It isn't for a software consultant to try to 'talk you into' an application, or to sell you on that need. Take a look around your office. Chances are, your most expensive item is salary, and all that involves: workers' compensation, unemployment benefits, insurance, FICA and Medicare... One major reason businesses use custom applications is to get more work done with less employees. This doesn't mean employees should fear layoffs; it means they can be more productive through the use of automation.

How do you know you need a custom application? There are some products on the market that are already designed for specific needs, such as contact management software. A custom application is used when there isn't anything on the market that does exactly what you need it to do. Some programs may come close, but you might need to change the way you do business in order to 'fit' the software. On the other hand, a custom application is designed around the way you want to do business.

Isn't a custom application expensive?

Custom applications do not need to be expensive. It depends on a variety of factors, such as:

1.  How extensive are your needs?
  CSDC builds custom applications in a modular format. This means that you can automate smaller portions of your business as your budget permits, until you have a fully integrated system that performs all the functions you require. The first step is to itemize the various areas you'd like to automate, such as: prospect tracking, client tracking, accounting, employee data, etc. Then prioritize these areas. Which would provide you with the biggest impact, in time or cost savings? In productivity? Or in other ways?
2. How much of the application is text-based vs. numeric based?
  The easiest and quickest applications for a developer to create are text-based, such as tracking prospect data, or maintaining service calls. The most extensive and time-consuming projects are those involving sophisticated number-crunching, such as identification of acceptable figures, and determining actual minimums, maximums, and averages and identification of numbers falling outside the range. The more calculations you require and the more sophisticated or complex they are, the longer the development time.
3. How much detailed information can you provide up front?
  You can save time and money by thoroughly thinking through your needs. We can schedule meetings with you to brainstorm, or to survey your office needs, or interview employees in various categories. We're happy to do this, and are often required to participate in these activities. But if you're looking to save money on development costs, you can save a great deal by performing these activities internally and providing us with detailed information on items you wish to automate. If you can go a bit further and provide us with field lists, desired screen displays and menus, etc., you can save even more - and the project will be completed much faster. 
4. What will your involvement be in the project?
  We are happy to work with all levels of clients. Some clients want to turn everything over to us to perform. In those cases, we may work in your offices on some occasions and in our offices on other occasions. Other clients wish for us to train them on the tasks we are performing. If you wish to monitor each task and require technical explanations on the code we develop, we're happy to do that. Just keep in mind that it takes longer to explain how to program, than it does to write the program itself. If we're teaching one of your staff what we do, the ratio is 4 to 1 -- 4 times longer for the explanation than actually doing the work itself.
5.  Who will serve as the data administrator?
  Once the project is complete, there are on-going maintenance issues. Some are simple and can be automated, such as routine backups. Others may require more time and expertise, such as assisting employees with problems or questions. CSDC is identified as the data administrator for many of the applications we develop, while in other cases, our clients provide a data administrator in-house.

Does CSDC work on a fixed-price basis?

Let's identify a need for a fixed price: no matter how large your company is, or how small the project, you most likely have a budget you need to live within. That said, let's look at how fixed prices work in reality:

From a contractor's viewpoint, very few of us can afford to work for free or lose money on a contract. A custom application is exactly that - it is customized to fit the clients' needs. Unless you have everything written in detail so a developer can simply follow the list, we have to factor in the unknown. What happens when we get into a program, and find that one of your needs has just become more complex than originally represented? Or you have a network issue involving hardware, and we have to write special code to facilitate smoother communication, or work around an existing problem? Any contractor who has been in business for long, knows when working on a fixed-price basis, they must overestimate the amount of time involved in order to account for unexpected problems or situations that might arise. So if they think the project will take 40 hours, they may provide a fixed cost based at 60 hours. Who's the loser? It depends:

If no unexpected situations arise and the project goes smoothly, you, the client lose. You've just paid for 60 hours when the developer worked only 40 hours.

Or if unexpected problems do arise, the contractor could lose as the hours on the project increase. In some cases, the contractor will begin to cut in other areas to make up the difference.

The only win-win situation is when a project is completed in exactly the amount of time estimated. This in extremely unusual.

So if CSDC doesn't recommend a fixed-price basis, how do I stay within my budget?

Easy: CSDC agrees not to exceed a specified number of hours and/or cost. We do this by providing you with a detailed contract and work order. The work order provides the not-to-exceed time. In the example above, we may estimate 60 hours when the project realistically would take less time. However, the difference is this: we charge you ONLY for the amount of time we actually work. So if we don't experience an unexpected situation and complete the project in 40 hours, you are charged only for 40 hours. And if we do experience unexpected situations, we've already prepared you for the worst-case scenario and built in the extra time. This also streamlines the approval process, if your office must go through a purchasing department or extra approvals for work desired, because you only go through this process one time.

Does CSDC write everything in code?

Not necessarily. It depends on these factors: (a) what is your budget? (b) who will maintain the application after development? and (c) how complex is the application?

Writing code is more time consuming than using a program such as Microsoft Access to develop custom applications. If you plan to use someone on your staff to maintain the application after it's developed, we will often write the application in a program such as Access, so that the sequence of events and routines can be easily followed. However, if the application is very complex or will be used over a large network, writing code is sometimes necessary. We very rarely develop the entire application in code only, because it is time consuming and more expensive to develop and maintain.

Where does CSDC develop the application?

The CSDC developer will meet with you at your site, to determine your needs. The actual development work is usually performed at our facilities, unless you want your staff to be trained in development issues while we work.

Do you develop the entire application before I see it?

No. We develop the application in pieces, so you can review one section while we're working on the next section. We've found that this method works best, because it avoids major surprises. If something doesn't appear exactly as you'd envisioned it, or you think of something else that should have been added, we can change things easily while it's under development. Of course, once the application is completely finished, we can still change things as your business needs change, but it takes longer to perform modifications once an application is complete.

Do you supply services to individuals, or just to companies?

CSDC works only business-to-business. However, our clients range from small businesses (less than a dozen employees) to major corporations (several thousand employees) to government agencies.

Do you guarantee your work?

Yes. We will present you with a work order that details the tasks we will complete for you, and you'll be given an opportunity to review the list and approve each item. If we make a mistake or if something doesn't work as we promised, we'll rework it until you're satisfied.

Most of our clients have been with CSDC for years. They know they can trust us, and we'll do a great job for them.

How do I request a quote?

First, call us toll-free at 866-427-3501 to arrange a telephone conference call or initial meeting. Then get together as much information as you can on the project. When we meet, we'll go through your requirements and provide you with a written estimate. If you approve, we'll sign an agreement and a work order, detailing the tasks we're to perform for you, and agreeing not to exceed a specific number of hours and/or cost.