Monday, November 11, 2013

The Three Stonemasons of CRM Consulting

You will often hear the wisdom that if you are implementing a CRM system you should get a partner or CRM consultant involved to maximise the chance of success. This is true but not all partners and consultants are created equal. So what kind of partner/consultant is right for the job at hand?

The Three Stonemasons

There is a story, usually told in MBA courses, used to discuss the concept of vision and its importance in motivation and passion in the workplace.

Three stonemasons are building a cathedral when a stranger walks by. The stranger approaches the first stonemason and asks ‘What are you doing?’. To which the stonemason replies ‘I am chiselling this block, of course’.

The stranger approaches the second stonemason and asks the same question to which the stonemason replies ‘I am building a wall’.

Finally the stranger asks the third stonemason what he is doing and the stonemason replies ‘I am building a cathedral to last the ages. Many generations will come here to celebrate birth, marriage and death. Once completed I can die content in the knowledge I made a difference in this world’.

The idea being that if an employee is provided the vision of where a company is heading, they will be inspired to move mountains to make it happen (assuming it is a good vision).

The idea of small, medium and big picture thinking equally applies to CRM consultants.

The Block Cutter

Sometimes you need someone to come in do a very specific job and then get out. This is the specialist surgeon of the CRM world. Often they are developers and the problem is a specific plugin that needs changing or written. They do not care so much about what the business context is but more about getting a difficult job done and done well.

The Block Cutter is often an independent consultant and, if you need one, ask a CRM MVP. We either are one or know of one we can recommend.

The Wall Builder

In this case you recognise that CRM could be used to manage another process in the business. Perhaps it is complaint management or the office safety audits. Whatever it is, a new module needs to be written for CRM. This is where the Wall Builder comes in. Rather than being a specialist, these consultants are more general, having some development skills but also some business consulting skills. They will sit with you, determine the requirements for the module and then design the solution. They do not necessarily need to know the full system vision, relying on you to ensure the module fits in with the bigger picture.

The Wall Builder can be an independent consultant but is often a small team of three or four consultants working together in a small practice. Again, the CRM MVPs who are not working for themselves often work for practices like this as it gives them a level of autonomy not always available at larger organisations. Again, ask an MVP what you are after and we can guide you in the right direction.

The Cathedral Maker

Often this is the pilot implementation of a CRM system; it needs to service the requirements of multiple departments, all with diverse processes. You may be daunted at the prospect of putting in such an all-encompassing system and know that you need help. The various stakeholders may have different requirements and all of these need to be corralled into a seamless, functional system.

This is where the big guns come out. The larger consulting companies have CRM consultants which can provide all manner of service and some even specialise in specific industries meaning they not only know the pitfalls of CRM, they know the pitfalls for your specific field. They will hold your hand from the beginning through to implementation and beyond. When you need someone to take care of the entire project, the Cathedral Maker is the best choice.

In the case of the Cathedral Makers, if you are tired of asking your friendly neighbourhood MVP for advice, Microsoft can also put you in touch with a CRM implementation partner who specialises in your industry. It is in Microsoft’s interest that you use their software for years to come so you can be sure they will do their best to find the right match for you.

Conclusions

Just as there are many tools in a toolkit, there are many different CRM consultants for different kinds of jobs. Finding the right consultant in terms of skill set and cost can be difficult but, with the help of a CRM MVP or Microsoft, you can save yourself a lot of money and heartache finding the right stonemason for you.

Monday, October 28, 2013

Synchronous On-Demand Workflows in Dynamics CRM 2011

Previously, I talked about building a work process in CRM 2011 if you are unable to move to CRM 2013 and make use of the new process flow functionality. In this blog I talk about another way you can approximate CRM 2013 functionality in CRM 2011. Specifically, how to create synchronous on-demand workflows in CRM 2011.

Workflows 101

Anyone who has worked with workflows in CRM 2011 knows that they run asynchronously i.e. not in real time. The workflow is triggered and then put in a queue for processing by the Asynchronous Service when the opportunity arises (generally within a few seconds of hitting the queue). This means that, for example, if my workflow creates a record, this record may not be immediately available to the user when the workflow is triggered. This can cause confusion but is usually managed as part of the training process.

