
June 1999
When CTI Is DIY
BY FARON RICHARDS
Whether you are a VAR, a developer, or a company implementing a new CTI application,
there comes a time when you must confront a fundamental decision: Will an off-the-shelf
system do the job, or would it be better to build your own solution with an application
generator? In some cases, an off-the-shelf product will fit your project like the
proverbial glove, but in others it's like trying squeeze an adult hand into a child's
mitten. Either the features that you need simply aren't there, or the product has so many
features that trying to use it would be like fumbling with a top-of-the-line camera when
all you want to do is point and shoot.
The question then becomes whether to deal with the struggle or turn to a CTI toolkit
with a longer learning curve but with better prospects for delivering the results you're
looking for. Here are some guidelines for making the decision, choosing the right toolkit,
budgeting and managing the project, and following it through to completion.
BUY OR BUILD?
Turnkey products are great for certain projects, but there are two conditions that tell
you it's time for a kit: 1) the product just won't let you do what you need to do, or 2)
the only products available would be too confusing for the average end user to use.
Let's take a simple example. You're building an audio-text application advertising
local restaurants. All you need is a bunch of prompts that will let callers listen to
various selections and perhaps receive a fax of their menus, but all the out-of-the-box
products you evaluate are voice mail systems which would require a lot of customization
and may not yield an easy-to-use finished product. An application generator would be a
better choice: the application can be built in a much more straightforward manner that
will be less frustrating to the end user and therefore more satisfying to the restaurants.
Also, the application will grow as your needs grow.
There is a third condition that drives a VAR, developer, or company to a CTI toolkit,
and that is if you build so many different applications that no single turnkey product can
meet your needs every time. If your feature set changes dramatically from project to
project, or if you move back and forth between voice mail, IVR, and other projects, a
multi-purpose application generator will move right along with you. It may not save you
money or time (don't use those criteria in making your decision), but it's a better growth
vehicle over the long haul.
A toolkit is also an ideal choice for proof-of-concept applications, such as situations
in which you want to simulate a new product to have something to show to investors. You
can mock up an application quickly without steps like professional recording, and you have
complete flexibility to build the mockup in any way you wish.
CHOOSING AN APPLICATION GENERATOR
There are three rules of thumb to remember when you're shopping for a CTI toolkit: 1)
purchase a kit that has what you need today, 2) look for a wide breadth of capabilities so
that today's investment will provide the tools to build applications tomorrow, and 3) be
sure the kit matches your skill level. (A fourth rule goes almost without saying: be sure
it runs on Windows NT and supports industry-standard components, like Dialogic voice and
fax cards.)
Many application generators require considerable programming expertise. Even Visual
Basic-based toolkits with drag-and-drop capabilities require that you go back to the code
level under certain circumstances. Forms-based products also require a working knowledge
of Visual Basic or C++.
Less experienced developers will want to opt for drag-and-drop kits that utilize
graphical building blocks designed to be connected together like virtual tinker toys. With
a familiar graphical interface, flow charts that display each box in the script in a
hierarchic list, and dialog boxes for setting properties, developers can quickly assemble
voice mail, IVR, IP telephony, unified messaging, and many other applications without
writing a single line of code.
One final rule: try before you buy. A few minutes with a demo is worth 10,000 words.
MANAGING THE PROJECT
As with any project, your budget must consider both time and materials. Materials in this
case include PCs, voice cards, network cards, gateways, and other components. Time
includes drafting the call flow, ordering parts, initial setup, programming, testing, adds
and changes, and implementation. Always build in an extra 10 percent for adds and changes.
The timeline can range from two weeks to six months, depending on the project, your
familiarity with your toolkit, and other variables. Regardless, the steps and the schedule
will go something like this:
- First, map out your basic call flow, either on paper or with a flow chart program like
Patton & Patton's PDQ Lite or allClear by SPSS. List the sequence of events and the
features you need. This step-by-step layout is the cornerstone of everything you do.
Without a road map, you're headed for disaster.
- Next, spend several days gathering input on your call flow from end users. Ask them to
evaluate prompts and point out areas that could be made more user friendly.
- Calculate up to 15 minutes per block on your flow chart for programming time, but
understand that this is the real wild card in the process. If you're new to the toolkit,
you need a patch, or some other problem arises, you will need more time. Don't forget to
include error handling and recording of prompts, with extra time if you're using a
recording studio.
- Allot several days to create your database or to interface with an existing database.
Many toolkits provide a wizard to streamline this process, but construction of the fields
can be time consuming.
- Add a minimum of three days to gather the components you need. The time required will
vary according to you purchasing decisions/options, but be sure to allow a cushion for
back-ordered parts.
- Initial PC assembly and software installation should take no more than two days, but
again, allow for contingencies. The need for minor hardware changes in network cards or
other components will add time.
- If you're working with an application generator for the first time and have had previous
experience with a toolkit, add a day or two of learning time. If you're a novice, add a
week.
- Allow at least two or three days for manual testing, and try your hardest to make your
app fail. If you come to a menu prompt that gives you only three options, what happens if
you punch in a fourth? If you're working with a database and make an invalid entry, does
it crash? Try to anticipate every scenario.
- Add at least one more day for a third party to test the application. Programmers should
never be the only testers of a product. They know how it is supposed to work, and they may
not think the way a user does.
- Factor in at least three days for load testing, preferably over a weekend. If you have
more time, use it. Ideally, use a separate machine to bombard your application with as
much traffic as you can. (You can use your toolkit to quickly build a program for this
purpose.)
- Include several days for writing a guide for end users. If you are assigning this task
to a writer, he or she can be doing this while you're still tweaking the application. The
writer, in fact, is the ideal person to do the third-party testing. He or she can do the
necessary research for the writing assignment while simultaneously telling you what
doesn't work.
- Add at least one day for installing the application at the customer location, working
with the local telco, and training the customer to use the system.
- Finally, set aside two to four weeks for a beta-like period that will allow the customer
to adjust to the application. You will need to be on call during that time in case any
adds, changes, or final tweaks are needed.
Follow these steps, and you'll wind up with an application you can be proud of. You'll
also have the same toolkit to use the next time you have a CTI development project.
Faron Richards is president of Envox (U.S.) Ltd., developer of the Envox CT Studio
application generator. Envox CT studio allows developers of all skill levels to quickly
create reliable, business critical CT solutions. For more information, please contact
Envox at 888-368-6987, or visit their Web site at www.envox.com.
|