Saturday, March 9, 2013

Using Dialogs to Make a Mechanical Turk

The original ‘Mechanical Turk’ was a machine made in the late 1700s to play chess. Here is the picture from Wikipedia.

image

I do not think the term was supposed to be racist. I think it was designed to conjure up an image of something exotic and the history of chess is tied to the Middle East (although originally from India). I am guessing, to the European courts of the time, Turkey and the Ottoman Empire may have been the most accessible part of the Middle East and, thus, the connection.

The thing is it was a con. It was an elaborate form of the ‘magic box’ act where a person goes in the box and then disappears. In this case the main doors had cogs and bits and pieces inside them and the cabinet had doors on the other side so you could look all the way through but behind the drawers at the bottom was a hidden compartment to hide a person.

The illusion would involve bringing out the machine, showing the inner workings and then challenge an audience member to play a game of chess with it. Once the doors of the cabinet were closed and an audience member selected, the chess master hidden in the bottom would pop up and control the automaton from within. Generally they won the game and the audience would marvel that a machine could rival a human at such a complex pursuit (even IBM’s Deep Blue had human assistance when it beat Kasparov).

The fact is there are some things which are quite difficult for a machine to do which are easier for a human, and vice versa. In using Dialogs in CRM we can get the best of both worlds.

The Problem

The problem my client had was quite simple but difficult to solve in a completely automated way. The client often attended trade shows. From these trade shows they gathered business cards which they intended to bring into their CRM system. However, their CRM system was integrated to other systems, including their accounting system. While the creation of a duplicate Contact was not a big problem and could be handled using CRM’s merging tools, the creation of a duplicate Account (Organisation) would create new records in the remote systems and more of a headache to unravel.

There simply was no way to guarantee a match to an Organisation in the system, due to loose naming conventions, regardless of the clever rules and code we could throw at the system.

The Solution

In this case, a Dialog proved to be a nice way to work around the problem. First of all the user imports all the Contact records. The import does not populate the Parent Organisation, but holds the Organisation name in a custom field on the Contact (Import Organisation Name). The Dialog was then used to process the records. Just like Deep Blue, I got CRM to do the heavy lifting where it could and when it was not sure, fell back to the user.

Here is the Dialog:

image

Looking at the header, you will see I have made this a child process. The reason being the Dialog will go through all Contacts which need an Organisation one at a time and call itself to process the next one. Unlike Workflows, there does not appear to be any problem writing a potentially infinitely looping Dialog.

To call the Dialog, the user simply finds a record they have just imported and runs it from this. The Dialog then uses the ownership information of that record in the first query which, essentially, finds all Contacts where the Import Organisation Name has a value but the Parent Organisation field does not.

The results are then presented to the user in a Page and the user selects the record they wish to process.

A secondary query is then run to try and find a matching Organisation. In this case the query looked for all Organisations in the system where the Organisation Name began with the value of the Import Organisation Name of the selected Contact. Two scenarios then ensue:

  • There are no matches: In which case the system automatically creates a new Organisation, links the selected Contact to it and calls the Dialog again for the user to select a new Contact
  • There is one or more matches: With no hope that CRM can work out which one, all are presented to the user, who selects one. Once selected, the Contact is linked and the Dialog called for the selection of another Contact

So it continues until the user gets through all the Contacts or gets bored and cancels the Dialog knowing they will revisit it later.

I did also add an additional option to the second scenario or presenting a two value question to cover if none of the Organisations presented are a good match. In this case, as with the first option, a new Organisation is created.

Conclusions

Since using this trick a few months ago, other uses have come up, such as for processing event registrations via web forms and newsletter subscriptions. I still hope that things like Queries, Input Arguments and Variables will eventually come to Workflows but, until then, do not discount Dialogs as simply good for call scripting. They are powerful and, like the Mechanical Turk allow us to supplement the limitations of technology with the human factor.

Thursday, February 28, 2013

Reporting From MVP Summit and Answers to your Questions

I try to get out three blog posts per month and, given it is a short month I am therefore writing a blog post while I sit in an MVP session. I generally shy away from doing this as, frankly it is ‘safer’.

Other than telling you I am sitting in a room amongst the greats of CRM listening to the Product Managers of CRM impart their vision and thoughts, my hands are very much tied as to what I can say. Microsoft take the MVP NDA very seriously and I respect that. What I can say is the dialogue between the Product Managers and the MVPS is healthy, robust and respectful and I am proud to be part of it.

CRM MVPs2

My Rules For Answering The Questions