The Traditional Workaround

To get around this issue, the best approach is code. For form behaviours, there is jscript and for record management there are plugins. However, if you are looking for a codeless alternative, albeit, as usual, a slightly less elegant one, here it is.

Pageless Dialogs: 2011’s Synchronous Workflow

Unlike their cousin the workflow, dialogs run synchronously. Unfortunately an in-built requirement of dialogs is that they contain a page and a prompt and response.

image

So how do we get around this? The simplest way is to embed a Prompt and Response in an If Statement and make it so that the If Statement is never satisfied. By the way, I remember reading about the possibility of circumventing the Prompt and Response on a blog years ago but cannot remember the source so, if this is you, thank you for providing this trick and giving me the mental foundation for this workaround.

So, for example, if we want to synchronously update a field, we can do this:

image

We will still need to manually refresh the form to see the change but the change itself will be synchronous. Other things we may want to do synchronously include:

  • Create a record
  • Assign a record
  • Change status

Pros and Cons

As previously mentioned, a coded approach is a lot more elegant in terms of visibility to the end user; code behaviours just happen. In the case of my approach, the user must select the dialog and click the Finish button when the dialog is finished but when they have done this we can guarantee the changes have been applied.

Given dialogs can only be triggered on-demand, we are restricted to only creating on-demand synchronous workflows; for event-based workflows our only option for making them synchronous is still code.

One big advantage though is the ability to access the additional steps and functionality in dialogs, not available in workflows such as CRM Query, Variables and the ability to pass arguments to child dialogs. These are powerful functions and it is a shame that, even in CRM 2013, workflows do not have access to these functions.

Conclusions

Obviously, the best approach is to move to CRM 2013. However, if this is not an option, and you are loathe to write code for something which may well become obsolete when you eventually upgrade, this trick provides a codeless workaround to common CRM process requirements where the process is initiated by the user and needs to run in real time.

Monday, October 21, 2013

Upgrading My Surface Pro To Windows 8.1

I upgraded my Surface Pro 128Gb this weekend so I thought I would share my experiences and thoughts on whether others should follow suit. In short, take the usual precautions and then go for it.

When Will My Surface Auto-Update?

I was waiting and waiting for Windows Update to apply the upgrade but it does not work that way. The Windows 8.1 patch/update does not come down to the Surface Pro automatically but, if you go to the Store, it should be the first giant window you see.

 

You install it like any other app. The main difference being it is a big download; 3Gb of big. I have seen complaints about this on the web saying how Apple would never release such a large patch etc. To be honest, never having owned an Apple computer, iPhone or iPad, I have no idea how stream-lined and floral-scented the Apple upgrade path process is.

For myself, as the big download happened in the background, it was not a big deal; I started it in the morning and a few hours later (our internet is not the fastest in Australia) it told me it was going to reboot in 15 minutes and get the process going. I finished playing my level on “Where’s My Water 2” and rebooted.

I have read about people having a few issues with the upgrade on general PCs so, obviously, back up before applying the upgrade. I had a file backup from a few weeks ago so, for me, this was good enough.

My biggest concern was hard drive space; Of the 128Gb, I was down to 10Gb. For those that have seen my other Surface reviews, when I first got the machine, at the end of February this year, after installing the essentials, I was down to 50Gb of free space. By June, this was at 20Gb. With the space going, it looked like I would be purchasing a Surface 2 before the end of the year. Thankfully, the upgrade to Windows 8.1 has literally saved me hundreds of dollars by putting off this looming apocalypse.

Windows 8.1 Frees Up Space

This is my hard drive as we speak.

image

I now have almost 40Gb of free space on the hard drive! Upgrading to Windows 8.1 has made close to 30Gb appear out of nowhere. So what has happened?

Unfortunately I did not screenshot pre-upgrade because I was not expecting such a dramatic change. To be honest I thought I would be down to 5Gb and looking to jettison old iso and avi files but this was not the case.

