Sunday, 16 October 2016

Tips for end users after go-live

21:15 Posted by Benitez Here , , , No comments
Earlier this week I presented at the Melbourne Dynamics365 User Group in the Just 1 Tip slot. This is where presenters share their tips and tricks for 5 minutes with the audience. My tips were on what end users can do after Microsoft Dynamics CRM has gone live. As consultants or service providers, sometimes we forget about the little things that affect the initial CRM experience. In this post I don't have a vlog as what I'm sharing is quite straight forward.

Tip 1 - Easy access

Desktop shortcut

For end users to get to their CRM instance quicker on their laptop/PC, you can create a desktop shortcut.

First, copy the CRM instance URL. On the desktop, right click and select "Desktop"within the New option. A wizard will appear where the URL can be pasted. 


Presto - end user will have a desktop shortcut in minutes. Next time, to access CRM they can simply click on the desktop shortcut.

Browser favourties

Another alternative is to create a browser bookmark or adding the URL to the bookmark bar. You can do this in Internet Explorer, Google Chrome or Mozilla Firefox. My screenshots below is from Mozilla Firefox.


Tip 2 - Changing personal settings

Records per page

If there is a lot of records for a particular entity (eg. Cases), I like to recommend to clients to change the limit of records that are viewed per page. This can be configured in personal settings in the General Tab. 

Format

If you create a new CRM instance, try remember to update the format immediately in System Settings from English (United States) to English (Australia). This way, when the CRM user profiles are created the end users will inherit the format. Otherwise if you leave it as English (United States), the end users will inherit this format. 

No worries, if this is the case then simply update the Systems Settings in the Administration area of CRM and request end users to update their format in personal settings to English (Australia). It's a one-off task.


Tip 3 - Pin frequently accessed view and/or records

For quick access to views, dashboards or records that an end user may need regular access to, the end user can pin these within CRM. This is useful for someone like an Account Manager/Salesperson that is working on a hot Opportunity or when a Customer Service/Support Consultant is working on an high priority case, where each end user needs to get to their record quickly.

You'll see a clock icon towards the top right of the window. Click on this fella and a menu like window will appear immediately. On the left will be a list of views recently looked at and on the right will be a list of records or dashboards recently looked at. Hover over an item and a pin icon will appear. Click on the pin, and the item will move to the top of the list. 


The item will remain "pinned," until the end user decides to remove it from the pinned list.

Tip 4 - Changing the default view

If the system default view is not applicable to the end user's everyday role in CRM, it can be changed to a different view. For example, the system default view may have been set to Active Contacts. The end user may want to see their Contacts only each time they navigate to Contacts. Similar to the previous tip, simply select the view and click on the pin icon. This will make the view the default view.

Tip 5 - Follow other colleagues or records

End users can keep an eye on what their peers are up to or any recent interactions with a record. "Follow" was introduced back in Microsoft Dynamics CRM 2011 where a wall features updates to users or records that an end user follows. It's pretty much like a Facebook wall. This is particularly useful if end users want to understand what is happening within their organisation such as being kept up to date in regards to a hot Opportunity.



Updates to the record or peers you follow will feature on the "What's New" in Activities or the "Posts"component of the record. You can also reference peers through posts to get the communication flow moving.

Tip 6 - Add CRM as a trusted site

OK, this one used to get me all the time. To my fellow consultants, you know you experience this when you set up an environment for the first time and you're testing your work. The dreaded pop-up blocker goes "HEYYYYY... WHAT'S UP, REMEMBER ME OLD FRIEND?! BURN!" Yeah, that annoying thing. 


And if you don't tell the end users this prior to go-live, you're going to get a few support tickets or enquiries about this harmless issue. Why? Because this is their first time with CRM and they'll freak out or will get frustrated. So this is an important tip.

The end user will need to add the CRM URL as a trusted site in their browser or update the permitted URLs in the the browser pop up blocker. My screenshot is from Firefox Mozilla.

Summary

There's some configuration that end users can do after CRM has gone live which can make their experience with CRM better. These tips have been listed in this post and hopefully are useful. If you have any other suggestions, feel free to comment below.

Toodles.

*CRM'ing with passion*

Other news

