Microsoft .NET
Customer Solution Case Study
/ / CRM Software Provider Speeds Design and Development 50 Percent With .NET Software
Overview
Country or Region:United States
Industry:IT Services
Customer Profile
SYKES, based in Tampa, Florida, is a global leader in providing customer contact management solutions and services for the business process outsourcing industry.
Business Situation
SYKES needed to quickly design and develop an enterprise customer relationship management (CRM) solution for a Fortune 50 manufacturer, without sacrificing global scalability or flexibility.
Solution
SYKES took advantage of the Microsoft® Technology Center (MTC), as well as technologies in the Microsoft .NET Framework, Web services, and Microsoft Windows Server System™.
Benefits
50 percent faster architecture design
50 percent faster development
Comprehensive customer views
Faster integration of CRM data with quality assurance
Increased sales / “Thanks to the capabilities we enabled through .NET [connection software], our customer can identify and resolve consumer issues with its products more quickly than it could before.”
Gary Castilla, Director of Application Development, SYKES
SYKES needed to develop an enterprise customer relationship management (CRM) solution for a Fortune 50 manufacturer. The solution needed global scalability and support, as well as the flexibility to be easily customized and deployed by other SYKES customers. With architectural design assistance from the Microsoft® Technology Center (MTC), SYKES developed a solution based on the Microsoft .NET Framework and related technologies. The result was designed and developed 50 percent faster, with up to 50 percent less code, than would otherwise have been possible. The manufacturing customer is seeing benefits from being able to use the aggregated customer views from the solution as inputs for its quality assurance systems and from faster identification of consumer issues with products, resulting in faster product changes that guard or increase sales.

Situation

SYKES is a global leader in providing customer contact management solutions and services in the area of business process outsourcing. SYKES provides highly customized customer contact management solutions to Fortune 1000 companies around the world, primarily in the communications, financial services, healthcare, technology and transportation, and leisure industries.

SYKES looked to develop and provide a customer relationship management (CRM) system in order to add value to its solutions and to provide an alternative for those clients that did not have their own CRM systems. Thecompany wanted the CRM system to incorporate a broad range of functions, including contact management, a consumer and third-party database, integrated e-mail handling, knowledge management, workflow, fulfillment processing, and customer satisfaction surveys.

As the company’s wish list for its CRM solution grew, so did the challenges of implementing the solution. For example, the company wanted a solution that would be easy to deploy and maintain because it would be implementing the solution for a great variety of customers. Also, because the solution would be used to manage highly sensitive competitive information, the solution had to be highly secure, stable, and scalable.

For example, SYKES wanted to make the proposed solution available to one of its largest customers, a global manufacturer of retail products in the Fortune 50. The manufacturer had a different customer contact and reporting system in each of the regions in which it operated. Those systems ranged from spreadsheets based on Microsoft® Office Excel® 2003 spreadsheet software and databases based on Microsoft Office Access 2003, used in smaller regions, to UNIX and Oracle-based solutions used in the Americas and Europe.

The manufacturer’s consumer relations division was the only point of consumer contact, but that division was not producing comprehensive information on how the company’s consumers responded to its products worldwide. As a result, the manufacturer lacked the ability to aggregate consumer contact information into a single, global view of its consumers. That, in turn, hindered the ability to compare trends in one country or region with trends in others, in order to capitalize on changes by guarding or increasing sales. Because the manufacturer couldn’t easily determine whether product issues in one country were spreading to others, it couldn’t address issuesproactively, nor could it analyze data about product quality across countries or regions.

The solution that SYKES hoped to develop would have to meet those needs, as well as comply with the manufacturer’s detailed methodology for consumer interaction. Each interaction can be coded with combinations of product and nonproduct inquiries, testimonials, and complaints. Because the company manufactures numerous products, there were thousands of potential categories, and the company wanted to obtain the most detailed information on consumer responses to each coding. Beyond accommodating this complex methodology, the solution had to be flexible enough to adapt to meet the very different needs of other SYKES clients.

Solution

The SYKES solution is called Newton. It’s a smart-client-based CRM application that lets agents using the phone and e-mail provide customer care and support for consumers. For the manufacturer, agents are already using Newton to receive, process, and resolve inquiries, requests, suggestions, and comments regarding products andcorporate issues—in the caller’s native language. Eventually, the manufacturer will use Newtonto support global customer relationship work processes for 500 agents in 26 countries throughout Asia, Europe, and North America.

Choosing the .NET Framework