The best we have is my June screenshot where I was at 22Gb of free space. The main folders which are smaller since then are the Users folders (reducing in size by about 4Gb), the Windows folder (also reducing by about 4Gb), ProgramData has lost about 6Gb and System Volume Information has gone down about 3Gb (22Gb+4Gb+4Gb+6Gb+3Gb = 39Gb). The User directory is mostly my profile account. I had sorted through about half of my 10G of unsorted files so this is probably where this space gain came from.

The Windows folder, I assume, is because Windows 8.1 does some spring cleaning with the upgrade. The Avast! antivirus logs had been reduced since June so this could explain the reduction in the ProgramData folder. Finally, I do not have a solid idea why the System Volume Information is smaller. I do see that the SystemRestore sub-folder is empty so, perhaps, again, this is some spring cleaning.

The amount of free space has fluctuated between the high and low thirties over the past 24 hours but this is still a lot better than 10G.

The Actual Upgrade Process

On my Surface Pro, this was painless, although it did take a while (presumably, in part, due to the freeing of 30G of space). You will see a lot of spinning dots, percentage counters slowly increasing, a few reboots and some cutesy commentary like “Fixing up a few more things”. Once this is all done you should be good to go. I did not time the process but set aside an hour and you should be ok.

Any Problems?

Problems were minor. Firstly, the pretty, stylised picture of Seattle has gone from my lock screen and replaced with some brightly coloured concentric circles (although the old picture can be restored in settings). Also, my desktop picture has been replaced. The other issue is my Windows Phone is now displaying the old Live ID icon for my details rather than my previous Facebook icon, which it had shown pre-upgrade. I assume this is a ‘last change wins’ issue and, if I go to Facebook and re-apply my ‘table dancing’ icon, it will sync to the phone.

I have not adjusted any of the ‘issues’ yet because, frankly, none are a big deal for me.

Finally, some of my Metro applications no longer work. None of these were essential or even regularly accessed and so I have simply uninstalled them and not given it a second thought.

What Has Changed?

I have already mentioned the space which has appeared. Fellow CRM MVP Joel Lindstrom believes it is due, in part, to the changes with the way Windows 8.1 uses SkyDrive. For existing users of the SkyDrive application, nothing has really changed as you still have your SkyDrive folder.

image

The biggest difference for me was, before, I could only add a limited number of folders to my SkyDrive folder because there was no choice but to sync them down to the local drive (unless you accessed them via Internet Explorer or the Metro SkyDrive app.) Now, with windows 8.1, all folders are visible under the Skydrive folder but are all virtual cloud folders (except ones you were syncing locally, pre-upgrade). You can right-click on a folder to make it sync locally but I will probably only do this on an as-needed basis.

This change means it is much easier for me to manage my SkyDrive content from the File Manager. For example, it is quite difficult to manage the space your SkyDrive account is taking up through the web client or Metro app and with only certain folders being synced locally, pre-upgrade, it meant this also did not give me visibility of the files in my account. Now I can run my TreeSize application and manage SkyDrive as if it was just another drive. Prior to upgrade, I used my son’s computer to store a full local backup of my SkyDrive, via the SkyDrive application, so I could manage the space. This will no longer be necessary.

You may also know that the Start button is back. I had installed a Start button emulator prior to upgrading, which I uninstalled before going to Windows 8.1 but the new one covers the essentials. The new start button does not bring a lot to the table and is equivalent to hitting the Windows button when you pen-tap or left-click it and is equivalent to the Windows 8 Windows-X when you right-click it. I still welcome its return though.

The upgrade also comes with a new version of Internet Explorer (version 11). While recently abandoning IE10 for Firefox, I find myself, again, giving Microsoft one more chance, switching my default back to IE. No freezes or crashes so far but my IFD CRM 2011 instance does not like it, showing me the Express client rather than the normal web client. I assume a rollup will come to the rescue on this one.

