Book Review On: Developing Data Migrations And Integrations With Salesforce – Patterns And Best Practices By: David Masri

Quality of data being in the right place, for the right person, at the right time so it’s actionable is critical to the success of a CRM project.

READ MORE

While a nice user interface, fancy reports and workflow automation are also important elements in a CRM, these would significantly lose their value if the underlying data that supports these areas are problematic. 

Within this book, we are provided a comprehensive plan on how to turn the most critical and riskiest area of a project involving data migration and integration into a streamlined, low maintenance and high performing process.

As we continue down the journey of digitization and the importance of how data drives so many decisions, the below quote continues to hold true:

The world’s most valuable resource is no longer oil, but data. ~Economist Magazine

Before jumping into the complexities of data migrations, the author takes the reader through reviewing relational databases, data modeling and querying concepts, while also providing the nuances and operational differences between a traditional database and how Salesforce operates to help set the initial foundation.

Salesforce is an API first company, therefore all external interactions with Salesforce must go through it’s API’s. 

Next, David provides the 6 critical attributes that help guarantee the success of a data migration initiative:

  1. Well planned: asking the critical questions (examples are provided)    
  2. Automated: getting the process to be as close to “one click” as possible
  3. Controlled: having a centralized “brain center” to determine the data flow
  4. Reversible: ability to undo full or partial migrations
  5. Repairable: understanding where the original data resides and how it was transformed
  6. Testable: ensuring requirements and business needs are met

Strive to be better with each of your data migrations: better planning, more automation and increased trace-ability. 

As with any major endeavor comes a series of best practices, David provides 40 that should cover every situation you would typically run into. Below are the top 5 which I found to have the greatest impact.

  1. Understand and analyze the source data, while asking comprehensive and challenging questions about the intent
  2. Document, maintain and enforce stakeholder buy-in on the transformation
  3. Do not ignore data problems, they rarely get addressed after the deployment and can cause significant impacts
  4. Partner with a BA to help validate assumptions and your findings
  5. Don’t patch things together during testing, start the process end to end to ensure accuracy, run-times and deployment procedures stay in tact

Scope, budget and quality are 3 factors in any project, when it comes to data, quality should never be compromised.

As with any book, theory only gets us so far, therefore David also provides a real-world use case of a migration project, where the reader will understand how to load and transform 10+ objects. Within this exercise, we’re taught how to use a central control file, cross reference tables, sequencing, dissecting, and explaining the SQL and associate functions, performance tuning, bulkifying and roll-backs.

Migrations are difficult, most have issues and the details are critical. To get better: practice, execute, review, repeat.

Although, the major piece of work is the 1st data migration, the ability to perform data synchronization can be equally as important long term. Synchronization types such as: unidirectional, bi-directional, and 2 way synchronization along with patterns such as: incremental and differential are covered. A few examples of these include: upsert-no delete, incremental date based, full load.

       Understanding how to handle data conflicts when synchronization comes into play is crucial to the success of a project.

While most of this book discusses batch type integrations, David has a few chapters on real-time integrations and UI automation describing options such as, Salesforce API’s, Salesforce Connect, Streaming API’s, APEX Web Services, Platform Events, Embedded iFrame, FAT Client integration and a few others. Within these chapters, we get an understanding of when to use each based on the types of requirements involved.

As any good developer will know, having a solid code library of reusable functionality can be an extreme time saver. Especially when it comes to data transformation as more time than not, customers follow certain data idiosyncrasies that need to be accounted for. David provides examples of the most common. My personal favorites provided includes accounting for CamelCase, Phone number formatting, identifying a good email address, parsing out names, and stripping out spaces, numeric and alphanumeric characters.

Having your tool belt full of the critical tools needed for the job saves time and money while identifies you as a data migration specialist.

The final chapters of this book covers: FAQ’s, an algorithm and associated SQL for detecting duplicates using natural keys, as well as references cards recapping best practices, synchronization and integration patterns as well as suggested reading references.

In conclusion, whether your experience doing Salesforce migrations has been days, months or years, this book should be in your reference collection as I’m confident you’ll either learn or rediscover concepts that can help you become more proficient in your craft.

“The more you read, the more things you will know, the more you learn, the more places you will go.” ~Dr. Seuss.

You can find David’s great book for purchase here:

https://www.apress.com/us/book/9781484242087

READ LESS

    Write a comment