I recently joined a startup consulting company called State of Matter, Superfluid. It's a neat place and I'm loving it. I have a cool role (other than being a CRM Consultant) which I'll be able to share soon. Here's a few snaps of my new office.









Saturday, 17 September 2016

Cloning records in Microsoft Dynamics CRM

21:33 Posted by Benitez Here ,
Cloning is one of those nifty features that doesn't exist in Microsoft Dynamics CRM out-of-the-box.
The exception is in the Product Catalog where you can clone a Product but alas, elsewhere in CRM it does not exist. Enter IOTAP Record Cloning - with one click you can clone a single record or generate multiple cloned records.

I presented the IOTAP Cloning Tool earlier this week at the Melbourne Microsoft Dynamics CRM User Group so thought I'd share it with you CRM'ers as a vlog.


Check out my vlog below (and same as last time, blooper reel at the end).

What is the IOTAP Record Cloning?

It's a Microsoft Dynamics CRM add-on from IOTAP and is a managed solution. It's easy to install for On-Premise and Online. It already has out-of-the-box configurations ready to go at your disposal after the installation has been completed. To name a few:
  • Invoice and Invoice Products
  • Quote and Quote Products
  • Price List and Price List Items
Once installed you can clone and do some additional configuration to modify the cloning output.

What to use it for

The cloning tool allows you to clone records at a primary level such as clone an Account. It also allows you to clone related records such as clone the Contacts associated to the Account when cloning an Account record.

You have the option to clone a single record or generate multiple cloned records from a record. 



When the cloned record is generated, you'll see a prefix of [Clone] appended to the name of the record.


You can also generate cloned records from a CRM workflow. The IOTAP Record Cloning tool managed solution provides a custom workflow activity which you can call as a step in a CRM workflow.

What configuration do you need to do?

There's three types of configuration:
  1. Clone Attributes Exclude
  2. Clone Related Records
  3. Clone through workflow
For #1 and #2, navigate to this area by heading to Settings > Extensions.

1. Clone Attributes Exclude

If you want to exclude fields when cloning records, you can do so by referencing the Name of the field. To add more fields, simply insert a comma and the Name of the next field you want to exclude.


Grab the Name of the field through the CRM solution.

2. Clone Related Records

If you want to clone related records, you can do so by referencing the Name of the parent entity and the relationship Schema Name.


Grab the Schema Name of the field through the CRM solution.

Check it out in action

After you have set up your configuration of excluding fields and related records, you can start cloning records. In my vlog I cloned an Account which 
  1. excluded the Address 1: City and Address 1: Country fields 
  2. cloned the associated Note and Contact records

3. Clone through workflow

The IOTAP Record Cloning tool managed solution includes a custom workflow activity.


Create a new workflow and simply add the custom workflow activity as a step after your condition. 
Define the properties in the workflow by entering the entity name and the number of cloned records you would like to generate. More about what the GUID is used for here.


When the condition has been met, the custom workflow activity will kick in and you'll see the cloned record in the entity view shortly. In my vlog, I had a simple condition where, when the Account Relationship Type equals "Competitor," go ahead and clone the Account.

Clone Log

There's also a Clone Log which is useful if you need to understand why a clone process failed. You can also provide the details to IOTAP support should you need additional assistance.


What you need to be aware of

Update security roles

If your client goes forward with this cloning tool, don't forget to enable the required security roles with the privileges and correct level of access. I made this rookie mistake, oops. That's my tip for you :)

Only clones at a single 1:N or N:N level

When cloning related records, it does not cascade to additional related records.

Inactive records will be Active

When cloning an Inactive record, it will generate the cloned record in an Active State. For example, if you clone an Opportunity that has been closed as "Won," it will be Active with the last Business Process Flow of "Close" as the stage.

I checked this out with Sumeet Ballani from IOTP and his response was,
"The BPF will be at the same stage as that of cloned opportunity. However cloning allows to exclude certain fields from getting copied to the cloned record. These excluded fields could be configured in cloning." Thanks Sumeet! :)

Lookup records will not be cloned

You can only clone 1:N, N:N related records. N:1 (lookup records) will not be cloned. An example is the the Customer field on the Order, only Order Products would be cloned.

Licence

Here's how much it costs. It's not that expensive in my opinion as it provides functionality that does not exist in CRM out-of-the-box.