Finally, you can, like in a Windows phone, adjust the size of the tiles in the Metro screen (the tile settings are now accessible in the same way as the Windows Phone i.e. press and hold, rather than down-drag and release). You can make tiles really big or tiny. I like this flexibility but, like my Windows Phone, it is not always obvious whether a tile is active or not, without sitting there to see if it changes. Because of this, it is not always obvious what the optimal size for a tile should be (do I make it small and miss out on tile notifications, or bigger, wasting real estate just in case it wants to tell me something?). A suggestion for Metro app makers; provide information or a setting to optimise the tile size to ensure the best user experience. I did notice the dragging around of tiles is greatly improved and less ‘shaky’ than it was in Windows 8.

Conclusions

I say if you are running a Surface Pro and have the spare 3G of space, go for it. Obviously, back up your data and make a note of the applications you have installed (checking online if there are critical ones which you may think will not survive the process). My experience has been almost exclusively positive and, with my additional hard drive space, I can spend my money on other things than a premature machine upgrade.

Saturday, October 12, 2013

Building a Work Process in CRM 2011

CRM 2013 brings a range of new capabilities in terms of managing processes. From the new Flow UI form which walks the user through the steps to complete the process through to form management via synchronous workflows and the new ‘business rules’ configuration.

While the form management can be reproduced in CRM 2011 with jscript, there is no equivalent of the Flow UI. The best we can do is generate tasks via workflow. I recently had to do this for a client so I thought I would go through the steps here.

A Simple Sales Process

Let us say our process is:

  • Stage: Contact Prospect
  • Stage: Negotiate Contract
  • Stage: Opportunity Won

Here we move from one stage to another by completing the necessary actions until we finish and win the opportunity.

The Workflow

image

A much simpler workflow is one where it creates all the steps at once. In that case the workflow is simply a series of ‘Create’ steps. This one is a bit more complicated but the behaviour is also a lot more complex in that it creates the tasks one at a time, the next one appearing as the previous one is completed.

The workflow kicks off when the opportunity is created and stays alive while the opportunity remains open.

The first thing it does is create our first task, ‘Contact Prospect’. A good idea with these tasks, especially if you are planning to generate a lot of them, is to incorporate unique information into the subject so that when all the tasks are listed, you know which ones relate to which opportunity.

image

The trick is we then wait until the task is completed or cancelled. We do this with a Wait step. In my example, the action following the wait is blank. The code purists would nest the next step into here but workflows in CRM have a finite number of nesting levels so, in this case, I simply put the next Task creation below the Wait step. As the workflow will not move on until the wait condition is satisfied, the end result is the same.

There is one final trick in my Wait step in that I have used a ‘Parallel Wait Branch’, one of the lesser used workflow steps. This allows us to specify multiple conditions for the wait and if any of them become true, the workflow moves on.

In this case, either the Task is closed or the Opportunity is closed. If the Opportunity is closed, the previous Task is cancelled and the workflow is forced to stop, as it is no longer required.

Finally, once all the tasks are complete, we can, if we wish, add in a Change Status step to the workflow to automatically close out the Opportunity.

The net result is a series of tasks which appear one at a time and guide the user through the process to closing the Opportunity. If the Opportunity is closed out at any point during the process, open Tasks are closed for us and the workflow is stopped.

Conclusions

If, for whatever reason, you are not in a position to upgrade to the upcoming CRM 2013, this is one way you can create a series of steps for a user to walk through to complete a process. While slightly harder to manage than a Flow UI process, it is still codeless and configurable by a power user.

Sunday, September 29, 2013

You Know You Need a CRM System When You Have a BONA

A cheeky title but more interesting than “Why you need a CRM system”. Sometimes I am asked “How do I know if I need a CRM system or not?” My typical response is either “everyone needs one” or “you already have one, it just may not be very effective”. This article talks about a clear sign you need a ‘proper’ CRM system and the advantages it will bring.

What is a BONA?

A BONA implementation is, arguably, the most common CRM system used by businesses today. It is:

  • Business Cards
  • Outlook
  • Napkins
  • (Microsoft) Access

image

There is also the slightly less innuendo-ridden BONE implementation where Microsoft Access is replaced with Microsoft Excel.

We have all seen this system in operation; piles of business cards on the desk, scraps of notes everywhere, an overloaded Outlook inbox and that application that ‘Bob’ put together in Access which does various business processes and, when a new field needs adding, we just ask Bob.

