PDF An Attempt to Analyze & Resolve the Pitfalls in CRM Software ...

International Journal of Scientific and Research Publications, Volume 2, Issue 5, May 2012

1

ISSN 2250-3153

An Attempt to Analyze & Resolve the Pitfalls in CRM Software through Plug-In Instrumentation

Prasenjit Kundu, Debabrata Das

Abstract- Despite the popularity and myths regarding CRM as it changes the way how a company interacts with customers and the employees perform their jobs throughout the organization, there are many potential areas of failure in a CRM and overcoming these bottlenecks and pitfalls has become a point of interest in contemporary business and IT research. The pitfalls of CRM can be classified as (1) technical (slow execution, memory overhead , performance flaws at runtime etc), (2) strategic (improper planning, inadequate objectives, lack of focus on customer etc.) and (3) operational (slow ROI, slower time to market, negative brand perception etc).In this research paper, a hybrid approach has been proposed through which the CRM software package can be optimized in order to make it more reliable and versatile by solving the identified problems. This proposed approach uses plug-in program instrumentation to optimize a CRM software package at runtime without altering or stopping the execution of the CRM package. The proposed approach also conceives a set of generic policies to overcome the strategic and operational anomalies of an existing CRM package. It can be inferred that the optimization of an existing CRM package based on dynamic program analysis & plug-in instrumentation will open up many avenues of research in this direction and it will also increase the general interest of researchers and academicians for conducting research work in the converging area of application of IT and business administration.

Index Terms- CRM, Plug-in Instrumentation, Dynamic Program analysis, Hybrid Optimization Framework

I. INTRODUCTION

The CRM or Customer Relationship Management is a strategy used to learn more about customers' needs and behaviors in order to develop stronger relationships with them. CRM helps businesses use technology and human resources to gain insight into the behavior of customers and the value of those customers. With an effective CRM strategy, a business can increase revenues by:

Providing services and products according to customers' needs and wants.

Offering better services to the customers. Enhancing the effectiveness of cross selling of products. helping the sales executives to close deals faster Retaining existing customers and exploring the

possibility of discovering new ones [1].

Research on CRM has confined itself on service quality enhancement and betterment of post purchase customer service etc but the effect of consumer behaviour on CRM has been

ignored. Major research on CRM has only a single purpose and that is to provide a managerially useful, end-to-end view of the CRM process from a management perspective [2]. In other words, these models focus what the managers need to know about their customers and how that information should be used to develop a complete CRM process[3].All these models are excellent tools for practicing marketing managers but it lacks the framework on the basis of which marketing analysts and researchers can further improve the CRM process because no such serious effort has been made to explore the relation between consumer behaviour and CRM and also the effect of consumer behaviour on CRM. Recent empirical research with an objective to identify the key factors on which the market and customer relationship depends in services marketing scenario resulted in developing a new model on customer relationship management and this model is PREMASA model [4].PREMASA Model attempts to bring about a strategic change in CRM policy and this is relevant particularly from managerial point of view , but a CRM software has some limitations which needs to be addressed properly to make it more effective and reliable. This paper attempts to identify the existing and potential limitations and pitfalls in CRM software from mainly technical point of view and proposes a technique to resolve these pitfalls.

II. LITERATURE REVIEW

The usage and applications of CRM software has evolved over the years primarily as a tool to assist and support the effort of the management in attracting, managing and retaining customers. Researchers and industry practitioners agree that CRM software has some serious limitations and these limitations are hindering the true potential of CRM in accelerating business processes and practices ([5], [6], [7], [8], [9], [10], [11]). There are vast differences between the myths regarding CRM software and the actual ground reality.

These limitations can be classified as (i) Technical Limitations of CRM and (ii) Strategic Limitations of CRM ([5], [6], [8], [11]). Few of these limitations are listed below:-

[A] Technical Limitations

1) Slow Execution 2) No provision of Automated Cache Clearance 3) Lack of Dynamic Load balancing 4) Performance & Security flaws.

[B] Strategic Limitations

1) Huge Investment yet slow return 2) Insufficient Resources & Metrics



