Friday, April 11, 2008

How To Calculate CRM Total Cost Of Ownership (TCO)

Although it may look and sound complicated, calculating the Total Cost of Ownership (TCO) for on demand CRM is as simple as elementary subtraction. Or to go one step further, more money will be going into your business rather than the system that struggles to support it. The on demand model affords customers greater flexibility in accessibility and product, hassle free hosting of information, upgrades year round and greater security of information, just to name a few perks!

For those not using on demand CRM allow me to break down its cost effectiveness versus out of the box or custom built solutions:

For starters you can take your current IT costs and subtract all your hours and dollars spent on system maintenance, upgrades, integration and up keep.

Now further subtract the cost incurred for hosting your current network or CRM application. If it is in house then you can deduce server costs, power costs etc... If you host via third party you can go ahead and drop that cost all together.

So things are starting to look a little brighter!

For those who currently use an out of the box CRM system, you can go ahead and knock off the costs incurred for support, training, customization and yearly upgrades, and every other hidden fee you incur.

I am sure that by now some of you are probably feeling a little skeptical; and I don?t blame you, the potential to save this much money definitely warrants some initial second guessing. But don?t let me convince you, see for yourself and put your worries to rest once and for all.

No upfront costs ? with on demand CRM, the software is already built and it is entirely hosted online, all you have to do is subscribe and start using it.

No downloads ? the on demand CRM platform ensures you are never burdened by continual downloads cluttering up your computer and network while slowly eating up your memory.

No hosting fees ? the on demand platform is designed, built and maintained by an expert IT staff, hosted at an external secure location with manned security personnel. Enabling you the user to focus solely on your business and only your business.

Customizable platform ? the on demand SaaS platform is readily customizable by expert developers and product engineers. No longer will you have to fork over thousands of dollars to mash stand alone legacy systems into a tedious and often bug ridden enterprise solution.

Free upgrades ? with the flexibility of the on demand CRM model, top CRM vendors can offer continual and seamless updates and enhancements to their solution.

Security of Information ? a common misconception with the on demand platform is the issue of information security. While many find comfort in having their information hosted on site, they are in fact more vulnerable to intruders or hackers, or disgruntled employees then they would be by using the ASP/on demand platform. A good CRM vendor out sources the hosting of their servers to ISP providers, thus guaranteeing greater security and up time for their customers.

There is no denying the aforementioned facts, on demand CRM offers you greater bang for your buck when compared to the conventional out of the box offerings. On demand CRM removes the headaches of IT maintenance along with its hefty costs, it optimizes your employee work rate and in turn, allows you to bring in more money while spending less. Not to mention your company info could not be more secure!