When they set out to develop Newton, the first question confronting the SYKES developers was the issue of which development platform to use. They rejected Java 2 Platform Enterprise Edition (J2EE) as requiring too much time for writing original code, according to Shelton Hook, Senior Director of Information Systems at SYKES.

Instead, the company chose the Microsoft .NET Framework version 1.1—an integral component of the Windows® operating system that provides a programming model and runtime for Web services, Web applications, and smart-client applications—and the Microsoft Visual Studio® .NET 2003, Visual C#® .NET, and Visual Basic® .NET development systems.

“We’re a Microsoft shop,” says Hook. “Our experience with Visual Basic was transferable to Microsoft .NET connection software, and the technologies and components in the .NET Framework indicated that they would expedite every phase of our development. This was a rapid application development situation, so .NET connectionsoftware was the logical choice.”

Newton uses smart-client technology on the front end to ensure that agents are always accessing the latest business rules. It uses aservice-oriented architecture on the back end to achieve the flexibility and scalability that SYKES wanted in order to handle highly complex business logic in an enterprise-scale application (see “Architecture Synopsis” below). The Newton solution runs on Microsoft Windows Server System™ integrated server software, including the Microsoft Windows Server™ 2003 operating system and Microsoft SQL Server™ 2000.

Engaging the Microsoft Technology Center

The first step for the SYKES developers was to detail the complex solution requirements in collaboration with representatives from its manufacturing customer. Next, a team from SYKES spent two sessions at the Microsoft Technology Center (MTC) in Austin, Texas. The first session, lasting three days, gave the team an overview of the .NET Framework and how it could be applied to expedite solution development and meet the solution criteria.

The SYKES developers then applied what they’d learned by creating a proof of concept (POC). The POC constituted what MTC Technical Director Jim Keane calls a “thin slice” of the application architecture, allowing the developers to test the technologies they planned to use in the full solution to see how the technologies would work together. The POC was tested over the course of a second, three-week session at the MTC.

The MTC sessions gave SYKES developers both a deeper knowledge of the .NET Framework and a specific approach to building Newton, according to Gary Castilla, Director of Application Development at SYKES. For example, SYKES laid out the client, application, and data access layers—each with its own capacity for handling business logic—based on MTC guidance.

The solution also uses Microsoft BizTalk® Server 2004, another member of Windows Server System, in two ways. First, BizTalk Server2004 is used to move e-mail messages into and out of a deployment of the Microsoft Exchange Server 2003 communication and collaboration server, which then integrates with a third-party vendor. This capability enables agents of the manufacturing customer to remain in the Newton environment while responding to telephone calls as well as email messages from consumers. Second, BizTalk Server 2004is also used to process orders created by the agents to be filled by SYKES fulfillment centers or by third-party vendors.

Deploying the Solution

For more than a year, version 1.0 of the application has been in production out of the SYKES data center in Manila, Philippines, with 100 percent availability. It serves three call centers in the Asia Pacific region (Japan, Philippines, and China) and consumers from 10 countries.

The company’s manufacturing customer will deploy the next version of the solution to approximately 20 call centers worldwide. These call centers will be serviced by one of three data centers located in Philippines, Scotland, and Florida. The data from all threedata centers will then be aggregated into a data warehouse located in the Florida data center to provide the comprehensive customer views that the manufacturer previously lacked.

Each data center has five servers, including two dual-processor application computer servers in a perimeter network (sometimes known as a “DMZ”) that are load-balanced using Windows Server 2003 Network Load Balancing (NLB). Data replication is enabled by Windows Server 2003 Distributed File System, File Replication Services, and SQL Server 2000. Each data centeralso has one four-way computer server for the SQL Server 2000 database.

Benefits

The Newton solution was both designed and developed 50 percent faster than would otherwise have been possible, thanks to the proofofconcept developed at the MTC and the technologies and components in the .NET Framework. With the solution now deployed, the retail products manufacturer expects to use data from the global CRM solution to implement product enhancements more quickly, thereby helping to guard and increase its sales.

50 Percent Faster Development

By choosing the .NET Framework and Visual Studio .NET 2003 over J2EE, SYKES estimates that it saved five months of development time—up to 50 percent of the time it would have taken to develop Newton without the Microsoft technologies.

“We needed to develop Newton as quickly as possible, without sacrificing any of our performance criteria for scalability, flexibility, and extensibility,” says Castilla. “The .NET Framework and Visual Studio .NET [2003] definitely made this possible.”

Considering the size of the development team—which included six to eight SYKES developers at any one time—Hook says that the faster development enabled by .NET connection software yielded considerable budget savings for SYKES.

