Enterprise Software

What developers should know about CRM

Most people are aware of the strategic significance of customer relationship management systems. But what does this technology mean for developers? The first article in this series will provide an overview of CRM and show you where you might fit in.


Technology is constantly setting a new pace for business. As science pushes technology into the future, technology does the same for the enterprise. A key technology that is driving current business trends is customer relationship management, or CRM. In this article, we’ll introduce some basic concepts of CRM technology and describe some implementation considerations.

Managing customer relationships
At the most obvious level, CRM is about managing the relationship between business and its customers. But CRM is really about understanding the customer’s needs and responding in an efficient and effective manner. CRM is driven by information. Large data warehouses store everything about the relationship between the business and the customer. CRM technology allows the business to examine that information, determine customer trends, and make decisions about how to further build customer relationships.

For example, a business might be able to determine that every March, a customer purchases X amount of product Y. Knowing this, the business can make sure it has that product in stock every March. But it can also inform the customer about product Z that will last twice as long as product Y and cost only 20 percent more.

Types of business communication
There are many ways to communicate with customers. Account executives may build a personal rapport with the customer via telephone calls. A less obvious communication is the invoicing process. Every time the customer and the business share information, they are communicating and, hopefully, building their relationship. A strong customer relationship for the business means the customer will continue to buy. For customers, a good relationship means they can leverage their buying power with the business to get good prices, and it means better service.

The Web is a common communication medium for businesses today and represents an essential piece of the CRM puzzle. Web sites allow businesses and customers to share information. More importantly, the information sharing can be automated. Automation enables event-based processing and moves data between systems without the need to rekey data (eliminating human error).

Many companies are taking advantage of Interactive Voice Response (IVR) to assist in relationship management. IVR technology allows the business and customer to communicate via a touch-tone telephone interface. This approach provides a lot of the same technological advantages as the Web site without requiring the customer to use a computer.

Of course, mail is another key communication medium. Whether sending products, catalogs, or invoices, postal mail is the mainstay for many businesses. Electronic mail is taking over a significant percentage because it allows the business to reduce operating expenses and deliver information to the customer much quicker than postal mail.

Implementing CRM requires DBAs, architects, and developers
Many types of CRM solutions are available for different industries and business sizes, so it’s difficult to describe a “typical” CRM implementation. However, the basic architecture for a CRM solution includes a large data warehouse as the central hub. While the data warehouse may not drive the real-time supply-chain system or other operational applications, it does contain a lot of the same data. In general, CRM data warehouses are not 100 percent real-time. Instead, the information is usually moved in batch from production systems into the data warehouse on a set schedule (weekly, daily, or hourly depending on batch size and business need). Because of the amount of data involved in a CRM system, a full-time DBA is usually responsible for maintaining the data warehouse.

Many CRM implementations are also integrated with other production applications, such as sales force automation (SFA) and enterprise resource planning (ERP) systems. Depending on the complexity of the system, a system architect may be needed to design a CRM integration plan. In addition, one or more programmers may be needed to hook the CRM system to other systems using the prescribed architecture.

Architectural considerations include determining how to integrate the CRM system with an IVR or Web front end, as well as determining how to move data to and from the data warehouse. While the actual process of moving the data is the responsibility of the DBA, the architect will be able to determine the best method because he or she has a holistic view of the system. In future articles, we’ll examine how an architect might implement CRM in an integrated environment.

From an operational perspective, the marketing gurus are the ones interested in building the CRM system and will own the business rules that drive the CRM processes. Many CRM packages require experienced programmers to implement some of the useful features. For example, the ability to create process queues, automate communication, and integrate an IVR or Web interface all require a fair amount of technical knowledge to be successful. Also, some CRM packages incorporate their own proprietary programming language used for scripting internal processes. We’ll talk about the specifics of programming CRM systems in future articles.

Summary
CRM is a fairly new technology that is enabling better communication between businesses and their customers. As we’ve seen, the key to successfully implementing a CRM solution is understanding how a business communicates with its customers.

Now that we’ve covered CRM basics, we can focus on implementation specifics for DBAs, system architects, and developers. Next time, we‘ll look at “data cubes” and discuss how they can be used in CRM systems and how these are helping businesses better understand their customers.

Editor's Picks

Free Newsletters, In your Inbox