Additional links

Is there another method of cloning I can use?

If you don't need to clone related records and only want to clone a record at a single level such as Accounts and no associated records (eg. Contacts associated to the Account), refer to Leon's blog post. You can create a workflow that will clone a CRM record. This is great as there's no licence or developer involved however the cost is time as you will need to configure the workflow yourself. Not really a big issue.

Basically weigh it up:
  1. Do you need to clone across CRM and related records? Then use the IOTAP Record Cloning tool.
  2. Do you only need to clone records for set records at a single level and not related records? Try out Leon's suggestion. If it doesn't suit you, it's cool - try the IOTAP Record Cloning ool. The trial lasts for 10 days.

Summary

I like the IOTAP Record Cloning tool. I think it's simple and does a good job in providing the following
  • Clone a single record at a primary level with the ability to clone related records
  • Generating multiple cloned records at a primary level with the ability to clone related records
  • Excluding fields from the cloned record
  • Generating a cloned record from a CRM workflow
Do I recommend it? Of course! Try it out for yourself. In my vlog I simply installed a trial of the IOTAP Record Cloning tool in a trial Microsoft Dynamics CRM Online environment.

Thanks for reading, toodles!

Special thanks

I'd like to say thank you to Sumeet Ballani for answering my questions in the past week. Sumeet has been responsive and helpful. He shared with me that there will be a newer version of the IOTAP Record Cloning tool this November:

Presently we are working on building new Clone…which would be much better then present one…
  • No Popup
  • UI to do all configuration
  • No need to add additional field in custom entity for cloning
  • Lot of improvements over current one…
This new clone would be out in early November.

Sunday, 11 September 2016

Oracle UPK + Microsoft Dynamics CRM

21:49 Posted by Benitez Here , ,
It's not everyday that you come across a post that combines an Oracle product with a Microsoft product. Today, you will experience just that. In this vlog I cover Oracle's UPK with Microsoft Dynamics CRM Online, where I demonstrate how to clone a price list using IOTAP Cloning Tool. I'm sharing my awe of Oracle UPK as it's a great tool to produce learning material that can help with training and end user adoption. It's a fantastic tool to capture knowledge and maintain all documentation in one place.

In my last vlog I outlined the importance of Entity Relationship Diagrams when it comes to the solution design of a project. This time round, I'm referring to the end user learning and testing of the project which ultimately leads to end user adoption. The result of the system built will be determined by how well end users embrace the system day in and day out. End users can't embrace a system if they don't know what they can do with it. Learning, training and testing of the system facilitates this gap where the desired output is acquired knowledge from interacting with the new system.

Many fellow consultants (and testers) know of the hardship of maintaining the material for a client as the solution can change over sprints and the knowledge transfer from service provider to client can be challenging at times. There are many reasons behind this, whether it's
  • lack of availability of the client end users to spend quality time in learning and testing the sprint delivered. Every client I've worked is pressed for time because they have their own everyday tasks to complete on top of the project
  • learning and training documentation on both the service provider and client can be time consuming. This can be a headache when you have to go back and update documentation due to a bug or change in process in a future sprint
  • every person has a different learning curve, some are adaptable to new systems whereas others are not. The end user acceptance of a new system can vary as a result.
  • change of resources. Some client organisations can have a high turnover in staff
It's critical for end users to be able to learn and know how to use a new system otherwise the time and budget spent on a new system will not be beneficial to the organisation. Yes, designing it right is also important but it goes hand-in-hand with how the end users interact with the new system.

The following two articles outline the importance of end user training for a new system
There are tools that can help promote learning of a new system. Oracle UPK is one of many tools out there that can be used. I gave it a go with Microsoft Dynamics CRM Online. Watch my vlog and you'll understand what I mean. PS: there's bloopers at the end :)


What is UPK?

UPK stands for Oracle User Productivity Kit. I thought it stood for "Ultra Performance Kit" cause
that's what it is to me but all good, we'll stick with User Productivity Kit. Oracle UPK can help support the learning and knowledge process. It's a tool that allows you to record an end user process and generate outputs that can be used by the end users of the system. You have the ability to update the recording at any point in time to re-generate outputs which is awesome in the scenario where outdated documentation needs to be updated such as a training guide. 