Colin Duffy enjoys writing about CRM subjects and on demand CRM and ERP software vendors such as Salesboom ( http://www.salesboom.com )

Labels: , , , , , ,

Friday, January 11, 2008

CRM: Technology vs Culture

CRM: Its at the forefront of todays business vocabulary. $6.7 billion was spent globally on CRM software in 2001 - communication, behaviour and culture are equally crucial factors in making CRM successful too.
CRM: Technology v Culture By Cheryl Rickman

CRM: Its at the forefront of todays business vocabulary and, according to Meridien Research, $6.7 billion was spent globally on Customer Relationship Management software in 2001. However, businesses are increasingly learning that technology and software alone cannot make a CRM system successful, and that communication, behaviour and culture are equally crucial factors in developing a successful CRM strategy.

New Internet technologies have arisen, such as Computer Internet Integration (CII), Chat, Push, and Callback, which enable one-to-one customer/consultant conversations and let advisors take control of the customers browser to help them navigate and buy. However, in the same way that companies have traditionally had problems managing effective in-house call centres, today web companies are finding live customer service to be time consuming and labour-intensive.

Some companies say they have the solution. Microsoft (obviously in there somewhere) will be releasing their new customer relationship management product, MSCRM, due out by the end of the year. This promises increased sales force automation for small businesses and is, apparently, not aiming at the enterprise market.

A company aiming at the both the SME and enterprise market is SalesForce. They aim to become the world's first "enterprise automation utility" by delivering (CRM), sales force automation (SFA) and financial software over the Web, competing directly with giants such as Siebel, PeopleSoft, SAP and Microsoft Great Plains. And with customers paying as little as $65 per month for their low-end service, its a more affordable CRM application, which is apparently quick and easy to implement.

The Professional Edition application (its current offering) does not allow for real-time integration with back-office systems and offers only limited customisation. To address these shortcomings Salesforce.com has announced its Enterprise Edition, which is aimed at larger companies, plus an introductory offline edition, available for use on a laptop, and a wireless version accessible via any PalmOS device.

Another solution comes from Transform People International (TPI). Unlike the aforementioned companies, TPI is not a software company. Its a management consultancy, specialising in behavioural analysis and transformation, organisational change and training. Naturally they focus less on the technology and more on developing connections and transforming behaviour, attitudes and styles the grass roots of CRM know how your customer thinks, what their needs and wants are; how you think and how to best engage effectively with each person to generate optimum results.

Its the value of knowledge about customer needs and buying habits that is becoming more important along with changing business cultures and deepening connections with customers. TPI understand this and have launched their new Connections Tool as a result: an online diagnostic tool that aims to improve connection and communication with customers in 4 simple steps. Rising above regular sales techniques, the Connection Tool builds on both CRM technology and behavioural understanding. The output provides a written summary of the main characteristics of the person, with an overview of how they act when under pressure. It also provides an overview of what drives that person, with key tactics and strategies for better connection. http://www.transformpeople.com/connections/tpiintroduction.htm

The TPI Connections Tool grew out of Transform People Internationals experience in delivering organisational change in many global corporations across a wide cross-section of vertical markets ranging from communications and technology to packaging. As well as an acute awareness that, by understanding behaviour, businesses can improve communication and develop relationships more successfully.

Technology V Culture

An Information Masters survey revealed that, Technology and information are responsible for, at most, 25 per cent of your CRM competence. Other assets that are important include brands, messages (sadly neglected), staff knowledge, policies, processes and rules.

And, according to Robert Shaw, founding director of the consultancy CRM Best Practice, The danger is that many organisations are now investing huge sums in the wrong things. The technology is excellent in many cases, the problem lies with how we apply it. We invest too much time in selecting one-hit solutions and too little time in creating the business vision, adds Robert. Bad CRM is easy. You just read the press, go to a few exhibitions, choose some software, hire some systems implementers, and bingo, you have a Web site, a call centre, or a mailing database. Most important for good CRM is to have an offensive strategy, not a defensive one. Waiting until competitors threaten you, then responding to them or copying them is a recipe for failure. You need to take time out to create the vision.

And that vision includes developing an analytical attitude towards customer, staff and client behaviour. A vision mirrored by Transform People.

How you asses the person youre developing a relationship with, how you assess your own behaviour and your organisational behaviour, and how you engage with people are crucial to making CRM more effective, Says Ian Mills, Director of Transform People International.

Arthur OConnor, leading expert on CRM and columnist for www.ecrmguide.com, agrees, Some businesses spend a fortune striving to engage, attract, and sell prospects -- only to take extreme measures to avoid interacting with these same people after they become customers.

He adds that the Call Centre hasnt been the best choice for those striving to improve CRM. Many companies brought in poorly trained, ill-equipped people to serve as their primary customer interface, says Athur. Resulting in Corporate Schizophrenia.

Evidently then, it is the behaviour of staff, the behaviour and experience of your customers, combined with a winning strategy and good technology that will improve a CRM strategys chances of success.

Afterall, a CRM package only has real and tangible value if it is backed by a strategy, agrees Ronni T. Marshak, senior vice president of the Patricia Seybold Group.

In building a robust customer relationship objectives should include reducing the cost of acquiring new customers, cross-selling and up-selling to existing customers, closing more sales, targeting more lucrative markets, and creating conditions to make those goals more obtainable. "Most of those conditions have nothing to do with CRM technology itself," says Marshak.

"A company that wants to become truly customer-centric rather than just paying lip service to the notion may have to reengineer fundamental business processes and change prevailing attitudes altogether," he concludes.

Evidently then, the success of CRM rests on both technology and organisational change and the willingness of organisations and individuals to assess and analyse behaviour to improve connection and deepen relationships.

The best technology in the world cannot incur the required cultural, organisational and behavioural change that is needed to drive effective CRM strategies. The difficulty is getting people to change the way they work, to use the technology and to interact with the customer differently. So says Micheal Juer, Director of Sales Pathways Ltd.

There is now a shift occurring where businesses are beginning to realise that they have to work with their customers, and technology is becoming a secondary issue to that. But it is that cultural shift that you need to do, in order to actually deliver good customer service and differentiate yourself from your competitors in the market place.

Customer relationship management should be seen as a strategic response to a set of customer, staff and business needs. And as long as businesses focus on those crucial points and not just technology alone: working with customers and facing organisational and cultural change, their CRM results will improve.

7 Tips for CRM Success:

Define your business objectives and goals against which results can be measured. Give each CRM project three dimensions: people, processes and technology. Establish a systematic approach to project management including team development, IT, marketing, services, sales and management, as well as software. Clearly identify corporate and customer needs. Research requirements, behaviour and how to engage and deliver effectively. Manage organisational change effectively. The human factor is imperative to a projects success. Invest in training more essential than any piece of software. Focus on proactive selling, management and relationship building to effectively upsell and cross-sell.

Cheryl Rickman is author of '111 winning ways to promote your website successfully' and contributes regularly to Better Business magazine, Digitrends.com and Internet.com. She offers website appraisals, copywriting and marketing via http://www.webcritique.co.uk

Labels: , , , , , ,

Tuesday, November 27, 2007

Microsoft CRM Customization programming Closed Email Activity

 Microsoft CRM is CRM answer from Microsoft and attempt to get market share from Siebel, Oracle and others traditional Client Relationship Management System vendors. Microsoft CRM uses all the spectrum of Microsoft recent technologies: .Net, MS Exchange, MS Outlook, MS SQL Server, Replication, Indexing, Active Directory, Windows 2000/2003 security model, C#, VB.Net, HTML, XML Web Service, XLTP, Javascript to name a few.

Today's topic is Activity of email type programming - you usually deal with these customizations when you improve Microsoft Exchange CRM connector. How do you create closed activity - this is the main discussion topic. Well use C#.Net coding

One of the roles of our Exchange Event Handler/Sink is creation MS CRM Closed Activity in handling incoming and outgoing email messages. The interaction with Microsoft CRM uses two approached using MS CRM SDK (handling inbound and outbound XML messages) and via direct access to MS CRM Database. Lets first look at the Closed Activity creation algorithm:

1. First we need to understand the entity we need to create activity for: Account, Lead or Contact. The selection should use specific criteria in our case this is email address:


if ((crmAccount = crmConnector.GetAccount(mailboxFrom)) != null) {

}

else if ((crmContact = crmConnector.GetContact(mailboxFrom)) != null) {

}

else if ((crmLead = crmConnector.GetLead(mailboxFrom)) != null) {

}


2. Then we have to get GUID of MS CRM user, who owns this entity, C# code like this:


crmUser = crmConnector.GetUser(crmAccount.GetOwnerId());


3. Next step is closed Activity creation:


emailId = crmConnector.CreateEmailActivity(

crmUser.GetId(),

Microsoft.Crm.Platform.Types.ObjectType.otAccount, crmAccount.GetId(),

Microsoft.Crm.Platform.Types.ObjectType.otSystemUser, crmUser.GetId(),

crmAccount.GetEmailAddress(), crmUser.GetEmailAddress(), sSubject, sBody);


4. The method to create closed activity:


public Guid CreateEmailActivity(Guid userId, int fromObjectType, Guid fromObjectId, int toObjectType, Guid toObjectId, string mailFrom, string mailTo, string subject, string body) {

try {

log.Debug("Prepare for Mail Activity Creating");

// BizUser proxy object

Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser();

ICredentials credentials = new NetworkCredential(sysUserId, sysPassword, sysDomain);

bizUser.Url = crmDir + "BizUser.srf";

bizUser.Credentials = credentials;

Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

// CRMEmail proxy object

Microsoft.Crm.Platform.Proxy.CRMEmail email = new Microsoft.Crm.Platform.Proxy.CRMEmail();

email.Credentials = credentials;

email.Url = crmDir + "CRMEmail.srf";

// Set up the XML string for the activity

string strActivityXml = "";

strActivityXml += "";

strActivityXml += "") + "]]>";

strActivityXml += "";

strActivityXml += userId.ToString("B") + "";

strActivityXml += "";

// Set up the XML string for the activity parties

string strPartiesXml = "";

strPartiesXml += "";

strPartiesXml += "" + mailTo + "";

if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + "";

}

else if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";

}

