5.4. Outsourcing

When the cost of building in-house expertise is prohibitive or when such expertise does not fit into a company's business model, outsourcing is an alternative to consider. Here we look at outsourcing options for voice services. A company can choose to outsource its development, or application services, or the full application and operation including a call center.

5.4.1. Outsourcing development

Whether to develop technology in-house or to hire third parties for some or all of the development is a difficult choice. Below we describe some of the critical development issues and their requirements.

5.4.1.1. Grammars

Building effective grammars requires the analysis of many utterances taken from real-world user responses. For grammars used to create natural dialogs, typically 10,000 or more user responses are taken and analyzed to build these grammars. Once grammars are built, a further testing is conducted to fine-tune the prompts used and to ensure that user responses do not deviate from the grammar domain of acceptable response variations. Deploying natural dialogs in real-world applications is no easy task, but taking this systematic and cautious approach is critical to gaining customer acceptance and avoiding unhappy, irate customers who can't achieve their goals.

There are companies that offer grammar-building services. These can be good alternatives as they can leverage other developed grammars to deliver robust grammars.

5.4.1.2. VoiceXML

After reading this book and looking at the example applications presented, I hope you will be confident to develop your own VoiceXML applications. For large, complex, or time-critical applications you still may want to consider outsourcing the development work. At minimum you will need a VoiceXML interpreter, ASR, TTS, and some interface to the PSTN. If you are deploying on standard telephony hardware supported by the interpreter vendor, this may not be as critical. However, if you require integration with custom telephony hardware, hiring low-level telephony developers may be required. Also, integrating services to back-end servers and databases is almost always necessary. You will want to consider developers familiar with Web and application server technologies.

5.4.1.3. Human factors engineering

In 5.3.2, “Human factors engineering,” on page 392 we discussed some of the human factor issues to be taken into consideration when developing voice-based services. These factors affect VoiceXML, grammar, and speech synthesis development. Whether you take on the development in-house or bring in an expert, you should plan to conduct extensive testing before releasing a large user base application. The results of this testing process can be used to tweak menus, prompts, and grammars.

5.4.1.4. Voice talent

Using clear and well-phrased voice recordings for recorded speech is important. Accents and regional differences are an important factor in the acceptability of a voice service. Outsourcing the recording to a service should help ensure quality voice recordings. If you decide to outsource your recordings, make sure first that the prompts being used have gone through some level of testing, otherwise you may end up going through many unnecessary iterations.

5.4.1.5. System architecture

You may have the right architects to do this task in-house, or you may decide to go to outside services. Architecting voice services will require an understanding of IP and PSTN services and equipment.

The architect should consider:

bandwidth requirements

Audio file sizes can be large. Use compressed file formats. Partitioning recordings into several files can help avoid delays. Cache audio when reuse is expected.

throughput and response times

This can be attributed to many factors. Here we focus on single channel factors. Loading large static grammars can adversely effect recognition response times. If dynamic grammars are used, then the time to build the grammar can also have an adverse effect on response time.

processor-to-channel ratio

This is the number of simultaneous channels that a platform can reliably manage.

scalability

Scalability of different functional entities, such as ASR or TTS, should be considered separately.

fault tolerance

If a component fails, what will happen to new sessions? Can active sessions recover?

load balancing

Consideration of load balancing starts at the front-end, where incoming calls get routed to an instance of the VoiceXML interpreter. Each interpreter instance can subsequently access ASR and TTS instances. For high call volume, you should avoid having all instances running on the same machine. Providing a distributed pooled service for each resource's instances is recommended, where a pool of instances is managed across several machines. As each call completes, its resource's instances are placed back in the pool and made available for the next call. This avoids the overhead of setting up new resource instances for each new call.

error logging

Make use of log files for assessing performance and understanding what processes are being activated.

maintenance

Consider upgrades to software, whether third party or in-house. A staging environment is often preferred to avoid problems if a new software affects a production system.

vendor-neutral designs

Though VoiceXML and other standards mentioned throughout this section are open standards, there are differences in the implementation of interpreters. If you do not want to be married to a single vendor, think twice before using vendor-specific functions.

security

Issues surrounding security cover access to data, access to resources, and communication channels. The system architect should evaluate the security liability. Use secure transport protocols such as HTTPS when data is accessed over the Internet. Encrypt any sensitive data. Control who has access to resources through passwords, caller IDs, and voice authentication technologies.

5.4.2. Outsourcing application services

There are benefits to outsourcing voice application services, whether call center or IVR applications. Typically, companies do not have the technical expertise to evaluate technology available to build voice application services. There are overhead expenses incurred by implementing upgrades to hardware and software, new initiatives, and overall system maintenance.

VoiceXML applications do not have to reside locally with other IVR components; they can be accessed over the Web as we saw 4.3.2, “XSLT,” on page 349. Most often it is preferable to outsource everything but the application, which will reside locally. This approach gives the application provider control of their application and avoids the overhead costs and expertise required in maintaining voice services.

5.4.3. Outsourcing the call center

A call center is typically a large, specialized service group within an organization that primarily does its business over the phone. Business applications that use call centers range from telemarketing, to customer services, to order entry, and to field service dispatch.

Call centers need to provide consistent call handling, perform information lookup, and manage load balance. To accomplish this, they require a variety of software and hardware, including:

telephone handsets

Agents will require telephone handsets or headsets to speak with customers.

switches

For call handling and distribution, a switch is required. Switches can be analog or digital; they are responsible for routing a call to an agent.

computer terminals

For data entry and retrieval, agents need access to customer information and possibly other service related information. Typically, with the aid of software, an agent's terminal will automatically display customer information using the customer's caller ID.

IVRs

Usually IVR systems are used to collect and process information from telephone callers. Based on the information collected, they can then route a call to the approprite department or agent.

workflow software

Managing process flow within a call center can be performed by workflow software. For example, if, after speaking with a product agent, a customer purchased a product, the workflow software may direct the call to a shipping agent along with all the previously recorded customer and product purchase information.

voice messaging

Taking voice messages of customer requests is used during non-business hours or in the event that the system has exceeded its call-handling capacity.

voice logging

Calls between customers and agents can be recorded. This is often used for legal purposes.

fax

The ability to send and receive faxes, integrated into the overall system, offers another channel of communication with customers.

database

This is a key component for storing and accessing customer and product information.

The new technology developments that we saw in this chapter are beginning to change call centers. Call centers can offer reliable, scalable, and distributed architectures. Services that are available 24 x 7 can be made fully automated with natural human-like dialogs. Most important to call centers is the move from proprietary protocols to open standards where equipment and components can be replaced without impacting the entire system. VoiceXML and other XML languages are part of the shift to open standards reducing vendor dependencies and costs.

In this last chapter we touched on some of the key issues for integrating VoiceXML with other services and for deploying them in large enterprise applications. We also discussed multi-device support and the development benefits of separating out the commonality and differences between interfaces, into data and presentation models.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.128.78.30