CRM Sustainability

We have been engaging in a lot of interesting debates in the NPower office about what makes a CRM solution sustainable for an organization. After a typical CRM deployment project, we do our best to leave the nonprofit with enough knowledge and tools to keep them sustainable. Here is a list of a few of the things we do:

Documentation - We initially started with word docs, however, we are more recently moving towards the use of Help Tips, Recorded Screen Casts, and a Help Tab. The idea behind documentation is that it should be complex enough to educate someone on how to use the CRM; however, not so complex that the documentation cannot be maintained.

Training - This is perhaps the most important element for us. We typically provide our clients with two levels of training. We do an end user training session that lasts between 1 and 3 hours depending on the complexity of the client implementation. We also do an administrator training for the Sys Admin level users at a client site. We also encourage the Sys Admin level users at the client site to attend a formal Salesforce training class.

Community - For clients that are in cities where CRM user groups are held, we encourage them to join and attend. This allows them to learn from their peers and get new insights into what is possible with CRM. We also encourage Sys Admin level users to join the NPSF so they can learn through the engaging technical conversations of the online community.

One of the areas that continues to be a challenge for us is Custom Code. Salesforce (and other CRM tools) provide a variety of means to extend the base platform with Custom Code. In the case of Salesforce this would be Apex, VisualForce, S-Control, and API Code. We are always weary of dropping custom code into an organization that has no means of managing or modifying the code. We do our best to avoid code by using as much standard functionality as possible. When it comes to deploying custom code into an organization that is not able to support it, we work through a simple cost/benefit tradeoff. Is this Code performing a high value business function? Is there a high probability the Code will need to be changed within the next 3 years? If the code needs to be changed, can the organization afford the change? If there is HIGH value for the code, LOW probability of the code needing to be changed, and the organization will likely find the funds for a change, then this alleviates our concerns. Custom Code is not to be feared in a NPO CRM implementation; however, a plan needs to be in place to support it over its lifecycle.

Enterprise 2.0 Takeaways

I was lucky enough to be invited to attend the Enterprise 2.0 Conference this week and was able to meet with many organizations dealing with adopting these kinds of “2.0″ tools. I saw 2 common themes emerge:

  • Almost every organization is struggling with adopting and effectively using these tools.
  • Lots of these projects started in somebody’s basement (both metaphorical and literal) and grew exponentially as more people with the organization started to adopt the tools

One of the most interesting presentations was from the CIA’s “Intellipedia” team. Essentially they used the Wikipedia platform within the internal intelligence community to start sharing information better within and across the multiple government intelligence agencies.

Link: http://community.e2conf.com/community/sessions/tuesday/gs03?view=all

Take a look at these terrific points from the OSS Field Sabotage manual (sound like your organization?): http://www.boingboing.net/2008/06/11/sabotage-manual-from.html

Visualforce is coming…are you ready?

As we all know, Visualforce is going to be released this weekend with the full Summer 08 release.  Are you ready and up to speed?  If you have a Salesforce Developer Account (which you should because they are free!), take a look at http://wiki.apexdevnet.com/index.php/Force.com_Tutorial:_An_Introduction_to_Visualforce

Also, there is a free webinar next week which you can register for here:

http://wiki.apexdevnet.com/events/visualforcewebinar/registration.php?d=70130000000E15w

Start kicking the Visualforce tires and post comments about your experiences here!

Encrypted Fields in Salesforce

A colleague of mine (Lisa Glass) recently began using encrypted fields in Salesforce. It turns out they are fairly simple to use. Encrypted fields need to be requested through the “Feature Activations Team” at Salesforce. You can just open a Support Ticket and put in a request for this. As per the documentation, this feature is available to all Enterprise and Unlimited edition accounts, which means all NPO’s should be able to access this.