There's two parts to UPK, Developer and Knowledge Centre. UPK developer allows you to build and create content whereas UPK Knowledge Centre is what the end users have access to using the files produced. I demonstrated UPK developer in my vlog.

Structure of UPK

The shell of UPK is: Library > Modules > Sections > Topics.


You set up a library where in the library you create modules with sections and associated topics. In the context of Microsoft Dynamics CRM, it would be: 
  • Library is Microsoft Dynamics CRM
  • A modules is Sales,  
  • A section is Customers
  • Topics are Contacts and Accounts

Record your end user process

Within a Topic, you can record an end user process using the browser. Oracle UPK works with browsers so as long as you are using a software that is accessible by browser, you'll be sweet. I used Microsoft Dynamics CRM Online to record an end user process of cloning a price list using IOTAP Cloning Tool.

You simply hit the record button and a recording window pops up that will record your browser interaction. The Print Screen key will start the recording and will also stop the recording. When you start recording, all clicks will be captured as "frames." Remember, every click will be captured so make sure you do a test run first. Don't worry, you can always delete your frame when you edit the content.

Editing content

There's so many things that you can do once you've finished recording the end user process. The following is what I showed in my vlog,
  • You can add an introduction
  • You can change the text of an object that is referenced
  • You can change the size of the highlight area of an object
I didn't show how you can delete frames you don't want. All you need to do is select the frame in the bottom of the editor in UPK developer and right click to "cut" a frame out. Easy as, bro.

Generated outputs

Once you're happy with your editing, you can publish your recorded end user process and content. 

The following is a screenshot of the type of outputs generated.

The "Player and LMS" option has four types of learning modes which is
  • See it!
    • Watch the recording of the end user process
  • Try it!
    • Interact with the end user process recorded
  • Know it!
    • Testing the end user knowledge of the end user process, includes scoring capability
  • Do it!
    • Embedded help where the end user process is guided in each frame

The documents generated are pretty impressive.
  • Presentation is in the format of a PowerPoint Slideshow
  • The Test Case is in the format of an Excel file 
  • The remaining documentation is in the format of Word documents.

I didn't do any configuration and it generated the recorded end user process as-is in each of the documents. Sooooooo cool. 

I don't know whether your reaction is the same as mine but as someone who has spent hours in the past carving up documentation for a Microsoft Dynamics CRM solution, seeing Oracle UPK in action was a game changer for me. You record, edit and produce learning material in half the time.

Summary

Cut down the time and cost spent in creating learning, testing and training material for new systems. Oracle UPK and Microsoft Dynamics CRM Online together can be a winning duo to combat the forces of low knowledge learning and end user adoption. A tool like this can go a long way and it doesn't have to end with the knowledge learning and sharing during UAT. You can use UPK post go-live where your support team can continuously update or create new material from enhancements of Microsoft Dynamics CRM Online. It's a continuous knowledge generation tool to support the system indefinitely. Covering my points from earlier,
  • lack of availability of the client end users to spend quality time in learning and testing the sprint delivered can be minimized if they have a go-to knolwedge centre with access to the material
  • learning and training documentation on both the service provider and client can be time consuming but with Oracle UPK you can cut this element down as it generate multiple outputs
  • every person has a different learning curve, some are adaptable to new systems whereas others are not. The Player and LMS output of UPK allows end users to learn at their own preference and pace.
  • change of resources, some client organisations can have a high turnover in staff. With the material produced by Oracle UPK, you can create an awesome knowledge library that will always be accessible by current staff
Microsoft Dynamics CRM Online can be embraced by end users if there is supporting material in place. As communicated in the two articles I provided earlier, it's really important for end users to learn and foster their knowledge of a new system. Allow Oracle UPK to help and you'll get there.

If you're interested in using Oracle UPK for your next CRM implementation, please get in touch with Myriad IT.

Thanks for reading and til next time, toodles.

PS: to fellow Melburnians

Come to the next Melbourne CRM User Group on Tuesday September 13. I'm presenting the IOTAP Cloning Tool which is what I showed in the UPK Developer recording in my vlog. I showed how to clone a Price List where the Price List Items are also cloned.


Monday, 1 August 2016

Awaken the ERD force in you