In my last post, I encouraged readers to ask me questions to ask at Summit. While I can say the information provided about CRM now and in the future was comprehensive the rule I must follow is “I can only talk about it if I can find it online” or if I get formal approval. From a practical perspective this means I can mostly talk about Polaris and, to a lesser extent, upcoming releases such as Orion and Leo (http://blogs.perficient.com/microsoft/2013/02/next-4-releases-of-microsoft-dynamics-crm/). The good news is I passed on this blog to the Microsoft product team and have received the formal green light. For additional information, if history is any guide, most of what we learn at Summit comes out at Convergence anyhow Winking smile

The Questions

Ankit Shah asked about:

  • When shall Dynamics CRM support HTML 5?
  • What happens, post-Orion with custom ribbon buttons
  • Is the new Flow UI going to be the end of jscript? What is the alternative for us?
  • Will the internet lead capture be made available internationally?
  • How do we change the goal roll-up system job scheduling time?

Simon Hertzel asked about:

  • The upgrade path from here and beyond and whether fixes will be delivered separately to feature improvements
  • Code parity between online and on-premise
  • The provision of development and test environments for CRM online

Roman Finkel asked about:

  • Can we convert field types rather than delete and re-create fields?
  • Can we have dependent option sets?
  • Can we have online forms?

Jeff Loucks asked:

  • Do you prefer Magiannos or McCormicks?
  • What are the four steak restaurants in Bellevue?

The Answers

Html 5 Support

The Polaris cross-browser client is HTML 5 compatible so you can start developing today. Please note that if your client uses an older browser (or iPad safari) they may not be fully HTML 5 compliant.

Custom Ribbon Buttons

I cannot talk about post-Orion but I can tell you Polaris supports classic form custom buttons by putting them in their own bar at the top of the form.

J-script support in Flow Forms

Polaris ‘Flow UI’ forms have no support for jscript. However, as stated here (http://niiranen.eu/crm/2013/02/extreme-crm-2013-rome-takeaways/ ) it is intended for Orion to bring back form scripting.

Internet Lead Capture Form

I have no information to share on the availability of the internet capture form, or any web form in the product.

Goal Roll-up Scheduling Time

Similarly I have nothing to share on this one, sorry.

Upgrade Path and the Delivery of Fixes vs Updates

Again, Extreme 2013 comes through with the goods (http://niiranen.eu/crm/2013/02/extreme-crm-2013-rome-takeaways/ ). Bob confirmed that fixes would be delivered as rollups and these would NOT contain feature updates, which will, therefore, need to be delivered separately.

Code Parity

Reading between the lines of this (http://vizbqma.msdynamicsworld.com/story/microsoft-dynamics-crm-ur12-and-polaris-clarifying-differences-community), this (http://niiranen.eu/crm/2013/02/extreme-crm-2013-rome-takeaways/) and this (http://community.dynamics.com/product/crm/crmtechnical/b/microsoftdynamicscrmco/archive/2013/02/10/microsoft-dynamics-crm-2011-extremecrm-day2-3.aspx) suggests Microsoft is adopting an ‘online first’ policy with on-premise catching up annually.

Provision of Test and Development Environments

According to this (http://blogs.technet.com/b/lystavlen/archive/2012/11/21/multiple-instances-in-the-upcoming-release-of-crm-online.aspx) Office 365 allows for multiple instances but charges a monthly fee, as feared by Simon. If the amount is $500+ as suggested my Simon in his original post to me, this would be difficult to maintain when a system is on-going for a small business. In fact, it may be cheaper to fire up a new Office 365 account, add in a couple of users for testing and pay for it this way i.e. $50 per user per month or thereabouts. There may even be an option of firing up an ‘on-premise’ version on a cloud IaaS with an MSDN license, if it is for development.

Field Type Conversion

Nothing to share on this.

Dependant Option Sets

The simplest way of achieving this today is with filtered lookups as per my article here. For now it makes sense to stick with that.

Online Forms

Nothing to share on this.

Magianno’s or McCormicks?

Personally, I would take McCormicks every time.

The Four Steakhouses of the Apocalypse

This is a trick question as there are, according to Bing, five of them (http://www.bing.com/entities/search?q=bellevue+steak+house&filters=segment%3a%22local%22&pc=CMNTDF&src=IE-SearchBox&qpvt=bellevue+steak+house&FORM=MAPAGG)

Conclusions

There are a lot of interesting things that have been happening in the release of Polaris and all indications are it is not letting up in Orion. We are, indeed, living in interesting times.

Tuesday, February 26, 2013

Head, Heart and Hands: Setting Up Your Team For Success

Apologies for the slow posting this month. I do have a blog post written answering all questions sent for Summit which is with Microsoft for the green light (I do not want to lose my MVP status due to a misplaced sentence) which I intend to post before the end of the month i.e. in a few days.

In the interim here is another ‘management’ post about setting up your team for success. I am also using my new Surface Pro to type this on so we will see how that goes.

Motivation Theories

I did an MBA about ten years ago and learned a bunch of ways to encourage people to do things you need them to do and set it up so they actually enjoy it. You learn how to divine what gets them out of bed in the morning and whether a dinner out with their partner or a bag of cash is going to get the best results.

Of the various theories we covered, one has stuck with me and is quite easy to use. It is Kehr’s Compensatory Model (http://www.tu-chemnitz.de/phil/psych/professuren/sozpsy/Abstracts/2004-Kehr-Motivation-Volition.pdf). The paper is quite academic so feel free to  move to the pretty picture on page 12.

image

The author of this paper was my lecturer which was HIS motivation for teaching it.

Essentially, people are driven by Implicit motives (what is in their heart), Explicit motives (what is in their head) and Perceived abilities (hands/what they believe they can do).

For effortless achievement (the ‘flow experience’, similar to Csikszentmihalyi’s concept of ‘the zone’), all three must be in alignment.

As an example of misalignment, alignment of Explicit and Perceived abilities means someone can do something but their heart may not be in it. An example may be giving up smoking. Our head tells us it is good for us and we certainly have the ability but if our heart is not in it, it simply will not happen without a lot of willpower (volition).

 

Using The Model

How I use this model is in one-on-one meetings. By discussing what gives people passion (heart), where they want to go with their career (head) and whether they have the tools to do their job (hands) identifies what is blocking them from doing the best job they can.

To be honest it feels a little weird being in a small room and trying to pry the innermost thoughts of my team out in the open but using a model like this adds a level of formalism which makes it easier.

Addressing the Gaps

Let us say the person has passion (heart) and they are heading where they want to go in their career (head) but their skills are not quite up to scratch or they do not have access to the information they need (hands). This is addressed with things like training, mentoring or setting up better information systems.

If the heart is lacking i.e. their career is on track and they have the tools they need but they are going through the motions, perhaps a better understanding of their needs is required, perhaps there needs to be more fun in the workplace or perhaps they have fears which need to be addressed.

If the head is lacking i.e. they love their work and they have the tools they need but they lack direction, this can be addressed by giving them a vision to work towards, setting clear goals or removing goal conflicts.

Conclusions

If you are managing a team and have one-on-ones with them (perhaps it is the annual appraisal), Kehr’s model provides a useful framework for starting a conversation about what is working well and, more importantly, what is in the way. It also then gives guidance on how to address these problems. Unlike other models it is also easy to explain so your team understand the framework and appreciate what you are trying to do. Good luck.

Sunday, February 10, 2013

Bad CRM Security Habits To Break

This time next week I will be on a plane heading to the MVP Summit at Seattle/Bellevue/Redmond. So, if you have any questions for the Microsoft Dynamics CRM Team in Redmond, feel free to add them below. I promise to ask all the questions you post (even the cheeky ones) and, for the answers which do not get me kicked out of the MVP programme, I will post the responses.

To the blog. There are some bad habits, when it comes to security, which are a remnant of previous versions of CRM (and from just doing things to cut corners when under pressure). I will show you what they are, why they are “poor man’s security” and the better approach.

Hiding Fields

Before CRM 2011, there was NO comprehensive field level security. Essentially, if you had access to the record, you had access to all the fields on the form. There was no way to let one user see a field on a record and guarantee another user could not see it. You could work around things a little bit with things like using jscript to hide tabs or hide fields on the form but you could always add the field as a column in an Advanced Find and see its contents this way. Even if the Searchable property is marked to ‘No’ this just means the field is not available as a condition for the Advanced find; it is still available as a column.

A cursory search on the internet generates many claims of field level security for CRM 4. There is even a Microsoft white paper on the ‘workarounds’ for version 4 which describes how plug-ins can be used to block the Advanced Find workaround above. However, the paper acknowledges the plug-ins cannot intercept access to the Filtered Views, as is done with Dynamic Excel exports.

Therefore, even the commercial products on the market at the time claiming field level security , unless they knew more than Microsoft themselves, either used unsupported methods or were not complete.

In my experience of CRM implementations back then, given the option of a comprehensive (and expensive) plug-in solution or some cheap jscript which was not airtight but did a rough job of it, the client picked the jscript every time. These systems are now being upgraded to CRM 2011 and, frankly, there is no excuse for this nonsense in a CRM 2011 system.

The Better Option for Fields

In CRM 2011 we now have proper field level security. When configuring the field, you tick the box.

image

Then you set up a security profile and say which users or teams can access it.

image

Ideally, in my opinion, the security profiles should be linked to a security role, rather than a user/team, to simplify on-going administration maintenance (users come and go but roles remain) but, given we had nothing before, this is a vast improvement.

Hiding Entities and Poor Assumptions

This section covers a couple of entity security sins. Firstly, the obvious one. With the sitemap, it was always possible to ‘hide’ entities by editing the XML. After all, if a user cannot click on the entity, they cannot access it, right? The second sin is the poor assumption that entity security ends with configuring user access via the security roles. For example, if we want to secure activities, all we need to do is set up our Business Units and set up the correct security roles, right?

The answer in both cases is, surprisingly (especially in the second case), “no”. Again, the CRM hacker’s favourite tool, Advanced Find undoes our good intentions.

In the first example, the Advanced Find lets us access all entities (even ones not linked to any other entity e.g. configuration setting entities, or in the sitemap). In the second example, while it is true we cannot access the activities (CRM security is sufficiently robust for that), we can access the child records such as notes. If there are good reasons to secure appointments, it is a fair bet that the same rules need to be applied to notes. If not, a user could pull up Advanced Find and access all the note records in the system and probably access inappropriate information. When setting up security, never forget the child entities, especially notes.

Conclusions

Security configuration in CRM has come a long way from version 4 but some habits die hard. Field level security should not be confused with user experience design and, now the tools are there to set field level security properly, they should be used. Also, when considering the security required to meet a business’ needs, think of the information being held, not just the entities otherwise notes will trip you up every time.

Good luck.

Monday, January 28, 2013

Monitoring the Skills of Your CRM Team

This is another one of those ‘CRM manager’ posts that occasionally sneak in, mainly because I am running the local CRM team now. However, it is a tool even a member of a team could use to see where the weaknesses in their team are and decide whether to up-skill themselves or, at least, raise it with management to score some points with the boss. In my case I used it as part of my 12 Month Plan for the CRM team.

As the title suggests, this tool is about monitoring the skills of a CRM team to ensure there is a healthy mix for when projects come along or to mitigate the ‘under the bus’ factor.

The Under The Bus Factor

Also known as the ‘win the lottery’ factor, this is a nice way of talking about staff contingency; if you only have one person who can code and they get head-hunted you are either hiring really quickly (a good recipe for getting someone who is not a great fit for the business) or outsourcing and losing profits. In my opinion, having at least two people who can perform an essential skill as well as each other saves a lot of headaches. Not only do they often bring different wisdom and experience to the table, making the sum greater than the parts, but it provides a way to quality check each other’s work.

The Essential Skills For CRM

In my experience, there are three broad categories of CRM consultant:

  • Functional Consultants
  • Developers
  • Infrastructure Experts

Functional Consultants (which is where I place myself) know how the product works from a user’s perspective. They are often the most client-facing of the consultants and conduct things like workshops, deliver training and the like.

Developers are the ones who stretch the product beyond what the Functional Consultant can deliver; when the client insists on a specific piece of functionality and it simply cannot be configured and be practical through settings, the developer comes in to show what the underlying platform can do.

The Infrastructure Experts are the ones who love to design server configurations to make systems sing. Setting up clusters and farms is their thing and they get excited when a client asks for ‘high availability’ because it means they can throw everything they have got at the problem. Even as CRM deployments go ‘in the cloud’ there is the need for an Infrastructure Expert so ensure things work on the client’s side and to ensure the cloud CRM deployment effectively works with local, non-cloud applications.

Often they are also the ones who actually install and set up the base platform.

Despite using three categories, they are not mutually exclusive; there are developers who can deliver training, for example. However, in my experience, consultants have one of these as their primary skill and perhaps a second as a secondary skill. Their primary skill is their key strength but they dabble in other areas.

The Skills Matrix

So let us say we have a CRM team of three: Tom, Dick and Harry. We can assess them or they can assess themselves in terms of the three categories, putting a ‘P’ for primary or an ‘S’ for secondary in front of each skill. I quite like the idea of self-assessment because when it comes to a project and that skill is needed, they have taken ownership for delivering that aspect of the project by stating they are an expert in that skill.

Maybe we end up with a matrix like this:

  Tom Dick Harry
Functional P   P
Developer S P  
Infrastructure   S S

In other words we have Tom and Harry the Functional Consultants and Dick the Developer. Finding the strengths and weaknesses of the team is then a case of reading across the rows and assigning a numerical value to the letters, if you choose. In this case, it is fairly clear the team has a weakness in infrastructure knowledge.

The decision is then:

  • Focus on projects with limited infrastructure challenges
  • Up-skill an existing member of the team
  • Bring in a new person, Jane, whose primary skill is infrastructure configuration

The Expanded Skills Matrix

In the case of my 12 month plan, I expanded these skills out to:

  • Conducting Requirement Workshops
  • Presales Demonstration
  • Documentation
  • CRM Configuration (no code)
  • Training
  • Client-Side/Form scripting (j-script)
  • Server-Side coding (.Net)
  • Infrastructure Design
  • Implementation Setup

From the resultant matrix it became clear where the team was strong and where there was room for improvement. This information then fed into the plan for the team in terms of hiring and training.

I am sure, as the product changes, this expanded list will evolve. It is possible that html5 skills will be needed in the future, as Silverlight skills are needed today. This may be rolled into the Server-side coding bucket or be listed as a skill in its own right.

Conclusions

Whether you are managing a CRM team or are part of one, a skills matrix can give you a quick picture of how the team stacks up in terms of delivering projects. One aspect I like of this approach is it is relatively simple for team members to self-assess. Nothing generates groans faster than asking a team to fill in a skills assessment but by fixing the categories and giving them a simple ‘P’ or ‘S’ scoring system, they should be done in five minutes without too much difficulty.

Monday, January 21, 2013

Book Review: Packt Microsoft Dynamics CRM 2011 Customization & Configuration (MB2-866) Certification Guide

 

Introduction and Disclaimer

As they did this time last year, Packt have asked me to review one of their online books in exchange for a free download of it. Again, if you are interested in buying it, here is the link.

image

I have known the author, Neil Benson, online and offline for at least a couple of years with most of our real world contact happening at the MVP Summit.

He is a man I have a great amount of respect for and demonstrates he is a man of refined tastes in two ways:

  • he has partnered up with an Australian woman
  • he has a passion for excellent scotch

As with the last Packt review, the timing of the review is impeccable. The MVP Summit is less than a month away and I am sure there is a wee dram or two in it for a complimentary review. Despite such excellent prospects, I will try to be as impartial as I can.

The Microsoft Certification Process

The Microsoft certification process is an interesting quirk of working with Microsoft products. The idea is certification demonstrates familiarity and knowledge of the product. In theory it shows a level of expertise in a specific product beyond that of the uncertified. Neil talks about this in the preface.

In reality, while the Microsoft Official Curriculum (MOC) and course are excellent for learning an aspect of a Microsoft product, one can put the exam code (in this case “MB2-866”) into a search engine and find “Actual Tests” for less than, say, the cost of this e-book I am reviewing. These are very similar to the tests given for certification and the unscrupulous could easily memorize the answers to 80 specific questions and pass without any real-world experience with a product.

A couple of factors encourage this poor behavior. Firstly, Microsoft recently changed the rules for organizations to be a certified gold or silver partner with them. One part of the criteria is a certain number of certified staff. With time being money, this puts pressure on organisations to take ‘short cuts’.

The second factor is the nature of the questions. In my case I received training on Dynamics CRM back when it was Microsoft CRM 1.0 beta. I have consulted with the product since v3.0. However, despite implementing many CRM 2011 projects and being considered an expert with the product, I still fear not being able to pass the exams. Why? Because the questions are written to trip you up or they cover aspects of the product which are easy to discover when it is front of you but are not often memorized. For example, a configuration question could be “What is the default starting value for custom option sets?” Off the top of my head I have no idea. Do I know how to find out with the product in front of me? Sure. Have I ever needed to know this? No, but it is a legitimate question in the sense that it relates to the product and has a well-defined answer.

Am I suggesting you ignore books such as this one and get a '”brain dump”? Not at all. If you need to “tick the box” it is an option, but if you are working with a product (Dynamics CRM) in the capacity the exam covers (customization and configuration) a brain dump will do you no favours. If you are studying to work with a product, get the MOC materials, do a MOC course or get a “MOC-proxy” such as this one. If you are nervous even after studying, there is always the option of ‘sanity checking’ your knowledge with a test exam but I never recommend they be used, even to my staff, for anything other than to uncover weaknesses in an already established body of knowledge.

Finally, the MB2-866 exam is not a coders exam, despite the title. In this case, customization and configuration refers to setting up the environment e.g. configuring audits and currencies and modifying the system through the interface without code e.g. adding new fields or forms. The skills tested are those required to do things like set up pre-sales demos, configure a system ready for coding or provide on-site ad hoc modifications to a client.

The Reviewers

The four reviewers for the book are:

  • Michael Ferreira
  • Joel Lindstrom
  • Tanguy Touzard
  • Jerry Weinstock

I do not believe I have met Michael but I know the other three very well and even shared a room with Tanguy at last year’s MVP Summit. What I can say about these gentlemen is they are all existing or former MVPs so they know the product and value their reputation (given this is the measure by which we get renewed). They have strong reasons to make sure this book is as good as it can be.

Overview and Structure of the Book

The book is just over 300 pages. The chapters are:

  • Preface
  • Chapter 1: Overview of Microsoft Dynamics CRM 2011
  • Chapter 2: Configuring the System Settings
  • Chapter 3: Configuring the Organization Structure
  • Chapter 4: Entity an Attribute Customization
  • Chapter 5: Data Modeling Using Entity Relationships
  • Chapter 6: User Interface Customization: Forms, Views and Charts
  • Chapter 7: Auditing
  • Chapter 8: Solutions
  • Chapter 9: Sample Certification Exam Questions
  • Appendix A: Answers to Sample Certification Exam Questions
  • Appendix B: Answers to the Self-test Questions
  • Appendix C: Introduction to Microsoft CRM Training and Certification

If we compare the size to, say, Matt Wittemann’s CRM 2011 Administration Bible, we see it is about half the size (although the last 100 pages cover preparation and a sample exam, rather than exam content). However, this one is a lot more focussed, covering only the topics needed for the exam e.g. installation is not covered here but is in Matt’s book. Using Matt’s as a benchmark it seems, in the areas it covers, this one is quite comprehensive.

Preface

The exam syllabus link in the document did not work for me, but you can get an overview of the exam here:

http://www.microsoft.com/learning/en/us/exam.aspx?id=mb2-866

From this, we see the topics covered in the exam are:

  • Configuring a Microsoft Dynamics CRM Organizational Structure
  • Managing Users & Teams and Security
  • Customizing Attributes and Entities
  • Customizing Relationships and Mappings
  • Configuring Auditing
  • Managing Forms, Views, and Charts
  • Implementing a Microsoft Dynamics CRM Solution

which closely mirrors the chapters in our book.

The preface is clear this is a book of what you need to know, rather than a book of best practices, such as the CRM Field Guide (plug, plug) which Neil was also an author for (as was I). This being said he does slip in the odd best practice where it makes sense.

The preface explains there is a “Test Your Knowledge” section at the end of each chapter and a sample 75-question test exam at the end of the book. The preface is also crystal clear that this test exam is NOT a brain dump but simply an exam in the same style as the official one.

While no guarantees are given, Neil makes it clear that he firmly believes learning the content of the book is sufficient to pass the exam.

The preface gives a brief description of the chapters (which I purposely skipped over so I can give you my own overview without interference) and outlines what you need in addition to the book i.e. a working CRM environment to play in.

All good so far…

Chapter 1: Overview of Microsoft Dynamics CRM 2011

This chapter covers areas including:

  • The technical architecture of CRM (in a way that means even I now understand what multi-tier architecture is)
  • Supported and unsupported customisations. This is about as technical as you need to go for the exam. In short, while no coding knowledge is really required, it suggests you do need to know where that code can be applied and what layers of the architecture can be modified. The reason for this? If you are designing a CRM system, you need to know where codeless changes end and coded changes begin and the broad limits of what code can so in a supported fashion
  • Deployment options (and their differences)
  • Customization security roles (system administrator and customizer and the difference between them)

There is also a nice summary of the chapter at the end (and at the end of all the chapters). If you are already knowledgeable about CRM and want to know if it is worth reading a chapter, this summary could be a good place to start; If you learn something new, the chapter might be worth the effort.

There is no ‘Test Your Knowledge’ section for Chapter 1 which makes me wonder whether this is examinable or not. Either way, it is a good foundation for CRM in general and the content that follows.

Chapter 2: Configuring the System Settings

This chapter begins with a blow-by-blow review of the system settings you can set for CRM. This is quite dry but absolutely necessary for an exam e.g. can the report categories be modified and how?

The chapter then gives some context to the settings in terms of Outlook and even covers the options a user can set for the Outlook client.

Finally, the chapter talks about which settings can be bundled into a solution and migrated to another CRM system.

Probably not a chapter to read if you are sleepy but comprehensive none the less.

Chapter 3: Configuring the Organization Structure

This is, essentially, the security chapter and it is quite a large topic these days given security is affected by:

  • Business unit structure
  • Record ownership (user or team)
  • Security role setup
  • Field security settings
  • Form security

All these elements must come together in a CRM solution to ensure the right information is delivered to the right people and sensitive information is contained, as required. This is not a trivial topic to cover and is much more complicated than it was back in the version 4 days.

What I do like is Neil’s emphasis that the business unit structure is not there to reflect the real divisions in the organization but is there to manage security. Too often people set up business units for no better reason than it reflects the org. chart. Keeping it simple and setting it up purely to manage security needs will always pay dividends in the long run.

In terms of licensing, Neil is clear; he sticks to what you need to know, no more. As he correctly points out, with all the deployment options, licensing is a complex beast (to the extent there are organisations out there whose sole purpose it to provide advice to ensure you are correctly licensed with Microsoft products).

He covers one of the more complex aspects of the 2011 security model: team ownership. Even the most battle-hardened CRM veteran gets tripped up by this so it is good to see a no-nonsense summary.

Security role setup is covered and, again, a few best practice tips are given e.g. “copy a role, do not create from scratch”. Neil also covers the behaviour of security roles when they are assigned to users.

Finally, Neil covers what is left e.g. things like form security.

In terms of a text summary of CRM 2011 security, this is one of the best I have seen. Whenever I am asked by a client to describe security in CRM, a shiver of dread runs through me. Neil has tackled the job and made it seem effortless. This chapter and a trial instance of CRM and you will be a CRM security guru.

Chapter 4: Entity and Attribute Customization

For me, this is the core of CRM customization. In transforming an out-of-the-box CRM system to a practical system, I believe getting the data structures right and setting up the fields right is essential. This chapter covers the creation of the entities that make up those structures and their fields (linking the entities comes in Chapter 5).

Neil provides a comprehensive review of entity settings and a few more best practice tips. He even talks about where the official courseware is in error and where exam questions may also be in error to match.

He then moves into custom fields (he even explains the difference between decimals and floats and what IME Mode is).

Field level security is covered as is option sets (local and global).

A good high-level review of entities and fields. Again, with a demo system to practice with, this provides the foundation for a good working knowledge for the exam.

Chapter 5: Data Modeling Using Entity Relationships

Neil talks about the kinds of relationships that are permitted and those that are not (fight the good ‘polymorphic’ fight, Neil). He goes into detail such as cascading behaviors and mappings. Finally he talks about ad hoc modelling (Connections).

Again, a good introduction to entity linking which covers the basics for an exam.

Chapter 6: User Interface Customization: Forms, Views and Charts

Moving from the backend structures, Neil now moves into modifying the front end. Firstly, he covers form modification (mobile and client and even calls out read-optimized forms) and form security (answering why role-based forms are not secure).

He then moves into describing the various views used in CRM and how to create new ones.

Finally, he talks about chart creation, how to add them to entities and gives a great table showing the different types of charts with a handy graphic for each one. He also covers exporting and importing charts for customization but, as this is beyond the scope of the exam, does not cover their customization in detail.

An excellent overview covering the essentials.

Chapter 7: Auditing

Neil talks about what the auditing function monitors and some of the limitations of in within CRM. He covers audit configuration and audit security.

A relatively simple chapter but one that covers all aspects of auditing in CRM.

Chapter 8: Solutions

Chapter 8 is the last of the ‘content chapters’. The last chapter and appendices covering the sample exam and preparation information. The idea of a solution is new to CRM 2011 and is a complex subject. However, Neil navigates the essentials with deft elegance, clearly explaining the difference between managed and unmanaged solutions when it comes to deletion and application to a new environment. Neil even provides mnemonics to help the reader remember some of the trickier aspects for solution conflict resolution.

Solutions are complicated to the point many of us avoid using managed solutions unless absolutely necessary and generally not worrying too much about them. However, such an attitude does not pass exams. Neil covers what you need to know to pass the exam and with a bit of practice on a demo environment or two, the behaviour should become a little more intuitive.

Chapter 9: Sample Certification Exam Questions

This is a set of 75 exam questions cast in the format commonly seen in Microsoft exams. While the format mimics the Microsoft exam, the wording in these questions, at least to me, seems clearer than the real thing. However, given the adrenaline that is often running through one’s system when doing a real certification exam, this perception may be biased.

Appendix A: Answers to Sample Certification Exam Questions

These are the answers to the questions in Chapter 9. Neil also provides detailed answers as to why the incorrect options are wrong.

Appendix B: Answers to the Self-test Questions

These are the answers to the ‘Test Your Knowledge’ sections at the end of each chapter. No detailed explanations are given here but one assumes you can always refer back tot he chapter to see the reason for a bad selection.

Appendix C: Introduction to Microsoft Dynamics CRM Training and Certification

This initially gives an overview of the certification courses and exams available for CRM 2011. It then provides one of the most useful sections in the book; a guide to exam preparation, a review of how to book the exam and a summary of what to expect in the exam taking. Neil also includes tips on making the best use of your time in the exam.

Finally there is an index for quick reference.

Conclusions

If you cannot attend the official curriculum course and/or get hold of the MOC materials, this is an excellent substitute. It could also be used to supplement the MOC materials to ensure a completely thorough knowledge of the subject as well as providing some good tips when in the real world.

Overall, I am impressed with the effort Neil has put in. Adding nice touches like Appendix C and the test exam make for a more complete document than, say, the MOC material alone. He has also put in the effort of calling out changes implemented in CRM via rollup updates (and likely to be in your test system) but which were not available at the time the exam was put together.

If you are looking for a cheap version of an administrator’s guide, this is not the book for you. It is very focussed in its coverage and is more intent on teaching the how to modify functionality in CRM than in providing consulting excellence advice. The only question that really matters is whether this book will help someone prepare for the Microsoft exam. In my opinion the answer is an emphatic “yes”. Neil covers all aspects called out as being part of the exam and provides real world guidance for when the reader applies their knowledge in the wild. He also provides advice on maximizing your chances for success when in the actual exam. If you are preparing for the MB2-866 exam, simply put, this is money well spent and complimentary to the other tools usually employed (MOC materials and brain dumps).

If you are keen to give your knowledge a good working out prior to sitting the exam, Neil’s book can only assist. The “Test Your Knowledge” sections and sample exam ensure your knowledge is everything it can be prior to sitting for certification. If you are about to sit MB2-866, good luck.

Sunday, January 13, 2013

The Future of the Office and the Cloud (What is the Cloud?: Part 2)

This follows on from a post I did about 18 months ago called What is the Cloud? and follows on from an excellent discussion I had on the weekend with a good friend of mine who works at VMWare. Back in the “What is the Cloud?” post I described how a computer works and then used this as a model for describing the various modes in which cloud computing is used i.e. IaaS, PaaS and SaaS.

The Debate

The debate had on the weekend was concerning Bring Your Own Device (BYOD). This is the idea that employees want to bring their own technology to work rather than use the company’s. There is no doubt this is an emergent trend and, in the case of mobile phones, I would suggest the battle has ended. In my case, while I often will be issued a corporate mobile phone, I generally forward it to my personal phone and just use this. It is very difficult to enforce against a BYOD trend in the case of phones when it is so easy to forward phone calls.

However, in the case of the work device e.g. PC/laptop, various models are still in play in the workforce.

Workplace Models for Work Devices

In my experience with organisations, I see three models at play:

  • Traditional: Work Device = corporate owned
  • BYOD: Work Device = employee-owned
  • Dumb Terminal: No device (Screen, keyboard and mouse with all application and data provided remotely)

In the case of the first two, certainly at NEC, we operate in a hybrid mode i.e. some people use NEC’s devices and others bring their own.

Forces at Play

People Are Caring Less About Where Their Data Are (Storage Indifference)

For me, I want all my data in the cloud (see Moving To The Cloud Parts 1, 2 and 3). Back in the old days I had to do regular backups (never happened) and if I needed to access information outside of the home, I was hamstrung. While I still maintain you lose control by moving to the cloud, the benefits, for most, outweigh the costs in my opinion.

Organisations are still concerned by going ‘all in’ with the cloud because of security and uptime concerns but I believe these concerns will diminish over time.

The Internet is Getting Faster

In Australia, and other countries, the old copper lines originally installed for phone calls and adopted for data, are being replaced by fibre optic lines. Fibre optic can transmit data at crazy-fast speeds relative to copper line technology with other advantages such as less loss of signal (ideal for Australia given the size of the place).

Companies Want to Secure Their IP

Whatever model is employed in the future, the intellectual property of the organisation must be protected. There is no doubt employees are influencing the direction of IT policy but governance must be maintained.

Companies Want to Reduce IT Support and Maintenance Costs

If there is a model which means companies spend less with negligible disadvantage, this is a model they will adopt. Nothing can resist the forces of economics.

Employees Getting Frustrated With Stuff Not Theirs

Employees want to work with their ‘stuff’. They can fix it quickly without going to IT support and they know where everything is. For power users, their equipment may also be more powerful than what is provided by the organisation so using their technology reduces frustration and potentially increases productivity.

Consideration of the Models in Light of the Forces

Traditional

Of the five forces, the main forces which impact the traditional model are the last two. Economically, the BYOD and dumb terminal models have the potential to be cheaper from a maintenance perspective. From a user’s perspective, there is a misalignment between the devices delivered by IT and the needs and wants of the user. Often a user’s home device does a better job of meeting their requirements.

BYOD

The last three forces impact the BYOD model. One of the big worries with BYOD is the security of information held on the user’s device. However, using remote desktop technology (in some ways turning the user’s device into a dumb terminal) can remove these problems. BYOD also reduces support costs as long as a policy of “user device – user problem” can be enforced. Effectively the cost of support is off-loaded from the organisation to the employee. Finally, any frustration of having to use a corporate device are removed in BYOD leading to happier and more productive employees. Forrester studies back up the notion that users are more productive in a BYOD model.

Dumb Terminal

The only real difference, in regards to the forces, from an organisation’s perspective between this model and BYOD is a dumb terminal is not the user’s own device. However, assuming all applications are available for the user and their performance is not hindered I cannot see why this model would not be acceptable to the average user.

The Short Term Winner

Based on the above, I think the short term winner will be BYOD although it will be a slow move. The adoption of ‘security wrapper’ technologies to make CIOs and IT managers more comfortable about third party configured environments coming onto the network will not happen overnight.

While users want the right to use their stuff, I am not convinced they are willing to accept the responsibility of managing their own device. The application of “user device – user problem” policies, without any form of compensation, will be resisted, especially at organisations with employees who must use computers but who are not power users. Being forced to source a machine for work use and pay for support is not something that all employees will delight in.

The force that will drive BYOD is the economic one: the belief by organisations that it will save them money. I am not convinced by the simplistic purchase saving arguments. Depreciation takes care of those. However, if employees are taking care of the maintenance of their device and there is little disadvantage to the organisation in delivering applications to the devices, there should be savings in that area.

Why The Cloud Changes Everything

Let us now project to a future of fibre where the internet is crazy-fast and ubiquitous (at least 10 years away for Australia). Consumers and many organisations are comfortable storing their data and sourcing their applications from the cloud. Perhaps we no longer have the equivalent of our desktop/app page running locally but run it from the cloud as well. Think of a Chromebook, without the problems or a PC running an equivalent of Cloud. Is BYOD still the winner?

In this world, the device is irrelevant. If I am accessing everything from the cloud, including the equivalent of my desktop/app page, as long as I have a device which connects to the internet everything just works.

In this world the Dumb Terminal/No Device model is the winner as it ticks all the boxes and offers little disadvantage to any party.

  • Force 1: Everything is in the cloud so as long as I have a connected device, my world is at my fingertips (or eyes) and it all just works.
  • Force 2: The speed of the internet is such that applications are delivered without issue and because they are running in the cloud local device specifications are irrelevant
  • Force 3: Future cloud security is sufficiently smart that it is no longer feared in the same way encrypted hard drives remove the fear of laptop loss today
  • Force 4: I provide a set of dumb terminals to access the corporate cloud applications and data. Terminals specifications are irrelevant as everything is running from the cloud and maintenance is minimal
  • Force 5: Employees no longer care about using their device because all devices, from a data and application access perspective, are equal in this world.

Conclusions

The cloud is where the information will live, but not yet. Attitudes and technology need to catch up first. While that is happening people will carry their data with them and their own devices. When they go to work they may be asked to use other devices connected to other sources of data and be asked not let the two connect. Given our personal and working lives are mingling through tools like social media this will slowly erode as people get frustrated with the artificial barriers.

As attitudes change and technology removes the excuses, our lives and our actions will be recorded on a server ‘somewhere else’ via the internet. This applies to individuals and organisations. While we will have ‘home devices’, ‘mobile devices’ and ‘work devices’ and the form factors may change to suit the need, their basic function will be identical; to attach to the internet where we do stuff and record stuff. The world will be a giant dumb terminal plugged into a cloud of applications and information. Of course, making predictions ten years hence is the actions of a madman, but I am excited to see where the rollercoaster takes us.