International Journal of Scientific and Research Publications, Volume 2, Issue 5, May 2012

2

ISSN 2250-3153

3) Lack of change management supports 4) Inadequate focus on objectives

Further, Casey Gollan pointed out that as the business grows, requirements of a CRM package are needed to be upgraded but adding these extra features can be quite expensive [12].It is not always a wise decision to remove the existing CRM package which is running in the organization as it will be a costly affair.PREMESA model highlights some of the strategic issues of CRM and develops a new perspective of customer relationship management. Buehrer & Mueller focuses on middleware approach of CRM in terms of four perspectives : business, process, functionality and infrastructure[13].From the available literature on CRM software packages it is clear that the CRM has the excellent potential for customer acquisition , management and retention but the pitfalls and limitations in it is adding to its failure to do so. In this scenario, the concept of dynamic program analysis can be used as one of the potential tools to overcome the pitfalls of an existing CRM software packages at runtime.

Dynamic program analysis is the analysis of computer software that is performed by executing programs built from that software system on a real time basis. For dynamic program analysis to be effective, the target program must be executed with sufficient test inputs to extract and produce interesting behaviour. Dynamic program analysis helps to make a computational system reason automatically (or at least with little human assistance) about the behaviour of a program and draws conclusions that are useful to help the software developers to determine exploitability of vulnerabilities or to rapidly develop an exploit code [14].Dynamic analysis produces output, or feeds into a subsequent analysis, that enables human understanding of the code and makes the design and testing task easy for the developers. Dynamic program analysis approach attempts to tune the application software during execution without stopping, recompiling or even rerunning the application. To achieve this objective it is necessary to use dynamic instrumentation techniques that allow the modification of the application code on the fly [15]. (Ref. Fig.1).

Program instrumentation is a general way to understand what an executing program is doing[16].The principle of dynamic program instrumentation involves deferring program instrumentation until it is in execution and then inserts, alter and delete this instrumentation dynamically during the actual program execution. The Paradyn group at the University of Wisconsin and University of Maryland first used this approach to develop a special API that supports dynamic instrumentation and the result of their work was called DynInst API. DynInst is an API for runtime code patching that provides a C++ class library for machine independent program instrumentation during application execution. It allows attaching to an already running process or starting a new process, creating a new piece of code and finally inserting created code into the running process. The next time the instrumented program executes the modified block of code i.e. the new code is executed and the program being modified is able to continue its execution and does not require to be recompiled, relinked or restarted [15]. It eliminates the need to modify or recompile the application's source and it will also support the instrumentation of programs that dynamically generate code [17].

Research shows that it is also possible to change instrumentation at any time during execution by modifying the application's binary image as well as the runtime behaviour can be extracted from the software using software visualization [18].Dynamic program analysis can be used to modify an existing software system (CRM package) to make it more powerful and updated, program optimization is the desirable option to achieve faster execution, less memory storage and to draw less power. The dynamic program analysis instrumentation has the potential to graphically represent the various executions traces of a CRM package, thus by helping to debug and speed up the operation [19]. Recent research has also proved that the concept of plug-in instrumentation can be used to insert extra code in the existing CRM software package at runtime without altering its execution [20].

III. RESEARCH OBJECTIVES

The main aim of this paper is to pinpoint the technical limitations of a CRM software package and to optimize them as much as possible so that the CRM software failure rate can be reduced and the software can meet the business organizations' changing needs and requirements periodically. The endeavour is to carry out the plug-in instrumentation concept as a way forward to answer the challenges posed by the technical limitations of existing CRM software packages.Hence, this paper proposes a set of framework and guidelines so that most of the technical flaws can be overcome in the existing CRM packages at runtime using dynamic program instrumentation followed by optimization techniques to achieve:

Speed up the execution Dynamic Load balancing Program Debugging Performance tuning of the software.

IV. PROPOSED PLUG- IN INSTRUMENTATION & OPTIMIZATION FRAMEWORK

The proposed framework involves Plug-in Instrumentation to indentify the technical flaws of a CRM packages at runtime and to take appropriate measures to overcome the flaws by different optimization techniques. Finally, the framework also provides a set of generic guidelines to overcome the strategic flaws of CRM (Ref. Fig.2). The entire conceptual framework will work in the following three phases:-