07:46 Posted by Benitez Here ,

The inspiration for this vlog is from my travels around Europe last year. I traveled to 10 different places and saw many magnificent masterpieces. Examples were Gaudi in Barcelona, Michelangelo's David and his other piece of work, the Sistine Chapel in Vatican City. 

Inside the La Sagrada Familia in Barcelona. One of Gaudi's masterpieces.

It was such an honour seeing these pieces of art and witnessing the intricacies of each detail was amazing. A lot of planning and design would have been key to these long lasting art pieces and the same applies to designing a solution for Microsoft Dynamics CRM.

So without further ado, this vlog covers the use of Entity Relationship Diagrams [ERD] for solution design. Entity Relationship Diagram is a modelling technique for databases and describes the entities, attributes and relationships. I first came across it when I was studying in my second year of university. I didn't think I would use it but hey presto, I am using it today in each project I work on.


What type of Entity Relationship Model do I use?

I use the Crow Foot model where it displays the "many" notation of a relationship in a way that looks like a crow's foot. I like this type of ERD because for me, I find it easy and it actually suits the customisation methods of Microsoft Dynamics CRM.


At what point do I apply it in my solution design routine?

ERD is something I like to apply prior to building (customising) CRM. I usually tend to create ERD's after the following has been achieved:
  • Gathered requirements from the client through numerous workshops.
  • Assess what is solution design vs standard functionality of CRM. Part of this step is assessing the "CRM Fit" of the requirements - what is minimal configuration vs high development.
  • List the requirements in the form of user stories including the narratives behind it which contain the business rules.
  • Identify the different elements in alignment to the user stories
    • Entities
    • Fields
    • Relationships
Once all of this has been identified after numerous hours and mug loads of green tea, this is where the magic begins - my brain goes into diagram mode. When I do my modelling, I use Microsoft Visio to create my ERD's because it is what is available where I work.

OK so what relationships exist in CRM?

The different types of notations that reflect the true cardinality of a relationship in CRM is listed below. These are what I find applicable to CRM due to the nature of customisations.


  • One (and only One)
      
  • Zero or One
     
  • Zero or Many
  

The first two notation's in the "N:1" relationship in CRM customisations is represented by a Lookup field.

If the Lookup is mandatory, then it is a One (and only One) notation.


If the Lookup is not mandatory, then is a Zero or One notation.



The many notation of a "1:N" or "N:N" relationship in CRM customisations is visually represented by a Sub-Grid in the entity form.



There is the following notation but it's not really applicable to CRM as the "many" notation of the relationship will always be a Zero or Many due to how Sub-Grids work in CRM.
  • One or Many

A Sub-Grid can exist without a record being created, there is no rule of a Sub-Grid needing to have at minimum "one" record at all times. This is because of how Sub-Grids are not enabled on the record until the record is saved.


How do I start putting it all together?

Here's the method I apply when creating an ERD:
  1. Bring up your two entities - I will call these two Entity A and Entity B.
  2. We begin with the maximum cardinality of the relationship. Start from right to left and think: Entity A can have many or 1 of Entity B.
  3. Then from right to left, think: Entity B can have many or 1 or Entity A.
  4. Sweet! Then we finish with the minimum cardinality of the relationship. Start from right to left and think: Entity A must have zero or one of Entity B.
  5. Then from right to left, : Entity B must have zero or one of Entity A.
I repeat the above for all my entities that I have identified. I will also usually have conversations with either the solution architect or developer ninja if I need to bounce ideas off someone else. Typically in the end I walk it through with both of these resources so that anything can be corrected before customising the CRM.

Basically, you need to think about 
  • What is the maximum rule?
    • Entity A can have ..... Entity B
    • Entity B can have ..... Entity E
  • What is the minimum rule?
    • Entity A must have ..... Entity B
    • Entity B must have ..... Entity A
These will form the cardinality of the relationship.


Breaking down N:N relationships

Sometimes you create what we call "native" relationships in CRM. This is where you create a many-to-many relationship from one record to another. In my example in my vlog, I had a N:N relationship from Contacts to Property in my initial ERD.

I would have created the N:N relationship like the following:


This is OK, it's not a bad thing to do. However N:N relationships can be troublesome at times such as
  • When you want to perform a data import using the OOB data import method, it will not work for a N:N relationship. You are out of luck in this scenario.
  • When building custom reports through SSRS or FetchXML, it can be a pain.
  • When searching in Advanced Find, it too can be a pain. You can do an Advanced Find search for N;N relationships if you enable the following in the relationship record. But it will not give you exactly what you are after.

The solution to minimizing your pain and swearing threshold with N:N relationships is to create a manual intersect entity that will form as the "in-betweener," it is your custodian of data that sits between the two entities. It will pull through both entities in the form of Lookup fields. This is what your ERD would then look like:


Final touch

I usually provide a legend where I colour code what is a custom entity. And oops, it should say in my ERD legend "custom entity" not custom box entity :). This helps you, the developers and client understand what you are building that is not "out-of-the-box" for the solution. The ERD helps visualize what will be an extension of Microsoft Dynamics CRM from the custom entitiy colour coded boxes in the ERD. Ideally the ERD reflects the "CRM Fit" of the requirements I spoke about earlier in this post.

Start customising

When you have your ERD completed, you can start customising. Anything that is a Sub-Grid is in the zero or many notation of the relationship which will exist after the zero or one, or one (and only one) notation of the relationship is formed through a Lookup field. It's pretty much straight forward from here onward.

It may take a while to get used to creating ERD's and then customising CRM from your ERD but trust me, it is worth it. Sometimes, your initial ERD may not work out at first but that shouldn't stop you from changing it. I do update the ERD overtime as I either add more entities during the development/build stage or I find that something that was originally thought to be done in a certain way may change. Perfectly normally to update your ERD, hopefully not too frequently!

If you haven't already done so, watch my vlog. I go through the process in my vlog.

Why are ERD's awesome for CRM?

I like ERD's because not only does it help myself in terms of understanding the customisations required, it helps developers when they do custom development. Why? Well they can see the solution design outside of the clickity click of CRM. What I mean by this is clicking through the records to find out how is Entity A related to Entity B. Developers are able to see the different relationships in the form of a diagram which assists them in building plug-ins,

What else is this entity intertwined with.. ahhh, I see it's always going to be associated to record XXX due to the mandatory field from this relationship of "one and only one." Therefore my plug-in can go and update the status of record XXX too. 
Maybe I can make a unicorn appear too? Oh wait, wrong system... Hey Benitez what I can make the plug-in do is...

It can also help design within the project scope. If there are way too many entities for a small project budget, it could get curly in terms of the time you have to complete the customisations plus development plus reports plus training... the list can grow.

If you are a service provider, ERD's are handy when you hand over (see what I did there? Handy... hand over...) to the support team in your organisation where they look after the client after go-live. It helps them understand on a high level what has been delivered for the client. It will help the support team tackle future enhancements as they will need to know how the solution has been designed to date to add additional functionality. From here, they can update the ERD.

My final reason for ERD's being awesome is that it helps you create and design a solution that is simple and not over complicated. If you lay it all out and it makes sense to you, your developers, your solution architect and the client then you're going down a positive path. 
If you receive questions about your ERD in terms of why there's XY relationships to get to Entity D, rethink and adjust it. Take on board the suggestions of your team mates and take another look at your ERD. It helps to run it past others to not only verify your design thoughts but also promote team work. Ultimately your team will be working with you in building the solution. If they provide their input to the ERD that's great, they're in there with you from the early days of the project.

Summary

ERD's are valuable for solution design of Microsoft Dynamics CRM. It allows you and your project team to understand what is being built in alignment to the user stories and what the customisations will be in CRM. Rome wasn't built in a day and an extended version of  Microsoft Dynamics CRM will certainly not be built in a day either. Design your masterpiece using ERD's and design it in a way where it will last a life time.

New and cool features are continuously being introduced by the Microsoft Dynamics CRM product team however as most fellow consultants know, we build solutions that extend Microsoft Dynamics CRM. Therefore it is important to have a good understanding of the building blocks of Microsoft Dynamics CRM. ERD's can go a long way before you start to customise. Bring out your inner ERD powers from within and have a go the next time you do solution design.

*CRM'ing with passion*

Toodles! I'll leave you with my photo of Michelangelo's David. His behind, to be more specific. Magnificent.