Dynamics 365 Customizing vs Configuring: Best Practices and Tools for Success

Visit Website View Our Posts

In CRM, customizing usually refers to CRM extensions, which may require custom coding or development utilizing the CRM Software Development Kit (SDK). On the other hand, configuring refers to the ability to adopt Out of The Box functionalities to achieve business goals.

While customization can be explained using configuration and development; configuration encompasses the use of modern tools that exist within the application platform, allowing 90% of the changes that are needed to be scaled, extended, finetuned, accentuated, embellished and industrialized. Indeed, this is more of a drag, drop, point, launch and “what you see is what you get” type of design. Not to mention, Microsoft Dynamics 365 provides an outstanding Integrated Development Environment (IDE) that provides total control to build and test most system changes.

In contrast, development in customization is executed for more important and complex modifications and additional functionality that may be desired to improve business processes. So, there are perplexing functionalities that require custom code for aptness. Also, there are two variations of development – JavaScript and AJAX. These are two types of user interface behaviors that may conjure with a browser or server-side computations that may cause systematic changes to data and processes.

In fact, the configuration capabilities of modern CRMs are now so advanced, that development is rare, but can be used to fulfill special requirements. Overall, a CRM is an open system that allows enhanced functionality and integration with other systems, and applications that can be further developed and improved, such is the case with Microsoft Dynamics 365.

Configuration Capabilities in Microsoft Dynamics 365

Utilizing configuration to operate and manage a CRM is indispensable. Configuration is practically the structure and administration of the system. In Microsoft Dynamics 365, configuration is essential for improving the UI design, field settings, security, business rules, use of options and features, and more. Therefore, adopting business logic features with no-code configuration or no custom programming logic is available.

With Dynamics 365, organizations can effortlessly define business processes by adopting the various configuration capabilities that are available to fit their business needs. For example, configuration in Dynamics 365 is applied to perform the following:

  • Database changes and fields
  • Forms, validations and views
  • Workflows, Business Process Flows (BPF), dashboards and reports
  • Security settings
  • Calculated fields and templates

Also, configuring may be executed by a technically adept administrative person utilizing the following tools:

1. Utilize Internal Customization Tool

Utilizing the internal customization tool in Dynamics 365 is highly recommended. This configuration type tool allows administrators and IT professionals to modify and update the database, business rules, user interface (UI), and most importantly manage settings using a controlled edit-publish workbench. For example, setting the level of security within Dynamics 365 can be performed using the internal customization tool. Also, creating roles, giving privileges and proper rights to users accordingly is important and featured as part of best practices for Dynamics 365.

2. Release in Solution Packages

Releasing in solution packages allows changes to be packaged together and layered alongside the self-documented modifications for controlled releases across multiple environments. Within a solution package, CRM changes are visible and enables developers to connect all changes to tasks and stories. Not only does it allow the data to be imported between environments, this data is also kept the same across environments for automated buildups and continuous integrations, minimizing import errors and saving time.

3. Codeless Tool Set

The codeless tool set is just one aspect of the customization tool, which includes coded features and advanced integration solutions that provide simple connectivity to different systems and data sources. Writing code isn’t necessary, since these tools are already configured and ready for use within Dynamics 365. Utilizing these data integration tools or connectors allows data to be connected and easily sharable among users and reduces the risk of an integration breakdown.

4. Preview and Publish Modes

Another aspect of the customization tool set is the preview and publish modes that are utilized to review changes before and after they are complete. The previewing mode allows visibility of a change before publishing. Keeping in mind that customizations are automatically published when new items are created or existing items are deleted. Also, it is important to publish customizations in order to export with a solution.

5. QA in Sandbox Environment

How can you develop solutions without disrupting the production environment? In a sandbox environment, developing, testing and training is possible and will not disrupt users or harm the production environment. For instance, Dynamics 365 provides sandbox environments that serve as QA environments as changes are released. Also, sandboxes include administrative controls that are not available in production, making it simple to reset a sandbox instance by allowing the system administrator to log in and apply changes.

6. Release Solutions Iteratively

Releasing solutions iteratively is the best approach for CRM deployment. Implementing solutions in small fragments enables employees to learn and adjust step-by-step. In addition, during iterations, issues may be easily identified and altered before another solution release. For example, business policies and processes may be adjusted by adding new features to address challenges. The goal is to have a functional CRM that is utilized to its full potential and is increasing productivity.

Customizing Your Microsoft Dynamics 365 CRM

Modern customization consists of code and integration development for server-level, main-app, line of business functionality and database development. Customization also encompasses light app and function builders, workflow automation, and simple dashboard design. In addition, some of the latest capabilities include PowerSuite, Common Data Service (CDS), and Common Data Model (CDM).

PowerSuite simply combines a system’s optimization features into one, streamlining maintenance and powering higher performance. PowerSuite powers performance by scanning and identifying untouched processes, provides a list of drivers for updating, removes or compresses unused files and Windows backups. Also, developers utilize CDM to build custom connections with multiple databases to enhance applications for end-user consumption. Together, CDS and CDM allows developers to spend less time building and more time developing and upgrading sophisticated integrations by adopting and enhancing the existing CDM templates.