else if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";

}

else if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + "";

}

strPartiesXml += ""+ toObjectId.ToString("B") + "";

strPartiesXml += "";

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString();

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "" + mailFrom + "";

if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + "";

}

else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";

}

else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";

}

else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml += "" + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + "";

}

strPartiesXml += ""+ fromObjectId.ToString("B") + "";

strPartiesXml += "";

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString();

strPartiesXml += "";

strPartiesXml += "";

strPartiesXml += "";

log.Debug(strPartiesXml);

// Create the e-mail object

Guid emailId = new Guid(email.Create(userAuth, strActivityXml, strPartiesXml));

return emailId;

}

catch (System.Web.Services.Protocols.SoapException e) {

log.Debug("ErrorMessage: " + e.Message + " " + e.Detail.OuterXml + " Source: " + e.Source);

}

catch (Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

return new Guid();

}


5. To make the activity just created be shown correctly you need to setup its flags according to MS CRM standards:


public void UpdateActivityCodes(Guid emailId) {

try {

OleDbCommand command = conn.CreateCommand();

command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) WHERE ActivityId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING));

command.Parameters.Add(new OleDbParameter("StateCode", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter("PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter("ActivityId", emailId));

log.Debug("Prepare to update activity code " + emailId.ToString("B") + " in ActivityBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

}

public void UpdateActivityQueueCodes(Guid emailId, Guid queueId) {

try {

OleDbCommand command = conn.CreateCommand();

command.CommandText = "UPDATE QueueItemBase SET Priority = (?), State = (?), QueueId = (?) WHERE ObjectId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("Priority", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter("State", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter("QueueId", queueId));

command.Parameters.Add(new OleDbParameter("ObjectId", emailId));

log.Debug("Prepare to update activity queue code " + emailId.ToString("B") + " in QueueItemBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + "" + e.StackTrace);

}

}


Happy customizing, implementing and modifying! If you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

Boris Makushkin is Lead Software Developer in Alba Spectrum Technologies USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, Boston, San Francisco, San Diego, Los Angeles, Houston, Dallas, Atlanta, Miami, Montreal, Toronto, Vancouver, Madrid, Moscow, Europe and internationally (www.albaspectrum.com), he is Microsoft CRM SDK, C#, VB.Net, SQL, Oracle, Unix developer. Boris can be reached: 1-866-528-0577 or borism@albaspectrum.com.


borism@albaspectrum.com

Labels: , , , ,