New episode: „Fast & Furious“…. А migration to Dynamics 365
3, 2, 1, Start! A project with 3 on-premise CRM organizations in 1 online productive environment. Migration for 2 days with one of the environments. But before that enhanced training and a lot of testing, of coursе.
Monday, 5 th of February 2018, 10:05
A Conference room at Intelligent Systems office in Sofia
All the team members were in the room, discussing the upcoming project of the migration of Dynamics CRM on-premise 2015 to Dynamics 365.
“What will you say to make the migration through import of Еxcels?” – said Ivo, Senior Software Engineer from the CRM team, winking with one eye to the colleagues.
We all laughed.
“Of course, I am joking!”– he continued – “This is a possible solution, but it is practically inapplicable in our case, because we have 3 on-premise environments with a number of nomenclatures and many records which should be migrated to a new online environment. We will make a migration with SSIS, developing data packets with one of the environments and for the other two environments – we will just change the data source (CRM data source), ensuring the consistency of the data and the logic set in the packages.”
“Yes, and we will make full data migration from the current CRM to the demo environment. And after everything is checked to the last detail we will start the migration to the productive environment…” – added Emo, Software Engineer from the CRM team.
And so, with a smile and the strong belief this will happen quick and easy, all of us – Project Managers, Technical and Business Consultants, started to plan and allocated the project implementation tasks. And here are the details ….
More than 3 years ago (at the beginning of 2015) Intelligent Systems’ commercial and marketing teams were one of the first teams in our country to start working with Dynamics CRM 2015 on-premises (version 18.104.22.168). For all day-to-day activities, specific business flows and features (Business process flows) are developed to manage the sales process specifics and communications with potential and current customers of the company. The decision had been gradually implemented in our offices in Turkey and Albania and each office had been working within its on-premise environment.
Following the latest IT trends and new business solutions, in the beginning of 2018 we started a project to upgrade and migrate our on-premise Dynamics CRM to Dynamics 365. The main reasons to start this project were better speed, enhanced efficiency and security. The technology we chose – SSIS as a component of Microsoft SQL Server.
What is SSIS? – SQL Server Integration Services (SSIS) is a data migration and app connecting platform. It includes tools for extraction, transformation and loading – ETL. SSIS import/export wizard gives the opportunity to create data packages from one data source to a destination without transformations.
Why SSIS? – Due to the project specificity, we defined the following key advantages which made us choose SSIS:
- Capability to perform multiple data transfers from various environments by changing the addresses in Connection Manager. In our case, this was of great importance because after migration of the on-premise CRM solution in the Bulgarian entity, migration should also be made to the systems inorganization. This implies repetitive operations, the execution of which has been greatly facilitated because of the built-in SSIS packages. This saved us a lot of time and effort in the subsequent migrations.
- Tracking the generated migration errors by using the built-in SSIS components. We saved logs of errors in a database which is especially created for this purpose, with a separate table created for each nomenclature. The convenience is that the tables are unified and contain the CRM record ID for which the error has been received, message, date, and time, making it extremely fast to be identified and accurately removed.
- Last but not least, SSIS is an intuitive and easy-to-use tool that gives greater freedom and flexibility to technical specialists.
Scenario and rehearsal with Sandbox environment
We planned a detailed scenario for the project implementation, including both the preliminary data preparation and the overall migration management process. At the same time, we have audited the current automations and created new one as well as a new sales cycle management process. All tests and inspections were performed within the test environment – the so called Dynamics 365 Sandbox environment, migrating data from CRM on-premise instant for the Bulgarian entity.
Before “Act One”
The most important thing is the preparation and the presets that we had released. Among the main highlights were:
- Identification of all necessary nomenclatures, fields and functions to be migrated – a very important stage aiming at the quality audit and optimization of the data quantity
- Set up users with the appropriate rights and specifics in the system
- Exclude all ongoing automation and development so that the migration process is not delayed
Act One …. the migration
So, following the defined plan and sequence, we went through each nomenclature, developing a migration package. After releasing each package, we tracked the errors that were generated and quickly and effectively cleaned them out. In many places it was necessary to set a certain logic with the necessary conditions when transferring the data from the old to the new environment.
First, we made a migration of the nomenclatures (with custom entities), then the system ones (currencies, price groups, products, etc.). We continued with the large set of nomenclatures from the Sales module, then switched to Marketing nomenclatures. Finally, all kinds of activities (and in our case, some of them were tens of thousands), the last thing to do was to update records status.
Culmination … the productive environment
Once we have validated all the datasets with the test environment with the team, we switched to migration to the productive environment. An important condition was for users not to enter data in the old system while migration is running.
Thanks to the used technology platform, the good preparation and the preliminary tests we made in the Sandbox environment, the packages were executed extremely fast.
Doubles… out of the scenario
Of course, there were challenges throughout the project that required timely corrections, tests and validations.
We encountered difficulties in migrating the most numerous records of the different activity types (phone calls, meetings, emails, etc.). What was special about them is that they contain Party-specific fields that have a reference to a corresponding record from the system. In our case, some of these records were deleted, but the reference was active, and migration could not be accomplished. One option was to delete these references manually from the system itself, the other – to delete them from the database. The most appropriate approach we took was the development of a script component to implement these inconsistencies. We have been testing it many times and eliminated the problem.
The audience is happy
Dynamics 365 users were mainly using the lightweight application Dynamics 365 App.
Dynamics 365 App is a new feature, part of Dynamics 365, which was announced by Microsoft just a few months ago. The app provides quick access to a selected specific set of components (nomenclatures, boards, lists, business processes, etc.) according to the role that the user performs in the company.
Benefits of Dynamics 365 App – Users can quickly and easily navigate in the application and use only the functionalities they really need. Data also loads much faster than the classic web client.
But... like every new thing, the Dynamics 365 App also has its issues that hinder the most effective use of the app. For some of them we found a working solution, while for others – we look forward to the new updates of the Dynamics 365 App.
Additionally, the flow of daily communications through emails with customers and partners is managed with the Dynamics 365 App for Outlook application and built-in email synchronization functionality with Dynamics 365.
Using the latest Dynamics 365 functionalities and additionally developed features, the sales and marketing teams of the company now perform their daily activities quickly and smoothly – starting from the initial contact with the potential and current customers, the overall communication with them, managing sales opportunities, offers, orders, marketing campaigns, etc. And top management of the company has a complete view of the team’s work – current and planned activities on each deal, set and achieved results, filters for additional segmentation and campaigns, etc.
Awaiting the new series of the movie
Strict training, the good practices and technologies we used, the built-in work model, the smooth communication within the team, the timely response to the problems that have arisen, and last but not least, the satisfied users of the system are our basic incentives to continue to do with confidence what we seem to be good at … We are looking forward for our next interesting projects.
Do you want to learn more about our Dynamics 365 experience? We are here to talk.