Moreover, with Microsoft Visual Studio, developing programs, websites, apps, web services and mobile apps is achievable. Visual Studio utilizes Windows development platforms, such as API, Forms, Presentation Foundation, and Microsoft Silverlight to create and manage code. For example, the Visual Studio Team Explorer or Team Web Access provides initial access and projects visibility for the DevOps and development team. Furthermore, there are additional developer tools that may be utilized in Dynamics 365, such as WebResources Manager, View Layout Replicator, Early Bound Generator, and .Net which is applied to help manage code in multiple languages. Microsoft Visual Studio and the .Net tools are intertwined together to undertake the following:

  • Import jobs
  • Monitor jobs
  • iframe data presentation
  • Server side customizations
  • Integration calls and web services
  • Custom coded UI
  • Add-on functionality and apps

Customization and development may be carried out by developers utilizing the following tools:

1. .Net Framework

The .Net Framework was created by Microsoft and is highly used for building, developing and deploying applications. This framework supports multiple, interoperability and cross language integration and includes an IDE, provides a Graphical User Interface (GUI), Mono Compilation System (MCS) and Common Type System (CTS). In addition, there are two main parts of the .Net Framework: Class library, which includes ADO.NET, ASP.NET and Windows Forms and the Common Language Runtime (CLR), which is the safest area where code can run. Code that runs through the CLR is managed code that is protected and optimized. CLR is the official execution engine and is between the .Net application and the operating system which provides additional services.

2. Software Development Kit (SDK)

The SDK includes an architectural overview of Dynamics 365, the entity model, security model, web services and tools that assist in developing, customizing and communicating within the Dynamics 365 environment. Also, the SDK includes practical tools for registering assemblies, migrating data from one environment to another, and aids in developing and customizing assemblies according to requirements. In addition, the SDK is exactly what every developer needs for development and code authentication.

3. Plug-in and Re-usable Solution Management

Plug-ins are commonly used to enhance standard features by inserting specific business logic in performed user tasks. A plug-in consists of custom code that is later compiled in .Net, which is then triggered by an event within an entity. Alongside, is a re-usable solution, which is a customization package completed by customizers and developers to extend the functionality of Microsoft Dynamics CRM. The only known supported way of transferring customizations from one CRM organization to another is through solutions.

4. Error Handling and Logs

Error handling in Dynamics 365 can be easily handled through the tracing service. Dynamics 365 can handle the exception returned from a specific plug-in, which displays an error message in a dialog. Also, all exception messages are found in the system job area of the web application. Most error logs are maintained under Plug-in Trace Log.   

5. Web Resources

Certain web resources or virtual files may be stored within Dynamics and utilized for web page functionality, forms and entities. For example, an image file is a web resource that is often stored for later use. A more complex example of a web resource is the Silverlight application that is built to read users context. All web resources can be reused in various forms or entities and even deployed in solutions.

6. VSO Change Control, Code Backups and Versions

Utilizing the VSO change control as a systematic approach to manage all changes made to a product or system is recommended. Also, the Team Foundation Server by Microsoft provides the change control, code and version backups to ensure that changes to a product or system are introduced in a more controlled and coordinated manner. For example, the Team Foundation Version Control (TFVC) method is highly utilized for a central source code version control, which requires a central server to sync software snapshots. In contrast, Git is an alternative to TFVC and may be utilized for distributed version control, which does not require a central server.

7. TDD Quality Control

Test-driven development (TDD) is a programming methodology that may be a part of a Quality Control Strategy or a Quality Management Strategy. Enabling developers to write code, passing the acceptance test and simplifying the code for use is TDD quality control. The primary goal of TDD allows developers to write test cases and think things through before writing the necessary functional code.

Final Thoughts

Interesting enough is the customization of a CRM and the set of options available for validating customizations and developing modifications, packaging together and releasing in solution sets, which provide controlled releases and versions, and the new and improved capabilities, such as CDM and CDS. As CDM continues to improve, understanding CDM is vital for the success of any developing system. In addition, CRM modifications and changes are mainly executed in a sandbox environment rather than directly in the production environment. Utilizing a multi-environment release process to ensure separation between customization, testing and the line-of-business work is ideal. Whether a team is customizing or configuring there are many tools available that aid and simplify anyone’s preferred systemization.

Learn more about how Microsoft Dynamics 365’s features and capabilities can optimize and streamline your business processes.


About the Author - Kjell Kahlenberg

As Director of Customer Engagement Solutions of Indusa, Kjell is a subject matter expert on Microsoft Dynamics CRM with deep experience across sales, customer care, and marketing disciplines. He has led large enterprise CRM deployments across various industries and business models. Kjell focuses on solution advisory, consulting, architecting, project and program governance, and overall customer engagement.

Contributing Author: Liliana Garibay



Show Buttons
Hide Buttons