Castilla attributes much of that savings to the prebuilt components in the .NET Framework, which minimized the need for developers to create components from scratch. The Newton solution includes approximately 500,000 lines of code—about 50 to 75 percent less than would have been required in another development environment.

“The .NET Framework has virtually every pattern, every problem you need to solve already addressed in some technical component, such as Application Blocks that take the struggle out of security configurations and data access,” says Castilla. “.NET Remoting enabled socket-level communication that was very important in passing information through the solution. Without the .NET Framework, creating that would have been a major undertaking.”

50 Percent Faster Architecture Design

In addition, the architecture design work for the Newton solution was at least 50 percent faster, thanks to the MTC, according to Castilla.

“The Microsoft Technology Center (MTC) clearly accelerated our learning curve with .NET [connection]software,” says Castilla. “It gave us a deeper knowledge of the technology and a specific approach for applying the technology to our proposed solution. The working sessions at the MTC gave us the shell and the knowledge to build out from that shell to achieve the solution. Our design work would have taken at least twice as long without the MTC—just laying out the 21 projects in Newton would have taken three weeks.”

Faster Response to Product Issues

With Newton now starting to roll out globally, the retailproducts manufacturer is seeing business benefits from the single, comprehensive CRM solution, according to SYKES. Without releasing competitive information on its productenhancement efforts, the manufacturer says that it is benefiting from being able to use the aggregated consumer views from the Newton solution as input for its quality assurance systems.

“Thanks to the capabilities we enabled through .NET [connection software], our customer can identify and resolve consumer issues with its products more quickly than it could before,” says Castilla. For example, if product issues arise in one regional market, the manufacturer can quickly check to see whetherthose issues are also arising in other regions. Product quality data and consumer profiles can be analyzed across countries and regions. According to the manufacturer, these capabilities enable it to enhance its products in ways that guard and even increase sales.

Architecture Synopsis

The three-tier architecture of the Newton solution is shown in Figures 1 and 2.

The client tier uses smart-client technology to run client code that is based on Windows Forms and the .NET FrameworkApplication Blocks. The smart-client layer is designed to provide high functionality even in the low-bandwidth or intermittent-connection environments in which call center workers—who sometimes operate from a 28-Kbps (kilobits per second) dial-up connection through a laptop and a mobile phone—often
work. For example, the client converts XML datasets to custom data objects optimized for low-bandwidth environments and compresses large objects as necessary to further reduce bandwidth use. Automatic updating enables the client to take advantage of connectivity and available bandwidth by receiving updates when they will not interfere with other communications functions.

The use of the .NET Framework Application Blocks—including the User Interface Process Block, Configuration Block, Exception Block, Asynchronous Block, and

Application Updater Block—provides the client-side capabilities without requiring the developer to code all the functionality.

The application or business logic tier uses the .NET Remotingfor fast, two-way communication with the client tier (see Figure 2). Like the smart client, the application tier was built with components of the .NET Framework and Visual Studio .NET 2003.

The database tier is enabled by SQL Server 2000 (see Figure 2) with communication between the application and database layer based on SQL Server 2000 stored procedures and Microsoft ADO.NET datasets.

Following the Data

When a call center worker initiates an information request—for example, to bring up a consumer record—that request is received through a Windows Form by the User Interface Process (UIP) Block. UIP Controller classes convert the dataset that is bound to the Windows Form to custom data objects in preparation for passage over the Internet. The Client Business Manager handles client-side business logic and then instantiates Client DataSource objects to identify the proper source—e.g., a .NET Remoting object, a Component Object Model (COM) object, or even the client cache—for the requested data.

The objects are then sent to the application server (see Figure 2). IIS6.0 hosts the remote objects with a Server Business Manager Instance, similar to the client-side instance, performing required business logic and instantiating the server DataSource object. This DataSource object identifies the source for the data (in this case, SQL Server 2000) and builds the parameters for the Data Access Block to call a SQL Server 2000 stored procedure that will execute on the database.

SQL Server 2000 returns its response in the form of ADO.NET datasets, which are converted in the server’s application layer to Newton’s custom data objects and passed back to the client, where they are converted back to datasets and bound to the appropriate Windows Form.

When the user chooses to save or modify the consumer record, the client initiates the same process of data conversion and business logic described earlier. On the server side, the Business Manager Instance creates a separate instance for each DataSource object to perform the object-to-relational mapping. The Data Access Block in the server-side application layer then prepares multiple SQL Server 2000 stored procedure calls to implement the change to the database record(s).

Technical Challenges