A. Phase -1: Dynamic Plug-In Instrumentation Phase The proposed Plug-in code can be inserted, when required, into the CRM software without interrupting its normal execution, This phase focuses on:-

Code tracing Debugging and Exception handling Profiling Logging events Performance counter



International Journal of Scientific and Research Publications, Volume 2, Issue 5, May 2012

3

ISSN 2250-3153

The logical block diagram of the Plug-in Instrumentation is shown in figure 3.The diagram itself shows that by clubbing the instrumentation program with CRM in execution state, it is possible to get the visualization of different execution traces using call graph and control dependency methods. The next phase carries out the optimization tasks and after that again the code can be reinserted to the plug-in point.

B. Phase -2: Hybrid Optimization Phase

Optimization mainly focuses on improving system performance in term of shorter execution time, less memory usage, less disk space, less power consumption etc. The most popular optimization techniques are program and compiler optimization. Each of these techniques has their own benefits. The compiler optimization [16] is preferred for this proposed framework as it is capable of fine tuning the output of a program to minimizing or to maximizing some attributes of an executable computer program([21],[22],[23]).

As most of the business organizations are using the legacy CRM packages till date as part of their enterprise wide IT infrastructure, the use of hybrid optimization techniques (i.e. combination of Dead Code Elimination and Code Block Reordering) is suggested for the proposed framework. The Dead Code Elimination is a technique through which the code that will never be executed or the code that has lost the relevance from the program objective point of view can be safely removed from the program[24].The Dead code elimination method can be used to reduce the total execution time of the CRM system efficiently. The use of dead code elimination can be illustrated by a real life situation. Let us consider a business organization is maintaining a schema called Customer_ Details (Customer_ id, name, address, pager_ no) in their CRM software package. Whenever the company declares any bonus or discount or any new product promotional scheme they would like to send the textual message to each of their clients' pager numbers whose details are there in Customer_ details schema or in the database that is attached to the CRM package. Now in the present scenario as pager based communication no longer exists therefore the corresponding code (written below by underline) need to be removed from the system in order to increase the processing speed (Ref.Fig.4).The next technique is Code-block reordering that alters the order of the basic blocks in a program in order to reduce conditional branches and improve locality of reference. The following code will show that:-

C. Phase 3: The Strategic Guideline Phase The previous two phases mostly focus on the technical aspects of CRM. In this phase, a set of generic guidelines are provided to solve the strategic or operational levels constraints and limitations of a CRM. These are as follows:

Before the implementation or roll out of CRM a clear and concise presentation on the capabilities and potentialities of CRM should be given to the stakeholders by the IT experts of the firm.

During CRM implementation, it is better to start by first prioritising requirements.

During implementation and after implementation of a CRM software package, close co-ordination is needed among the IT experts, sales and marketing leaders of the firm.

The top level management should focus on three basics, viz; Involvement, Implementation, and Training.

The IT experts should handle the post-implementation operations of the CRM software carefully.

More emphasis should be given to the change management issues before and after the CRM implementation.

Let X(A,B,C,D..) and Y(B,F,G,H) are tables stored at local and remote database of a server respectively. Fig. 5 illustrates the Code Block reordering. During the program execution, the Block B must be accessed before the previous Block A as Block B consists of X, i.e. Block B deals with a local database. That is why faster access will be possible based on locality of preferences. So, the combination of death code elimination and code reorder techniques can be used to optimize the CRM package and both the death code elimination and code reorder techniques can be initiated within a CRM software package by plug-in instrumentation.



International Journal of Scientific and Research Publications, Volume 2, Issue 5, May 2012

4

ISSN 2250-3153

Figure 1: Dynamic Program Instrumentation

Figure 2: The Proposed Plug-In Instrumentation & Optimization Framework

International Journal of Scientific and Research Publications, Volume 2, Issue 5, May 2012

5

ISSN 2250-3153

Figure 3: The Dynamic Plug-In Instrumentation



................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download