In the case of BONE, there are usually a few hundred (or a few thousand) Excel spreadsheets scattered throughout the business assisting with various micro-processes.

It is quite surprising how many Fortune 500 businesses run on a BONA/BONE implementation.

Problems With BONA/BONE Implementations

While many businesses operate under these conditions, it does not mean they operate well. Problems include:

  • Things falling through the gaps e.g. appointments and action items written on scraps of paper
  • No easy way to get contact information from the business card pile
  • No easy way to see the meeting/email history for a given person in Outlook
  • No ability to collaborate with co-workers as everyone has their own pile of cards/inbox etc.

In terms of the Microsoft Access application, there is the obvious risk of ‘Bob’ moving on from the business leaving an unsupported application. Also, as with the Excel spreadsheets, the ‘system’ is developed over a period of time and there is often a dozen different ways of doing the same process throughout the business. Even within the Access database there may be multiple contact lists, all with common contacts in them and no clear source of truth. This means none of the data is trusted and is restricted in its use in the business.

The CRM Alternative

These days CRM system are more than just sales force automation; they are a central place for all information about the people and organisations you do business with and the interactions with them. Moreover, a good CRM system will have a workflow engine in it to help manage the processes of the business. Notifications, escalations and approvals are the bread and butter of a modern CRM system.

The icing on the cake is you can create different ‘record types’ (for those of a database persuasion, think new tables). So, if you are in the business of managing elevators, you could create a new elevator record type to store all your elevators in. If you manage cows, you can create a cow record type to store Daisy and Buttercup.

Conclusions

If you or someone you know has a BONE or BONA office, now is a great time to look at getting a proper CRM system. Review your needs, look at the CRM solutions on the market and spin up a 30 day trial. If you see value, get a partner in to set up a system to meet your immediate needs and which can be scaled to meet the unanticipated needs of the future.

Monday, September 23, 2013

Reporting on Activity Parties

Activities are set up in a bit of an unusual way in Dynamics CRM. You have Activity Types (Appointments, Phone Calls etc.) which have their own entities and there is also the Activity entity which holds common fields (Regarding, Subject, Actual Duration etc.) There is also the idea of an Activity Party. An Activity Party is any kind of a ‘person’ which can be associated to an Activity. So, for example, the Required field of an Appointment can be populated by a Lead, User, Account, Contact or Facility/Equipment. These are all Activity Parties, as is the owner of the Activity. In fact there are quite a few ‘Participation Types’:

  • BCC Recipient
  • CC Recipient
  • Customer
  • Optional Attendee
  • Organizer
  • Owner
  • Regarding
  • Required Attendee
  • Resource
  • Sender
  • To Recipient

Activity Grid Issues

Where this can provide some problems is in Activity grids on Contacts and Accounts. For example, if we look at the Activities of Adrian via the Navigation Pane, we see an Appointment.

image

However, looking at the Activity Grid on the Contact form shows no Appointment.

image

The reason for this seemingly inconsistent behaviour? In this case, Adrian is a Required Attendee of the Appointment but it is not Regarding him. The ‘Open Activity Associated View’ looks for all Activities where Adrian is a Party. Unfortunately, when we add the Activity grid to the form, the only relationship we can use is the Activities(Regarding) so the Appointment is lost.

image

Because of the confusion this causes with users, I often remove the Activities grid from the Contact and Account form when implementing CRM.

Reporting on Activity Parties

There is also some limitations with Advanced Find in regards to Activity Parties. While we can perform an Advanced Find on Activities and use Activity Parties to define our filter, it is not possible to perform an Advanced Find directly on Activity Parties. So, while we can ask “Show me all Activities where Adrian has been a Party”, we cannot ask, “Who has been a Required Attendee for an Appointment in the past six months?” The best we can do is start at one kind of entity who can be a participant e.g. a Contact and then browse through to Activity Parties to answer this question but it means querying for Contacts, then Accounts, then Leads etc.

Another option is to use the Report Wizard. I have been disparaging of the Report Wizard in the past and maintain this position. For the average user, Excel reporting is more accessible and for developers, creating SSRS reports directly offers a lot more control and flexibility. In this case, as we cannot easily extract the information we need via an Advanced Find query, the Excel reporting option is closed to us and therefore the Report Wizard is our next best option.

