Microsoft Dynamics 365 User Group Community FOCUS https://ugfocus.com/houston-register
Monday, March 11, 2019
4:00 PM – 5:30 PM
Tuesday, March 12, 2019
8:00 AM – 9:30 AM
I must be getting old for I am having more of the Carousel experiences of life.
Take for instance that one of the benefits of getting older is that you get to walk into situations where you have been before. You have multiple similar experiences to draw from based on many other projects. It is a gift to clients, because some processes that are less efficient can be avoided and they get more cream of the crop (potentially).
So the thought of the day?
When defining user stories, gathering requirements, detailing out the current processes of the day. Think really, really hard about defining the specific issues, problems and current state without including the solution.
Ideally what you want is a team solution. A solution that pulls from the experiences of all members of the team. This is harder than it sounds, because it requires that each person really listens to and understands the full scope of the problem. It then requires that the team jointly agrees on the issue or problems and once agreed, solutioning can begin.
Solutioning will need to include the technical best choices and training among the team on the strengths and weakness as well as the business best choices.
Now in an ideal world this would all be done with any egos parked at the door, but rarely is this the reality. People have strong opinions. Humans are designed to compete or culturally trained to compete and thoughts outside of the comfort zones, make people uncomfortable. Mix in the awesome power of diversity and the energy can get very confused.
YET when this energy is aligned and diversity and multiple opinions come together as one. Amazing happens.
So keep stretching for Amazing and keep learning, because the more we push ourselves to learn outside our comfort zones, the more we learn to listen and hear and the more we learn to share, the better the experiences will be!
Automatic testing is a bit of a niche skill and every application is different in terms of what is needed or what tools can be used. In this situation I depend on knowledge shared, because there is absolutely no reason that we can't learn from each other. Following please find some notes from the field on Microsoft Dynamics "CRM" Automated Testing
Knowledge shared is a powerful skill in the world of technology. It requires that you admit that you might be wrong, that you might have more to learn and that being vulnerable is worth the risk. Yes, it is very much worth the risk in this crazy fast paced world of growth.
Tools that the field mentioned:
- Microsoft Visual Studio Coded UI and Coded UI Best Practices
- Daryl LaBar's OpenSource XRM Unit Test (check version compatibility)
- Telerik Test Studio
Sessions discussing Automated Testing
- XrmVirtual User Group discusses automated testing
- CRMUG National Summit Automated Testing Session (requires membership to CRMUG to watch)
Other Videos in this arena
- Tool Comparison between FakeXRMEasy and XRMUnitTest
- Automating using Test Complete
- Selenium Webdriver for testing CRM and Microsoft Dynamics CRM & Selenium
- Performance Testing using StresStimulus
- How to Test a CRM Plugin with FakeXRMEasy
Microsoft CRM is tightly married to Microsoft Excel and as such some of the EXCEL functions can come in very handy.
When putting together a demonstration system check out the RANDBETWEEN() Function for generating random numbers in Excel. It can also be used for randomly picking values from a list and many other derivatives.
If you don't know what you get out of the box, then you might be inclined to ignore all the greatness and create your own entities. This is an option, but what it tends to bypass are all of the OOB integrations and small enhancements that offer some incredible power.
Take for instance "Case" and "Case Resolution" These two entities are a married pair. The first tracks the incoming details on any specific case and the second tracks all of the different derivatives of the resolution to that case.
For instance a case can be cancelled with a reason or it can be completed with a failure or a success.
It should be noted that when closing a case, the configuration offers choices. The status reasons can be modified for each Status of ACTIVE and INACTIVE.
Learning, Learning, Learning: 5 Features of Microsoft Dynamics CRM v8.1.0.xxx (Spring 2016 Release) to think on
Learning, Learning, Learning
5 Features in Microsoft Dynamics CRM 8.1.0.xxxx (aka CRM 2016 Spring Release) to think on
1) INTERACTIVE: The new interactive experience offers redesigned forms that help users experience CRM in a whole new way. This is a new interface with new potential so if you have been working with Dynamics CRM for years you will want to expand your thinking and your back pocket of options. You don't have to delete how you use to do things, you just have even more options to meet the demands of today. Start by looking at the configuration of your system. Look within your CRM Solution and the settings on each entity. You will see Options for Entity. (step one for your new road of enlightenment)Consider this summary from the CRM Help and Training Guide (there is help and training available)
- "The customer card in the forms gives a complete view of your customer’s touch points
- The timeline gives a unified view of your customer’s interactions across channels, and lets you act on them quickly
- The related pane lets you search and act on related records without losing context of customer data and interactions"
2) C O L O R S: Sometimes Themes and Colors really make a HUGE difference, people like colors. So when you dive into your configuration and you are looking at your entities understand that you have a number of layers of different options when it comes to themes and colors. For CRMOL users there are theme settings for the whole system in https://portal.office.com and for all CONFIGURATION users there are color settings on entities and layered throughout. You can go as deep as setting colors on values in option sets and oh you can have so much fun!
3) CHANGE TRACKING: Not as new as Spring 2016, but new enough to mention that it exists and what it is given that they slipped it in without too much fanfare. This is a new option in the SDK that allows a developer to tap into a drip feed of changes for integration into other systems and other cool developer type techniques. A NEW SDK feature that is worthy of understanding. You can enable change tracking on a specific entity or on all entities. To read more on change tracking tap into the CRM DEVELOPER CENTER.
4) SOLUTIONS: When adding ENTITIES to Solutions, when in doubt or if you have not learned the strengths and yet to be matured areas of the new solution options then CHECK the ADD ALL ASSETS option.
5) Discover PROJECT SERVICES: a managed solution available from the Microsoft Dynamics CRM team that offers incredibly deep resource management and project alignment. Gone are the days of using the external Microsoft Project software for CRM projects - USE CRM ! Your entire project team will get hands on day to day use of the software they are deploying for their customer.
Given that so much new has been released, sometimes it is easy to miss some of the powerful new features.
Take for instance USING WORD TEMPLATES in CRM. Sure, letters are nice, but have you ever considered the power of all the other data you can pull into a WORD template?
Even more Options for E-Mail Synchronization
The Server-Side Synchronization Handbook : Another option for Connecting Microsoft CRM Online to Microsoft Exchange Server
1. Workflows can be REAL TIME (Synchronous) or ALMOST REAL TIME (asynchronous) and if you are a business user creating workflows you want to coordinate the timing. In the world of plugins and extensions timing coordination of steps is all part of the job, but in the world of workflows sometimes it is easy to forget about what we are really asking for.
2. Deleting and Cleanup in the world of customization and multiple environments are a specialized thought process. The system supports a merge mindset so when you want to do cleanup (and you are using unmanaged solutions) you want to make sure you cleanup all your environments. I like to use the technique of naming fields, business rules, forms, views and other such configurations in DEV with a prefix of something like ZToBeDeleted so that after a deployment to TEST and PRODUCTION it is easy to do house cleaning.
3. You are not the only one extending and configuring. Coordination equals huge successes and incredible power and depth. It is a product that is always evolving from the power and insight of the incredible team at Microsoft and then there are the other new features that are purchased, reviewed, updated, coordinated and released. If you are writing unsupported code you are asking for headaches OR if your hired gun is writing unsupported code. Take the time to get it done right. Take the time to vet your resources. A low hourly rate does not mean long term reduction in cost.
4. Software as a Service (SaaS) in the world of Dynamics CRM means that you are continuously getting the chance to improve your businesses cutting edge differentiator through the use of the newest technology and business techniques. Get the Learning Mindset and embrace the wave while also taking bite sized, very manageable growth steps forward. Setup your environment so you have a DEV, TEST and PRODUCTION instance so that you can have DEV upgraded first, then TEST (with a release to TEST and Regression Testing) and then roll to production. For smaller firms perhaps only two instances, but always give yourself that learning arena for the larger feature releases.
5. Just because it looks pretty, and has a really cheap initial price does not mean that you won't be paying more in the long run. In the world of ONLINE and the CLOUD do your research with other customers. Understand the 1, 2 and 3 year average costs and understand what you get for the money. The models can be very different. There are hundreds of applications that can be replaced by Dynamics CRM and with the right resources (trained helps) the price is right. Just because Access and Excel are available with office, doesn't mean they are the right solution for a multi-user environment where people need to share real time data across many different devices. Oh and then there is the Out of the Box integration to the Office 365, SharePoint, Microsoft Excel E-Mail, and so much more.
It really is mind blowing.....
Reading a Blog post a day really is an awesome way to get your drip learning on!
I love this quote
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand“.
Code Review is a great topic, particularly in this world of faster and faster and faster deliver.
In terms of reusing code, one trick is to have a team (even if just a team of two) people who code review each others work. You can also purchase code reviews from Microsoft Services or from a partner. the Microsoft Dynamics CRM team also has tons of samples, white papers and trainings that define best practices. Adding code review and refactoring into your processes can significantly increase quality. The other variable is to include TIME to do code reviews and to think about the bigger picture.
It is the default to "solve the issue and request quickly", but to solve the issue and need with sustainability is the goal.
It is true that you can import data into Microsoft Dynamics CRM Online.
It is true that you can setup complex integration with Microsoft Dynamics CRM Online.
It is true that you are not the first person to do this nor the first company or complex Enterprise or complex small business environment.
When you need to get started it is; however, helpful to have a service that supports getting you started. Needless to say Microsoft now offers the DATA LOADER SERVICE for CRM Online.
There are two great blog posts on this service written by the team!
First define your desired architecture! (Think Design your addition or house)
Then do some reading and planning! (for instance you might want to have your upstairs bathroom above your downstairs bathroom to make the plumbing easier)
Consult an expert or hire an expert! (They have the experiences of numerous projects rolled out successfully that are often very, very, very similar to what you are doing)
If you want to learn by doing, calculated in the learning curve, because you will make mistakes and you will want to have a plan for fixing the mistakes so that the system is not compromised. (Consider what happens when that addition to the house or the house is not built to code)
Microsoft Dynamics CRM Entity Relationships come in many flavors, but many to many relationship types has some interesting options.
Consider the N:N or Many to Many relationship. If you use the Out of the Box (OOB) N:N relationship option the system will create a hidden in between table. This works wonderful for many situations, but it does not handle situations where you want to track a long list of fields and information about the relationship.
Take for instance if you want to track people who attend one of your provided classes. So for any given contact that you have they might attend one or many of the classes you offer.
You want to track not only that a specific person was in a specific class, but also what grade they received in the class and if they were an actively engaged member of the class.
In order to you to do this you can setup an entity called "Class Participation" and you can then setup relationships to that entity to mimic many to many as follows
Setup a 1:N relationship between Contact and Class Participation (for any given contact they might participate in many classes)
Now setup am N:1 relationship between Class Participation and Class (for any given class participation it might be related to any number of classes.
The steps above setup a many to many relationship with full configurability for the Class Participation entity. You can add fields to the class participation entity and you can display and use this entity for many different purposes.
So you think you are the ultimate master of Microsoft Dynamics CRM! This is totally awesome, because now you can empower your entire team with new PowerShell Awesomeness for Microsoft Dynamics CRM Organization Data!
AND don't forget to send some feedback and love to the developer!
If you have not noticed there is an incredible Microsoft Dynamics CRM Software Developers Kit (SDK), but in previous versions of the SDK there were also a set of visual studio tools.
Working in Technology? As We Know Change is A Constant
So lets look at some changes
Visual Studio Tools for Microsoft Dynamics CRM are now available as part of Visual Studio. Check out these to get started
and there are a ton more available and always more coming -> use SEARCH
You can also use the Microsoft Dynamics CRM 2013 SDK Visual Studio Tools with Microsoft Dynamics CRM 2015. You update your references to point to the new SDKdlls and update the framework version to 4.5.2.
There are a number of different blog posts buzzing on this, Such as these:
You also need to consider CRM Online and the reality that the current version of CRM Online is v7.1.x and the version of CRM On-Premise is v7.0.1 (although only a few months behind). One of the huge benefits of working with a CRM Online model is the drip feed to stay current. Huge Upgrades are a thing of the past when it comes to Software as a Service (SaaS). This also changes the development and extension model.
Let us take a look at Managed and Unmanaged Solutions.
Unmanaged and managed solutions
There are two types of Microsoft Dynamics CRM solutions: managed and unmanaged. Managed solutions require a clear depth of understanding of managed solutions. They are used by the Independent Software Vendors (ISV's) who sell a set of IP that is not expected to be changed or modified by the customer purchasing these solutions. They are positioned to be updated or upgraded only by the ISV that sells them.
This is an important point for customers (who purchase these solutions and then extend CRM) and for partners (who create solutions for customers that are designed to be given to the customer to maintain).
UNMANAGED solutions are the more historical, potentially more flexible and what I like to call more organic. Organically I can generally fix most issues found in unmanaged solutions whereas managed solutions I must go back to the ISV.
It is also worth mentioning the "System" Solution.
The system solution represents the solution components defined within Microsoft Dynamics CRM. Without any managed solutions or customizations, the system solution defines the default application behavior. Many of the components in the system solution are customizable and can be used in managed solutions or unmanaged customizations.
If you add customizations without using a unmanaged or managed solution you are modifying the system solution. If you create an unmanaged solution (so you can easily move your changes to other environments) you are merging your changes in with the system solution. Every component of an unmanaged solution is prefixed with the prefix you define in the publisher. Every component that you add to the system solution (without leveraging managed and unmanaged solutions) is prefixed with new_
The team doesn't let you add, without some indication that it was added. (smart team)
So some easy and hard questions to consider as we thinking about Managed and Unmanaged Solutions
1) How do you create a managed or unmanaged solution?
2) What is a CRM publisher?
3) What benefit does the publisher give the customizer?
4) What happens when you import an unmanaged solution?
5) Can you export a managed solution?
6) Who is the primary audience for managed solutions?
7) What are the disadvantages for the customer of using managed solutions?
Sometimes the developers have to sit at the table and talk to each other.
In the really big Enterprise projects, where you bring together the greatest of the great (sometimes still bleeding) AND you pull in the well established, proven technologies, you often end up with a wide variety of languages, thoughts, strengths and weaknesses. (sprinkling in acronyms and it can get really crazy)
Each person is a deep expert in their specialty, but getting each expert to use a language that other experts can understand is a challenge worth noting.
If one person is talking Plugins, Processes, and Actions and another is talking approval cycles, statuses and signoffs and a third is discussing throughput, bottlenecks and distribution you might have a disconnect.
Recognition. : Acknowledge and recognize that different languages are being spoken.
The second Trick?
Diversity Training : Point out that each person is incredibly different, show a few videos.
The Third Trick?
Collect all the egos and put them in a bag on the table. They cause so much heart ache!
Now add transparency. Acknowledgement and diplomacy.
I have yet to master all of the above. My fears, well ingrained XRM/CRM Think, opinions and even my female blond hair have known to get me in trouble, but I don't regret my transparency and shared knowledge. I regret my lack of occasional sensitivity. I get so excited about the project and the technologies, I can forget about the people.
It does TAKE all variables. People, Process, Technology (well recognized buzz)
So back to the first line of this post. In the world of partners, there is this tendency to yell over the fence to the developers the criteria and requirements that need to be met. This works for many a plugin or DLL, but sometimes the developers really need to talk to other developers.
So this is a shout out to partners, vendors and ISVs to let the guys and gals with their heads down coding out in the field, to fine tuning their business skills and to encourage them to participate in some dev to dev discussions. It can increase quality and create a bigger network of knowledge shared, knowledge learned.
Oh and a message to all developers in the world of Dynamics CRM and External apps talking to CRM: Keep an open mind, find the STRENGTHS and learn how to work with the not yet released or newer weaker areas, from those who have mastered the road before you.
Your developer peers are a close knit team writing code every day with variables that you might not be aware of.
Dipping my toe into the world of Microsoft Dynamics CRM 2015 OnPremise installation and a couple of key tips to remember (posting them here so I can find them).
Thanks to the Microsoft Consulting Services CRM Consultants: Thymio and Salvador who shared their knowledge and continue to make incredible wonderful happen for clients working with Microsoft and clients working with Microsoft Partners and Microsoft Consulting Services.
1) When you create your service accounts - create them in the SAME Organizational unit (OU)! If you create them some where else and copy them you are not going to be a happy camper and you will spend hours trying to figure out why you are getting issues.
2) Don't forget about the SPN's. To read more about the Service Principal Names and what SPN's mean, take a look at this great TechNet Article.
3) Do you host your own web page? Most likely not and Microsoft Dynamics CRM is a very powerful web application with numerous options and offerings. So before you decide you are going to do your own Microsoft Dynamics CRM On-Premise Install - Do some reading and get the help and buy in of the right people from your team. The guru network guys who are swamped (get on their calendar)
A few resources and there are more:
- Deploying Dynamics CRM https://www.microsoft.com/en-us/download/details.aspx?id=45022
- The Dynamics CRM 2015 Server https://www.microsoft.com/en-us/download/details.aspx?id=45012
- Setting up the Dynamics CRM E-mail Router (if you are going to use this option) https://technet.microsoft.com/en-us/library/hh699800.aspx
If this is not something you want to tackle there are many options.
1) CRM Online
2) CRM Hosted by a third party partner
3) A certified in Microsoft Dynamics CRM Infrastructure partner or MCS team who can work with your IT Department to get CRM Installed and running smoothly.
4) Leverage the incredible of your professional Field Engineering contract. The CRM PFE Team is so impressive! They really offer a huge amount of experience and lessons learned particularly when it comes to smooth operations, performance and getting this running right.
Microsoft Dynamics CRM offers so much choice that it is good to take a deep dive around some of these choices and features. Additionally the features keep on improving and growing with speed unseen in any previous years. Please take information provided to you with a grain of salt and do your own research.
Never make the assumption that the product can't do something for if it can't do it today, it might be available tomorrow. Additionally Services (MCS) is doing incredible on every project (as are many of the partners)
I was on a call today, actually the incredible CRM Community Technology call and in addition to the great content being presented, we also had a very active IM window of discussions happening. Yes, I can multi-task.
So always learning, I posted a question/statement about synchronizing group e-mails with Dynamics CRM Online. As it turns out my assumption that this could not be done was wrong.
So I went out to do a bit more learning on the newer GROUPS feature of Office 365 and how it interacts with Microsoft Dynamics CRM and the CRM Outlook Client.
If you start with the Office "Find Help about Groups" you will quickly see how much is available.
You them might want to read Jesper's post on Office 365, Groups and CRM Online.
and for a summary the Office team has written Delivering the First Chapter on Groups.
What is amazing about synchronization is how absolutely difficult distributed data technology can be. There are a huge number of variables that the team continues to nail and hit out of the park, none of which can be under-estimated. So to read more about Synchronization check this out.
Microsoft Dynamics CRM 7.1.0 (2015) offers TURBO Forms which are seriously worthy of consideration, both for the Experienced Dynamics CRM Developer and for the CRM end user. Performance differences have been clocked anywhere from 3x to 7x times faster.
Here are some materials and videos to help get you started.
Writing code for Microsoft Dynamics CRM 2015 or CRMOL Forms : Read More
There is so much depth to Microsoft Dynamics CRM Security that it is amazing that they can add more and yet, more has been added. A great post is available on all the new options which you can reach using the link above.
One of the most fabulous features of Microsoft Dynamics CRM is the number of choices that any given business can have when leveraging the power of the toolset. This helps the solution and the product, the processes and the people to grow and change as businesses grow and change.
This is also one of the biggest dilemmas for the "New to Dynamics CRM" crowd. Choice makes a number of seasoned veterans to business applications scratch their heads and ask "Why". They assume that what they see is what they get.
They often mention things like "Why does the product do this out of the box" or "I need to talk to the development team about how (pick your vendor Siebel, SAP, Oracle, etc. etc. etc.) models this differently". They can even lock themselves into a box by eliminating a huge number of choices and blocking these from the business because of their own filters.
What is often misunderstood is that the consulting partner, resource, resources, mix and match team or IT department that a business works with, needs to understand both your business, the CRM Industry and methodologies for success and the depth of the technology.
This is a big ask, but so many customers have found success! It is not an impossible ask.
This post is to encourage CxOs to consider and discuss and participate in technology as part of their long term growth and to insure that the adaptability of that technology is part of the discussion. Take small bites (small phases) and let teams grow, change and mature on a continued and seamless path to success. Lastly don't make a decision and walk away. The heartbeat of a business is living and changing and many times always being updated. Setup reviews both of the solution and of the processes and make continued decisions.
So you have been wondering how an application as powerful as MDM (Microsoft Dynamics Marketing) can work so seamlessly with Microsoft Dynamics CRM. It is for instance built and released for the large enterprise marketing department who likes to control their own data and applications.
Microsoft Dynamics CRM is providing ONE PLATFORM for so many different applications out there that I can't even keep up. It is built to be one and it is built to integrate so that it can display, interact, pull in and/or integrate all of your data and all of your applications.
Now that Dynamics CRM is one of your options, what are options for integrating all of your other applications? Don't get stuck with even more distributed data, leverage MCS or leverage one of the great Microsoft CRM partner resources.
A bunch of field resources put together their knowledge and released this WIKI article on Microsoft Dynamics CRM Integration and I must admit it is one of the most requested tips that I get. If you have more to add, dive in or if you just need answers take a look.
A user’s security role needs to match the privileges at the ‘User’ level with the Access Team Template Privileges (R,W,A,A2,D,Assign and Share) associated with the Entity. If an Access Team has Delete privileges and a user's security roles did not, the user will be blocked from being added to the team. CRM Security is AWESOME and this shows that security can’t be bypassed just by adding someone to a team. If that user cannot delete a record, then adding them to an Access Team with that privilege won’t work!
Big thanks to the awesome: Thymio Barbatsis, for continuing to share incredible tidbits with the community
It is time to get social! and when you want to get social, you want to understand the incredible power behind Microsoft Social within the world of Microsoft Dynamics CRM.
As a primer take a look at this great blog post by one of the greats in the industry!
If you have not visited the CRMUG website lately, you might want to go take a look. They have been using new community software and have continued to organize and host local, national and webinar enabled meetings for users of Microsoft Dynamics CRM.
One of the best things you can do if you are using Microsoft Dynamics CRM is to get involved in the community.
Microsoft Dynamics CRM is an incredible out of the box, configurable system AND is also used as a development platform. As users adopt and learn some of the incredible features they quickly realize how many other systems it can replace.
It is like an awesome heart that embraces and wraps all things "need a solution" into it's solution platform, BUT if you have never worked with Microsoft Dynamics CRM then you can make a bit of a mess.
The following are some best practices for working with any technology in today's world.
1) Always ask yourself. If I extend or I get a developer to extend my product how does that align with what the Out of the Box Development team is releasing. They are writing code daily as well., but MANY extensions are 100% supported with all rollup updates and upgrades being easy to install, but some are not and we know how creative developers can be. Make sure your developers think xRM.
2) Understand and stay current with the product roadmap. Major releases are now coming faster and faster and faster. Two incredible major releases this year and with CRM Online driving an elimination of the world of the "upgrade" staying alert is key.
3) Love the SDK. Yes, you are a .NET Master and a long time senior developer, BUT the Microsoft Dynamics CRM Software Developer's Kit offers you so much more and helps to define the rules of engagement.
4) Embrace the well loved and well used Dynamics xRM Tools, but know who wrote them and their strengths.
5) The Dynamics CRM platform is a set of many different options. Too much choice, but so much choice can also be wonderful. Understand your choices - there are times when adding an ISV solution is so much smarter then building your own, and even within Microsoft the choices are many. Take for instance customer service on the Dynamics platform with and without Parature or Microsoft Social Engagement (also referred to in the past as Microsoft Social Listening) and of course there is the entire Office 365 suite that is forever growing in terms of new cool.
6) Work with a partner who has proven experience building long term supportable xRM projects OR if you work with a partner new to Dynamics CRM understand the risks. Learning curves can be frustrating for teams.
7) IT looks easy, and can be easy, but never under estimate the power of the CRM Architect. It is easy to drive a nail in a piece of wood, but rarely do you build a house without an architect OR add an addition onto an existing house without some review of impact.
8) Don't change software products because you picked the wrong vendor. Hundreds of CRM failures across all vendors have occurred going back 40 or 30 years. People, Technology, Process all have places that need continual current review. Many times it is not the software that is the issue.
One of the best parts of being semi-snowed in is that I can convert my travel time into learning and sharing time.
Let's look at a feature that everyone assumes that everyone else knows about. The What's New Social Pane.
Why do I point this out? If your team uses activities to track, retain touches and to communicate (e-mails) this pane gives you an incredible look into which contacts and accounts are actively engaged. It also lets you see an account that is requiring extra attention, a colleague who is working on something that you can help with or an activity that you needed to know about. (but because it is so easy to get into our own little spheres it was missed)
It is about raising the bar of transparency and shifting a culture and it is about creating a culture of sharing among all the users of your Dynamics CRM system.
What only inside Dynamics CRM?
Well actually NO! If you have YAMMER enabled you click a button in configuration and configure Yammer and your YAMMER Feeds become an option under What's New. Bringing in other (even perhaps non-CRM user) conversations into the mix.
Are you interested in a little extra reading on Microsoft Dynamics CRM? Check out this list of 2013 white papers.
I have recently changed my daily process to include Yammer and the value add has been significant. Take for instance the release of Microsoft Dynamics CRM v2013 Rollup 1, Yammer post with link and discussions letting me know it was available.
If your company currently has YAMMER and you are not using it, you might want to reconsider. Timing is everything when it comes to accepting new and sometimes you just need to re-evaluate on an ongoing basis.
Microsoft Dynamics CRM v2013 has so much to offer and one of the best ways to start getting your head around what is being offered is to regularly attend some great either 100 or 300 level webinars.
Luckily Microsoft is offering such webinars for partners, customers and prospects.
You can find the whole series here: http://www.microsoft.com/dynamics/offers/crm2013demos/
Or if you want to just sign up for tomorrow's session, here is the link: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032569331&Culture=en-US&community=0
Promote via LinkedIn/Twitter as well! Thanks!
As we move into this bold new world of many different devices, we are also opening the door for many different options for accessing our central Dynamics CRM store of data. When learning about all the different options keep in mind the differences between an application that is built to work in different OS environments such as the new Tablet access to Dynamics CRM and an application that is built for a more specific set of criteria such as a specific Windows 8 CRM Phone applications. Key areas of slight shift are items such as on a phone you are usually talking about the "phone" focus and providers like Verizon and AT&T whereas on a tablet your focus on phone might be Skype or Lync.
It is easy to get confused and Dynamics CRM v2013 offers so much!! I have to admit I am excited.
The Tablet access offers cross browser, but also many different tablet centric features like touch, pinning and choice of surfacing what you want to see where.
The Mobile access offers the really tiny form factor (for those small phones) as well as consideration for offline.
We also continue to have the Outlook Client which leverages all that is Dynamics CRM and all the great features within Outlook and the Web Client Access offering the application from your choice of a set of browsers.
In this brave new world you need to figure out how to best communicate all of the power of choice to your customers, peers and team members. As much as we are One Microsoft and One OS across many different devices, there are certain features and options that are very relavant for some devices and not important to others. Given this the technology you are using and the choices it offers does make a difference.
Choice is also not limited to technologies, it is also all about business culture, department process and individual working styles. The convergence of business and information technology is now!
What is amazing about Microsoft is that they offer so many incredible choices without nickel and diming their customers. They help customers use what they need where from their deep pockets of choice.
If you have taken Outlook to whole new levels by installing various addins or if you have configured and customized Outlook before installing the Dynamics CRM Outlook client.
You might want to install the Outlook Client that is part of RollUp 15.
RollUp 15 http://support.microsoft.com/kb/2843571
Using multi-tenancy in Microsoft Dynamics CRM 2013 to address challenges in enterprise business environments
Do you have a lot of other OutLook Integrations? CRM Outlook Client causing you grief on just one machine?
This rollup includes “process isolation” to split the Outlook Client out from the core Outlook process, an upgrade to SQL CE 4.0, and reductions in isolated performance issues with a large address books (among other things, it’s all in the KB)
General best practice for OnPremise users is to stay within two roll-ups. Just consider the large team of developers writing code, fixing any issues (reported by the millions of users) and continuing to make Dynamics CRM the absolute best CRM product on the market.
Microsoft Dynamics CRM v2011 Roll-up 14 has just been officially released. Learn more here.
The famous Ben Hosk wrote up a great little post about the e-mail tracking token. I like to call it half of the locket or an automation puzzle piece. It clicks a responding e-mail into the e-mail that is being responded to. Offering incredibly reliable threading. On the other hand it is TOTALLY Optional and Dynamics CRM is sophisticated enough to have even more embedded algoritums of success.
If you would like to know more about the e-mail tracking token, take a peek at Ben's writeup which you can find here.
We intermingling the term xRM and CRM when talking about Microsoft Dynamics CRM, but in all reality the name is talking about exactly the same product. A product that can be customized, configured and eXtended.
Changes DO NOT require a developer, but a developer can add an entirely different option set and layer to your already powerful application. The system is built to be configured or extended or both. Developers who work within the defined methodology are also treated by upgrades and updates seemlessly keeping the base option current and in this really fast paced world this is a real PLUS for businesses.
So what is xRM, really?
Here is one example of Dynamics CRM meeting a very different type of need outside your typical Sales, Marketing and Service.
Constitute Relationship Management
Anyone who develops within the world of Microsoft Dynamics CRM has a secret stash of favorite tools.
Want to know what some of those tools are?
Check it out
I am amazed at how I continue to learn more and more about Dynamics CRM despite focusing on the platform for over eight years. The product team continues to release small and large updates and are amazing in how fast they manage to keep up with the pace of technology change.
Additionally the current product (even before any updates) has a ton of depth and a number of under utilized functionality. When was the last time you decided to add something new to your business processes? What about learning one small area of the software in full?
Consider Goals, or Connections - take a peek at subjects or perhaps you want to become a FetchXML guru
Did you know you can tie web sense into charts?
There is so much that can be done.
Given this I offer this link and suggestions: Go review the Microsoft Dynamics CRM v2011 IMPLEMENTATION GUIDE. You might not have looked at it for a few years, a few months or even ever and it is packed with great information. So take an hour for study, each day this week - shoot make it a team effort and start up a Dynamics CRM brown bag lunch or book group. You will be pleasantly surprised.
SureStep has a little file that is not always that easy to find, BUT it is a very powerful document for any developer ramping up on or learning Microsoft Dynamics CRM.
The specific file name within SureStep is 1.5.1 Development Standards XRM
Additonally any new and old xRM developer should know about the following resources
Microsoft Dynamics CRM Development Best Practices (available in PartnerSource and MSDN)
Microsoft Dynamics CRM SDK Documentation (available in PartnerSource and in MSDN)
MSDN: Design Guidelines for Class Library Developers, Microsoft Corporation, 2004 (MSDN Library)
Yesterday's post generated some nice feedback. As it turns out there is a nice list of Microsoft Dynamics CRM integration options on the Microsoft TechNet Wiki (A great totally under appreciated resource)
One of the core design philosophy's of Microsoft Dynamics CRM, and the labeling and use of this application as an xRM platform, is that the application is built with the expectation that developers will extend the functionality and teams will integrate other applications into it. This is particularly common within the world of large enterprise.
The joy of integration for the user: User's can not only see all their data in one place, they also have options to add external data into that one place! Data that is display only, window frames that peek into other applications within the same interface (like Google or Bing), data that is synchronized realtime (such as SharePoint) and in batch (like Active Directory integration) and even more derivatives of the same!
Now to a customer, the term integration can have many, many different meanings. One of the first steps for anyone when faced with the term "integration" in a project meeting is to ask for the business process. What is the true need? Visibility, modification, creation?
"systems integration is the process of linking together different computing systems and software applications physically or functionally, to act as a coordinated whole"
The key term "to act as a coordinated whole" which does not necessarily mean duplicating data between two systems nor does it imply simple. Distributed system integration is one of the most complex data coordination needs a team can face. In this mobile world, the risk that distributed data is needed on any given project, increases.
Dynamics CRM has some distributed processing built in. When you take your data offline using the Microsoft Dynamics CRM Outlook client you are stepping into the distributed world. For instance the timing of when you go back online can impact your data and the coordination and rules around this dip into distributed thought.
OK So integration is a fact of life, so what are the options?
There are some very interesting third party vendor options. Some are loved, some hated, some are loved and hated and others are well brand new and unrated.
One of the new players (at least to me) is Synchronicity Systems out of the UK. They have a product called ECHO. I would be interested in any feedback from the field on ECHO. They have niched an offering for moving an on-premise Microsoft Dynamics CRM v3, v4 or v2011 to the cloud.
Another well known player is Scribe Software.
If you are tying into DynamicsGP (Great Plains), eOne is a vendor who has deep DynamicsGP history and Dynamics CRM connecct.
CRM is highly personal just like each of our own direct relationships. It must also meet corporate and team shared needs. This post dives into this concept.
Take for instance the tracking of details on a relationship between two people. The USER of CRM (such as a sales person) and their prospect or client (such as a key contact at a prospect site)
Some details of a relationship are as unique as each person within that relationship and others are common for all relationships with a specific person no matter who is in that relationship.
These details of a "relationship" can include an incredible list of variables.
What would be considered common and easily shared and valuable to a team? Personal characteristics such as a specific job title, the contacts features (height, gender, eye color) or perhaps even the name of a contacts spouse and friends.
Other variables are unique to a specific relationship and might or might not be valuable to the team.
What would be considered unique? The level of trust between two people, an inside joke, their shared history, perhaps a specific experience and shared networks. This could even extend to likes and dislikes that a person has and their level of likes. A person who is great at skiing might love skiing with a person at their same level, but hate it with a beginner. We could even go so far as to look at other unique traits such as what job or what role is taken as part of a specific relationship. If I think of one person in my network as an example, this same person is a contactor, a developer, a senior software developer (language being a factor), a software engineer, an architect (role being a factor), a speaker, a reference, a father, a son, a coach, a builder and more. So how are all these different variables tracked and shared?
Within the world of Microsoft Dynamics CRM these variables are handled in a number of different ways and at various different companies extended with different styles. Partner extensions to the software, customer driven extensions to the software, base use of already available features. This one subject is a great one for the user group! (www.crmug.com)
Depending on the version of the software choices within the software change significantly between version 4 and verson 2011.
In the world of Microsoft Dynamics CRM v4.
Contacts are people who have a set of shared fields and these include not only what shipped out of the box, but also any other fields you wanted to add. Out of the box fields include title, gender, e-mail addresses, and how the person likes to be contacted. User defined fields might include if they are a referral source or if they are an influencer within a prospect account.
Microsoft also offered a table in v4 for relationships. This is a two column list where a CRM user could custom define that a specific person (such as person A) was a vendor contact and that a specific second person (person B for instance) was the customer of that vendor contact. You could also choose a company and put it in this relationship table such as company A was a vendor for person B as the customer contact. This relationship feature offered both company and contact cross reference choices.
The feature had/has an interesting set of powerful potential, but it also had limits and I would dare to say it is under utilized inthe field and as such in the world of Dynamics CRM version 2011 a whole new world of options was born under the CONNECTIONS umbrella. Relationships exists in 2011 but has been retired and replaced with connections.
If you have not discovered CONNECTIONS then you want to take time to REALLY understand the power before you architect it into your business process.
So with those thoughts and my writing time ended I open up the idea for discussion and perhaps a few more posts over the next few days.
How does your company track all the variables between all the different relationships for each prospect or client contact that you have?
For anyone ramping up on Dynamics CRM development make note
There are a TON of utilities to make your life easier available in codeplex, Microsoft Downloads, and in the SDK. Some of these utilities are version specific and some are good for all verisons
Go check them out and to get you started here are just a few to wet the appetite
– Diagnostics Tool for Microsoft Dynamics CRM 2011 or v4 which helps CRM developers and administrators to enable trace and devErrors on a CRM server. It also generates an HTML report file with information about the CRM deployment.
–A small to tool which Generates CRM 4.0 Picklist Customization XML. This tool allows you to cut and paste a comma separated list of values and descriptions into a text box and then generate a set of XML picklist options which can be pasted into your Customization.xml file.
CRM Documentation - from Microsoft Dynamics CRM Documentation team’s famous Jim Daly
–Automatically generates technical documentation from a CRM Database Metadata
A large set of tools that includes a Sitemap editor, a tool for Dynamics CRM icon resizing (for custom entities), The ability to generate test data quickly and more
–Takes two customization.xml files and compares and reports on the differences
–For those projects where numerous similar views are requested within any entity. This tool offers replication of the Layers, columns and width increasing consistency.
–The tool allows you to display the list of all attributes and select if you want them to be searchable or not. In only one action, you can set all attributes searchable property for one entity.
–With this tool, you can:
•Indicate which entity you want to inspect
•Enter the identifier of the object in question
•Searching for a user with its name or its unique identifier
•Click the “Retrieve rights” button and the program will tell you what rights the user with respect to the record
Support for all out of the box privileges - By default the export utility will export ALL privileges, including custom privileges.
In this incredible world of both technology offering calculated date and people capturing data from all over the world the two concepts can sometimes collide!
Take for instance the world of dates.
Microsoft Dynamics CRM offers UTC adjustments, personal settings and Date and Time fields. What this means is that depending on how you have your computer configured and your Dynamics CRM Personal Options the dates that you enter are adjusted.
Microsoft Outlook does this as well. If I was to setup a meeting with an associate in California for instance on my calendar for today the meeting would display as Eastern Time (2pm for instance), but for my associate (CRM Guru Marc Wolenik) the date and time would display as (11am) and if we then added in another person such as a cool CRM Guru in Australia (Leon Tribe) the time would not only be different, the DAY would be different.
So what happens when you start capturing these types of dates inside of Dynamics CRM for analysis or reporting?
If all the dates are entered by "humans" correctly configured for their local time zones then the software correctly handles all the adjustments. The only trick with regards to this set of considerations is that DATE Only fields are well not really date only so watch that!
If all the dates however are entered by other "Systems" then a bit more thought needs to go into the architecture. Take for instance a system that resides on a server in a data center that is capturing date information based on that servers date. If you then take that date and enter it via an integration, how would you expect Dynamics CRM to react?
How would that date be managed?
Do you want it to be fixed? or adjusted?
If you want it to be adjusted, how are you going to tell the system to adjust it?
What if you want it to be a date field BUT you want to lock it to a certain time zone?
These are the joys of the world of global!
"The term asynchronous is usually used to describe communications in which data can be transmitted intermittently rather than in a steady stream" :
Now given this simple fact you might be surprised to discover that sometimes people forget that if you use asynchronous processes (such as workflow or asynchronous plugins) and you have dependencies particularly on a variety of async processes, timing might be an issue!
An interesting way to consider this is from the perspective of looking into a professional kitchen. Take the Master Chef (Mr. Processor): He must prepare certain items in sequence, for instance the pork chops have to be cut and spiced before they can be put in the pan to be cooked and before they can be prepared for display.
On the other hand if serving two vegtables for the same plate, if the broccoli comes out before the carrots, the chef (Mr. Processor) does not have a problem. The preparation of the broccoli and the carrots can happen in order, reverse order or at the same time. They can be asynchronous. They both need to be prepared in a timely manner (within the same approximate window of time) and they both need to get done within that time frame, but which gets done first doesn't matter that much. They are not dependent on each other.
Now the Chef might prefer the broccoli to come out first, as he has his own habits and best practices to make it all come together, but he can (and does) deal with the reality if they get reversed. On the other hand if an assistant chef forgets to spice the pork chops or spices them after cooking then the flavor of they chef's prized dinner is ruined and sometimes considered unacceptable!
These same concepts apply to functions and processes within the world of Dynamics CRM. There are functions that should be asynchronous, there are processes that need to be synchronous and knowing the difference is an important variable in any developer or power user.
PowerObjects had a great little blog post on Internet Explore 8 when it came out highlighting a few of the cool NEW features that are worth learning about if you are using Dynamics CRM.
Now that IE 8 is part of your everyday routine (and you are thinking about IE 9) take a look at this post on some of the features that might have slipped your notice in what you ALREADY have.
Oh and in terms of security (for those of you running other web browers)
"Testing conducted by the independent NSS Labs found that IE8 provided signifigantly better malware blocking capabilities than Mozilla Firefox, Opera, Google Chrome and Apple Safari."