How it works:

  • It creates a new field type in your instance called “Text (Encrypted)”. This is fairly similar to a regular text field, except that the data is encrypted.
  • In order to see data within an encrypted field, the user’s profile must have the “View Encrypted Data” option checked off
  • Any user that does not have this permission in their profile will see a value such as “***-**-****” when they view the encrypted field. (Note: You can specify whether you want the Mask to be either a “X” or a “*”. You can also leave a portion of a field unencrypted, such as the last 4 digits of an SSN.

Limitations:

  • Max length of 175 characters. (You can’t really use this to encrypt case notes.)
  • Field value can not be Unique, External ID, or have a Default Value
  • Can not search, filter, roll-up, query, or use the field value in a Formula
  • Can not use in workflows and assignments

Overall, this is a very powerful feature and you should consider leveraging it in your instance if your are storing any sensitive data such as Social Security Number, Credit Card Number, Medical Info, etc.

There is a lot more information on best practices and usage examples within Salesforce Help.

When is a good time to start a CRM project?

At NPower, we have worked on a fair number of CRM projects and we are trying to figure out the question of CRM timing. When is the best time for an organization to implement a CRM solution? I have taken the OLC (Organizational Life Cycle) Model and mapped that against our experiences with CRM success.

When is the right time to take on a CRM project?

Stage 1: Startup Stage - The organization is still figuring out it’s mission and funding streams. Operating procedures are in flux and can quickly change based on grants, board members or funders. Technology is not really a core requirement.
Stage 1 CRM Outlook: Investing in a CRM Solution typically doesn’t yield great results because many of the underlying assumptions will change over the next few years. A very simple fundraising CRM solution can be effective in this environment, however, using CRM for operational purposes may not yield a good ROI.

Stage 2: Growth - At this stage, the organization has proven that their mission is a sound business idea. They have proven that they have the operational know-how to execute on their mission. They have secured a stable base of funders and a good core of board members. Their attention has turned from survival to growth.
Stage 2 CRM Outlook: This is likely the stage at which a CRM solution can have the greatest impact on an organization. Implementing a CRM can provide substantial gains on the fundraising side, while also cataloging a history of all fundraising interactions. On the operations side the CRM can begin to model organizatonal procedures and collect valuable performance data. If the CRM solution is implemented in an intelligent manner, it can scale and flex as the organization grows and evolves.

Stage 3: Maturity - As an organization reaches a certain scale, it’s growth will slow. At this stage, the organization is very good at executing on it’s mission. It has an extensive base of funders and they have very specific expectations of this organization.
Stage 3 CRM Outlook: This is a very tricky stage for CRM deployments and a lot depends on the organizational culture and leadership. If the organization culture is receptive to change, then a CRM solution can serve as a great engine for operational improvements. If the org culture is not receptive to change, then a CRM solution will likely replace some existing systems and only provide marginal efficiency gains.

Stage 4: Decline - The organization begins to lose stable funders and board members. New startups take away fundraising streams and the organization is perceived to be less effective and not as innovative in a modern environment. The organization begins to cut back on programs, staff, and all non-essentials as it seeks to find a way to reach a stability point.
Stage 4 CRM Outlook: Surprisingly, this could be a great time for an organization to move towards a CRM solution. Organizations in this stage are often heading back towards stage 1. This leaves them open to process innovations and funding changes. This willingness to explore new paths can make a nimble CRM solution an effective solution to manage the massive changes that the organization must face. The difference between this type of organization and a stage 1 organization is that they also need to carry forward the massive amount of data and relationships that they have amassed over their years.

The above is not meant to be hard and fast rules about good and bad times to get into CRM. They are just some observations from our years of CRM consulting experience. There will undoubtedly be many organizations that are exceptions to the above rules for a variety of reasons.

It may take years to fully understand the impact of the CRM solution, however, the clear winners so far seem to be those organizations that are in a growth stage.

Job opportunities at NPower

I’ve been busy writing Apex, so no time to post to the blog. One thing I’m learning is that once you have some useful Apex code, like the lead conversion and payment processing tools we’ve created, it is easy to deploy it to multiple organizations — and that is just what we’re doing. However, in every case there are small tweaks to make, and more test methods to write, and more debugging, so it important not to underestimate the time needed to reuse your solutions.

We currently have two open positions in in our growing CRM consulting practice here at NPower Seattle (and many clients ready for help!). If you have Salesforce expertise or other relevant experience and are looking for a opportunity to work with nonprofits on a great team of developers and implementors, please take a look at these.

NPower Seattle serves over 450 nonprofit clients each year by providing technology consulting, education and training. Our clients include arts and environmental groups, human services agencies, food banks and youth-serving organizations.

Find full job descriptions at http://www.npowerseattle.org/getinvolved/jobs/index.htm. Submit resumes and cover letters to Resumes (at) NPowerSeattle.org.

Start with your reports, you’ll be much happier

I was having a great discussion about Salesforce yesterday with Sonja Okun, the Executive Director of Exalt Youth. Exalt Youth, in her words, “acts as a prevention for justice system involvement to youth at risk of getting caught in it, and as a catalyst for integration into our economic mainstream for those who have already entered the system.” Exalt Youth has been using Salesforce for the past few months as part of their daily program operations. Unlike other nonprofit organizations, she isn’t currently using the donor management functionality at all, although she plans to use that in the future.

Sonja and I were specifically talking about all of the fields that she wanted to add to Salesforce once she saw the possibilities of the system and the ease of reporting. Again, in her words, “I just wanted to add everything, and why don’t we track this…and this too!” It’s pretty trivial to add custom fields in Salesforce, so when the project started she had quite a few fields that she wanted to add. However, as the project progressed, it became clear that she wasn’t going to use the data in a structured way. She wasn’t going to report on it to funders or even internally. This led to a simplification of the data model and the creation of extremely useful reports and dashboards (nice job, Lisa!.

The lesson here is to start with the reports that you would like to generate, drill down into each of those reports, and make sure each of those fields exists somewhere in your data model. You can’t get the data out if it’s not in the system. Conversely, don’t put extra data in the system if you’re not going to report it out! This becomes painfully true if you have line staff who have to enter reams of data into a system at the expense of actually serving their clients. If no one is looking at the data that they are spending so much time entering, it can really hurt user adoption of the system, and that’s when you’ll start hearing the “I hate our new database” comments.

What does a CRM Implementation cost?

As a CRM consultant, I often get asked the question of what a CRM implementation costs? I typically respond with the standard consultant speak of “it depends” and enumerate some of the factors that can influence the pricing of a CRM implementation. From a client perspective, I understand that it can be frustrating not to get a solid number or even a narrow range estimate. The problem is that a CRM project is kind of like building a house and depends on dozens of factors. Below is a list of some of the items that can influence the price of a CRM project:

  • Business Functions – This is essentially a scope question. Are you trying to solve a specific need with your CRM or are you looking to turn your CRM system into a quasi-ERP system to run all of your internal data needs? The more scope, the more it will cost.
  • Business Process Re-engineering – Is your organization fairly confident in existing business processes or are you looking to make some big changes? A CRM consultant can aid in this process, however, this tends to consume a lot of hours and raise costs.
  • Iteration Cycles – Most Salesforce implementers will prototype an application. Each round of revisions on the prototype is often referred to as an “iteration”. Limiting the number of iterations can help to manage costs. One of the key ways to do this is to ensure that all stakeholders participate in the review process and that coordinated feedback is sent back to the CRM consultant.
  • Training & Documentation Needs – For larger organizations, using a “train the trainer” model can save significant implementation costs. Also, be careful to only get as much documentation as you can maintain. If you are not able to maintain hundreds of pages of documentation, do not request it from your CRM consultant. Static documentation tends to become outdated very quickly on CRM systems.
  • 3rd Party Applications – Does your CRM project need 3rd party applications? Sometimes this can help to lower implementation cost (could be at the expense of ongoing cost). However, some 3rd Party apps may require setup or configuration which can add to the implementation cost.
  • Consultant – Like in any marketplace there are different types of consultants in the CRM Marketplace. Some thrive on transactional models were they execute a large number of projects and are able to charge lower rates. This is great for organizations that have limited budgets and fairly straightforward needs. Other consultants get deep into an organization and may re-engineer processes in addition to technology. This approach is great for organizations with complex business problems and more flexible budgets.
  • Custom Code – If your business requirements cannot be met within the constructs of the CRM platform you are using, then your consultant may need to custom code. In Salesforce this means adding Apex, VisualForce, and S-Control code to your system. Custom code can quickly increase both your implementation costs and your long term maintenance costs.
  • Systems Integration – Does your data need to be in synch with other databases or applications with your IT infrastructure? What type of synchronization (manual, bi-directional, uni-directional)? Systems integration can easily increase implementation costs.
  • Web Integration – This one is a little more complex because there are some things that are very easy to integrate with a website (Web2Lead, Web2Case). Other items such as building a multi-page application form with save and return functions could be more complex and costly.
  • Data Migration – This is the single area that we have seen the highest variance of cost. We will probably need an entire blog article to describe how data migration can influence costs. One thing that you can really do to help keep costs down here is to clean up your data. Remove duplicate records, correct spelling mistakes, and get paper data into electronic form. If you have 100 Excel files, see if you can condense that down to 20 or fewer files. This is one area were doing some prep work can save you substantial CRM implementation costs.
  • Reporting Requirements – This is another area where there tends to be high variance among organizations. Some organizations have enormous and complex reporting requirements, while others can survive on basic data reports. A consultant will need to review your reporting requirements to get a sense of where you land on the spectrum. Reporting can get particularly expensive when there are complex business rules and formatting rules for report generation.
  • DIY – One way for an organization to lower CRM implementation costs is to take on more of the work themselves. For example, if your organization needs to have 100 reports and 30 dashboards built, have your consultants build out the most complex ones and do the rest yourself. You will save money and also increase your system skills at the same time.

The above list is not everything that goes into CRM implementation costs; however, it does reflect some fairly important items. Also, consider the following when thinking about CRM implementation costs. If you decide to do a lot of the work in house, you are not really lowering the CRM implementation costs. You are just displacing them from an external resource to an internal one. Depending on how your org’s budget is structured, it may be easier to use internal resources. Also, be careful not to take on too many ongoing costs (3rd party apps and services) to lower implementation costs.

If you are a CRM consultant or have done a CRM project for your organization, please shout out some of the other major cost factors you have faced in the implementation process.

10,000 free emails per month from Vertical Response!

This has been posted about elsewhere, but this is a pretty big deal. VR and Salesforce are very nicely integrated, as you probably already know:

http://www.salesforce.com/appexchange/detail_overview.jsp?id=a0330000000GI9FAAW

More details can be found on the VR Email Marketing blog - http://blog.verticalresponse.com/verticalresponse_blog/2008/04/non-profits-ema.html, which I recommend heartily for all nonprofit communication folks out there. Janine Popick, who writes the blog, has a great writing style and gives lots of good tips around getting more people to actually read your emails.

Enjoy!

Salesforce Data Backup

One of the advantages of using a hosted solution such as Salesforce.com is that your vendor manages many of the update/backup/keep secure items that you’d have to manage if your software were installed on your computer or server.

Salesforce has a solid track record with all of those things and have a lot of redundancy -after all -their business model depends on you having access to your data!

At the same time - they’ve made it easy for you to get a backup of your data -and you should - that data most likely drives your important work, and having an additional layer of backup makes sense.

Some quick notes, though, about what you actually get (and what you don’t):

  • You can request your data weekly in a CSV (comma separated value) file - but it isn’t incremental. That is, the data you get today is a full snapshot of your data. And if you get another snapshot next week - it’s also the whole enchilada - everything from last week, PLUS the changes. So you can’t “easily restore” just a few contact records without some hard work.
  • Your vendor may not be able to easily integrate an older CSV file with your live data. If you remember your initial data migration process - this would be similar.
  • Your vendor MAY be able to integrate a subset of data more easily.

Here’s how to request a backup:

  1. Click on Setup | Administration Setup | Data Management | Data Export
  2. Select the “Include attachments” check box (if desired).
  3. Select any data that you would like to include by checking the box next to the name of the object. Selecting the “Include all data” box will include data from all tables.
  4. Click the “Data Export” button

A confirmation email will be sent when the export has completed, with a link to the export files. Thanks to Chris Atwood at Salesforce for the how to steps!

When to Request a Backup:

  • Just before you make a substantial change to your data!
  • Weekly or monthly, depending on your internal IT practices
  • Just before you ask a vendor to make modifications or updates to your Salesforce instance.