Using the Report Wizard, we define the entities of interest for the report as, for example, Activities and Activity Parties.

image

From here we can add a list of Activity Parties directly to the report. In this case I have grouped them by their Activity Subject, but this is not necessary. You could just as easily group by Participation Type.

image

Once set up, the report can be run and the list of Activity Parties generated and exported, as required.

Conclusions

Activities and their associated records are set up a little strangely in Dynamics CRM, although they can be understood. If you are finding your Activity reports are not working as expected, it could well be the case that your reports are only looking for one kind of Participation Type and not all of them. Generally though, once you identify the cause for the misreporting, it is relatively easy, with a little creativity to extract the reports you require.

Sunday, September 15, 2013

How ERP Can Use CRM: Mass Payment Notifications

Often the worlds of CRM and ERP are quite distant. It is a rare individual who has traversed both of these lands (I am quite lucky to have a few such folk in my team, but it is unusual).

One idea I recently had was a way a CRM system could be used to help with the processes traditionally associated with the ERP system. This post is probably more aimed at ERP users who are CRM-curious than everyday CRM folk but, hopefully, it might generate some ideas to help bridge communication between the two nations.

How Not to Use CRM

There is a rich tradition of people trying to bring ERP functions into a CRM system and it failing horribly. The fact of the matter is a general ledger has no place in a CRM system. If it involves debits and credits or account reconciliation, keep it out. However tempting it my be or however insistent the client is that it is exactly what they need, it is wrong and unnatural and will fail. Even things like inventory management are limited in their scope if managed through a CRM system. This being said, there are some things CRM systems do well which an ERP system can make use of.

What CRM Systems Do Well

CRM systems do two things really well:

  • Managing business processes that involve the passing of information between people
  • Managing interactions with external stakeholders

ERP systems also handle the first one of these well in regards to financial transactions. However, sometimes the second one is lacking. Sure, most ERP systems have a concept of ‘vendor’ and ‘customer’ but tracking external communication is not always as strong; pulling up a history of client emails, meetings and phone calls is not always simple.

This is where CRM systems can help.

Mass Payment Notifications The CRM Way

I am not an expert on ERP systems so I am sure there are some ERP systems that do this really well; I just have never seen it. Let us say we have made a series of payments in our ERP system. Cheques are in the mail, bank transfers are done and money cabled to distant lands, as required. All of this is recorded in the ERP system and we now want to let the recipients know the money is on its way.

To do this via CRM, we first extract the list of payments from the ERP system into a CSV file. Pretty much every ERP system has the ability to generate lists of transactions and export them to Excel so this should not be a problem.

Next, we use the CRM Import Wizard to bring in the transactions. We will need to create a transaction entity in CRM first, but this is a straightforward, codeless process.

image

Once we import, we can then use a CRM workflow to do the rest. The workflow will automatically kick in the moment the record is imported and can send an email, using a template of our creation to inform our customer that their money is on its way. The sent email will be held in the activity history of the account record in CRM, along with any meetings and phone calls made by other parts of the business.

image

While money could be thrown at integrating the CRM and ERP systems to pass the various bits and pieces of information between them, in the case of the activity history, it is probably simpler for the ERP users to simply use the Outlook client for CRM so they can reference the various interactions at their leisure. Similarly, such a setup means the other areas of the business can see when payments are made. For example, if an enquiry comes in via phone to the call centre about a missing payment, they can reference the CRM system to see if and when it went out. If the payment record is not there, they can escalate it, as required.

Conclusions

Sometimes it is hard for the CRM and ERP camps to understand how they fit in with each other. However, it is possible to use the strengths of both for the benefit of the entire business. In the case above, I have described a simple way CRM can help the ERP process and also provide clear visibility of transactions across the entire business. I am sure there are other ways, such as for debt collecting, where a similar process could be employed. If this is of interest, enquire with your internal CRM power users or ask your Microsoft partner how things can be streamlined (as outlined above, it does not have to be an expense process).