Book Image

Salesforce Data Architecture and Management

By : Ahsan Zafar
Book Image

Salesforce Data Architecture and Management

By: Ahsan Zafar

Overview of this book

As Salesforce orgs mature over time, data management and integrations are becoming more challenging than ever. Salesforce Data Architecture and Management follows a hands-on approach to managing data and tracking the performance of your Salesforce org. You’ll start by understanding the role and skills required to become a successful data architect. The book focuses on data modeling concepts, how to apply them in Salesforce, and how they relate to objects and fields in Salesforce. You’ll learn the intricacies of managing data in Salesforce, starting from understanding why Salesforce has chosen to optimize for read rather than write operations. After developing a solid foundation, you’ll explore examples and best practices for managing your data. You’ll understand how to manage your master data and discover what the Golden Record is and why it is important for organizations. Next, you'll learn how to align your MDM and CRM strategy with a discussion on Salesforce’s Customer 360 and its key components. You’ll also cover data governance, its multiple facets, and how GDPR compliance can be achieved with Salesforce. Finally, you'll discover Large Data Volumes (LDVs) and best practices for migrating data using APIs. By the end of this book, you’ll be well-versed with data management, data backup, storage, and archiving in Salesforce.
Table of Contents (14 chapters)
1
Section 1: Data Architecture and Data Management Essentials
5
Section 2: Salesforce Data Governance and Master Data Management
9
Section 3: Large Data Volumes (LDVs) and Data Migrations

Data architect skills

A combination of technical and soft skills is required to be successful in a data architect role. Both sets of skills are equally important; it will be difficult to become a successful data architect if either set of skills is lacking. But don't worry, these skills can be learned, and once practiced, they will, over time, make you a very productive and successful data architect. In this section, we cover the skills required to become a successful data architect. Let's start with technical skills.

Technical skills

We will now discuss some of the technical skills that are needed to be a successful data architect. Keep in mind that these are high-level and this is intentional because otherwise, we would need to list individual skills that are needed:

  • Data modeling: The ability to define data models is a must-have skill to be successful as a data architect. This forms a very handy tool to communicate with different stakeholders in projects or in the general day-to-day operations of the organization. Knowledge of well-known and commonly used data vendor models, application models, and industry reference models is also an asset.
  • Data integrations: The ability to design effective, secure, and scalable integrations using a multitude of tools, as well as knowledge of various integration concepts, such as pub/sub, request/replay, batch processing, and fire and forget.
  • Data processing: Understanding and designing flows that take in data and output meaningful information is a skill that is becoming more and more important for data architects. With the advent of huge volumes of data that organizations have been storing over the years, knowing how best to make use of that data to provide insightful wisdom to decision makers is key for data architects.

These are some of the high-level technical skills needed by data architects but typically, they are required to have programming skills such as working with Python or another language, experience in data mining and modeling tools, and an understanding of operating systems.

Soft skills

In this section, we will talk about the character attributes of an exceptional data architect. There are many others that may not be listed here but these are some of the key personality attributes that a good data architect should have:

  • Problem-solving: A multitude of data issues are faced by data architects. Therefore, they must be able to apply a beginner's mindset in order to solve these problems. Communication skills including active listening and clear articulation of the problem and what the approach would be to resolve them are also characteristics that help in shaping a successful data architect. Knowing how to solve problems using systems thinking is also a very valuable skill to have. In a nutshell, systems thinking is the understanding that individual parts in a system behave differently compared to their behavior when they are by themselves. Utilizing systems thinking, along with the ability to model systems in a way that they have enough detail and convey the intent of the modeler, is a key advantage to have when solving problems.
  • Storytelling: This is an essential skill that makes it easy to communicate with different technical and non-technical stakeholders. The ability to communicate to audiences using stories and metaphors that make the subject matter easy to understand for a non-technical audience can help to build rapport with stakeholders quickly.
  • Objectivity: The ability to think and act objectively while keeping emotions in check and out of the decision-making process is an important skill for a data architect. Often, you will be interacting with other technical resources that may prefer one solution over another. The ability to objectively analyze each option and make a recommendation after considering each option will earn your stakeholders' respect and trust.
  • Strategic thinking: Data is not something that is around for a month or two, but rather one of the most critical assets of a business and it needs to be treated as such. This requires understanding current and future business needs and the direction an organization is taking. It also involves anticipating the future trends of the industry and its best practices.
  • Adaptable: A data architect should be flexible; they should be able to adapt to changes and operate in a fast-paced environment. Many organizations do not have the discipline and the necessary governance processes in place, resulting in a very chaotic environment from a data perspective. The data architect must be able to sift through that, understand what's required, and deliver on what will add value to the business.
  • Leadership: As an architect, you will be expected to be responsible for designing and developing an optimal solution, which is all fine and dandy if you were doing all the work yourself, but that's not how the real world works. In many projects, you will be working with a team of architects, developers, BAs, and other stakeholders. Your decisions may be challenged and the rationale of certain decisions questioned. How do you deal with that? Using your technical or positional authority to push through your decisions? That may work in the short term, but in the longer term, you will face more challenges from the team and may also lose respect in the process. Having leadership skills that influence people to follow your decisions by inspiring them to do the right thing is a better longer-term approach. This requires establishing trust by walking the talk and being transparent with your peers. Keep in mind that you don't have to have an official title to be a leader; rather, you can still influence people regardless of the position or title you hold in the company.
  • Analytical: Data architects need to be observant and have the ability to investigate a problem and find an optimal solution in a timely and efficient manner. This skill is very important because the ability to collect data from various sources, sift through non-relevant information, and analyze the rest to get to the root cause of a problem, can mean the difference between suggesting a solution that will solve the problem versus wasted time and effort.

One of the things that I want to drill down further is communication: the barriers to effective communication and the famous seven Cs that can be used to efficiently communicate. The importance of these cannot be stressed enough because unless you are an efficient communicator, your mileage with being a successful data architect will vary and you will face challenges. Now, let's look at these in the next section.

Barriers to effective communication

From the time we wake up to the time we go to bed, most of us are communicating with the people in our lives. Communication is not only verbal but can also be via body language or even social media these days.

The PRovoke Media, a reputable PR firm, estimated that a staggering $37 billion dollars were lost among 400 companies (100,000+ employees) surveyed in the US and UK and, according to the report, this may just be the tip of the iceberg – the actual losses may be much more. Let's look at some of the major barriers to communication. Recognizing these will help you to be cognizant and more careful next time you are giving a presentation, conducting a global team call, having a discussion with your children, or coaching a direct report at work.

Physical barriers

These are barriers to communication that are caused by physical conditions, for example, if your car breaks down on the highway and you are speaking with the tow-truck driver. Unless you are speaking loudly, you might be telling the driver to tow your car to your house, but they may hear it wrong and tow it to the garage. Another example is when you have an important presentation to give and your boss emails you 5 minutes before the presentation asking you to remove a slide but doesn't mention which one. You try to send them an instant message, but the service is down. Thinking they must have meant the slide with too many diagrams, you remove that slide but find out after the meeting that it was in fact a different slide.

This type of barrier is especially felt when people cannot have face-to-face interactions; for example, during the COVID-19 pandemic, people were reduced to communicating through phone, text, email, or on-camera meetings. Although on-camera meetings can be very effective, important information related to non-verbal cues, such as body language, eye contact, and gestures, can still get lost, all of which form an integral part of communication.

Psychological barriers

This is the type of barrier where communication cannot be effective due to psychological issues. A somewhat common manifestation is when you notice your co-worker is not performing their job well and you find out that they are going through debt issues or, worst yet, a divorce. Or, when you are in a meeting and one of the attendees appears to be absent-minded and feels slightly embarrassed when they are asked a question. Speaking with them afterward, you find out that they witnessed a horrible accident that day when driving to the office.

Language barriers

This type of barrier is related to the language of the speaker and the listener. Let's say the speaker is a native English speaker whereas the listener is not well versed in English; the speaker might say one thing and the listener may understand it to be something else. This could also be affected by different dialects, so the language may be the same but the dialects may be so different that speakers of one dialect may have a hard time understanding speakers of another dialect.

Semantical barriers

This barrier is related to the meaning and interpretation of words. It's important that the speaker and the listener have the same understanding of the words or terms used. If a school counselor is counseling a student and they say, you need to turn a new page in your life, unless the student knows what that idiom means, the intent of the speaker by using this idiom will be lost. Another common example is the use of buzzwords or phrases, which are especially prevalent in technology. Using the phrase eat your own dog food means using your own software internally that you sell to customers. Unless properly explained, this may sound disgusting and abhorrent to a listener who is not aware of this phrase. That's why you should avoid the use of buzzwords and idioms as much as possible to ensure your listeners are not confused and communication is not lost.

Information overload barriers

This type of barrier happens when the information processing demands placed on a person exceed their capacity to properly process them. Many of us can relate to this when we are getting emails, Slack messages, text messages, and meeting reminders and we feel we are drowning in work. This also happens in projects that are not very well organized and the BA, for example, is sent similar requirements through email, a meeting that just happened, instant messaging, or verbally by someone stopping at their cube for 2 minutes. This can lead to important pieces of information being either dropped completely or mixed up with another requirement.

Cultural barriers

These barriers relate to different cultures, and with increasing diversity in workplaces, you will likely be dealing with people from different cultures. That's why it's important to recognize these barriers to ensure your communication is understood and effective. Some examples of cultural barriers include following strict org hierarchies and reservedly answering questions from your manager's boss because the cultural norm at your previous workplace in a different country was to have all communication upward or downward come through your immediate manager. Another example is how in some cultures, anyone higher than you in rank should be addressed with either Sir or Ma'am. A third example, in some cultures, is that it is rude to make eye contact when talking with the opposite gender, whereas in some cultures, it would be considered rude not to make eye contact and could be construed as lying or trying to hide something.

Now that we have looked at the barriers, let's look at what constitutes effective communication that can be used to mitigate these barriers and have our message easily understood and acted on.

The seven Cs of effective communication

The seven Cs of communication give us a way to effectively communicate and have something tangible to evaluate ourselves on whether we are communicating effectively or not. The seven Cs are also an effective tool to manage the barriers to communication discussed in the last section. Think of these as a checklist to ensure your next presentation, speech, email, or even a simple text message to your kid is understood. Remember, the most important goal of communication is getting your message across to the audience.

Clarity

Have a clear goal and purpose for your message. It can be helpful to think of a quote by Steve Coveys: begin with the end in mind. Think about what you want your listener to do at the end of your message. Given that the human mind can comprehend a limited amount of information at a time (think of the information overload barrier discussed earlier), try to break down your message into parts that the listener can easily understand.

Conciseness

Keep your message concise and short. If you have written an email with 3 paragraphs and 19 lines, could you convey the same message in 1 paragraph and 5 lines? Here are some examples of wordy sentences:

The pandemic caused a great deal of anxiety and frequent mental health problems in society.

The poverty usually suffered by children in inner-city neighborhoods caused Anna to deeply think about how she could change things for the better in her neighborhood.

The following are examples of concise sentences:

The pandemic caused intense anxiety and health problems in society.

Seeing the suffering of kids in inner-city neighborhoods caused Anna to think of ways in which she could improve her neighborhood.

Concreteness

This relates to how precise the message is that is being delivered. Avoiding ambiguity helps your audience understand your message and act on it. This is where you can also provide facts and figures to ensure the message is understood. Take this example: according to the research firm IDC, Salesforce and its ecosystem will create 4.2 million new jobs between 2019 and 2024. Providing this research reference is better than saying there are going to be lots of jobs generated in the Salesforce ecosystem in the next few years.

Coherence

This relates to how well the beginning, body, and ending of a message are aligned with each other. This is probably one of the reasons why communication trickling down from top management in companies is intended to be something else, but by the time it gets to the bottom, it can be easily misconstrued because the original message is not coherent and there are contradictions in it or the ideas are not connected with each other.

Courtesy

Showing respect and being polite in your communications will help you get your message across smoothly and make your audience more perceptive to receive and accept your message. They will be more willing to act on or approve your proposal. Try to be inclusive in your communication and use words that reflect inclusivity and are deemed culturally acceptable.

Completeness

This relates to how far the message is complete. Does it have the information the audience requires to act? Are you jumping from topic to topic, leaving the listener confused on what the expectation is of them?

Consideration

Consider your audience and present your material accordingly. Try to understand your audience beforehand: what are their viewpoints, opinions, or constraints? Try to put yourself in their shoes and try to be empathetic. This can help you craft your message so that it is more easily understood and accepted by your audience. Many people struggle with the right amount of information to present. The ladder of abstraction is a mental framework that can be used to determine the right amount of information to present. As seen in the following diagram, the higher up the ladder you are, the more abstract the idea is, and the lower you are on the ladder, the more concrete the idea is:

Figure 1.1 – The ladder of abstraction

Figure 1.1 – The ladder of abstraction

The diagram depicts how you can move on the ladder of abstraction and tailor your message for your audience. Typically, C-level executives want to understand the why and leave the implementation details to their direct reports.

Let's look at an example:

  • Idea: We want to improve our customer service.
  • Elaboration: Provide an omnichannel experience to customers. Customer Service-Level Agreements (SLAs) must be met and the system should facilitate meeting the SLAs. Product development teams need to know the nature of cases coming in to understand where break/fix efforts should be directed.
  • Features: A feedback survey is sent to the customer regardless of which channel they used to contact support. Cases can be created directly from social media applications such as Facebook. The system should be able to store customer entitlements and send reminders and escalation notifications at appropriate times. Product development teams can run reports and dashboards to gauge the nature of cases being opened and the average time spent on resolving issues.
  • Process: The customer can send an email or fill out a form on the website to create a case. That will create a case in Salesforce and assign it to the relevant team using case assignment rules. The entitlement process assists in ensuring that your team is following a methodical process to solve customer cases and are meeting their SLAs.

We have looked at the seven Cs of communication and the ladder of abstraction to tailor our communication so it is more effective. In the next section, we will look at the path to becoming a data architect.

Becoming a data architect

There can be different paths to becoming a data architect and it is hard to define a fixed set of steps to become one, but the following is the path that most people take on their journey toward becoming a data architect:

  • Education: A large majority of data architect jobs require a bachelor's degree in computer science or information technology with a focus on courses related to data analysis, data modeling, and analytics. Internships while studying can be extremely beneficial and help in launching your career as a data architect. A master's degree in business intelligence and analytics can further deepen your understanding of the subject matter.
  • Experience: This is perhaps one of the most important components required to become a great data architect but it can be challenging. The reason is most companies require some level of real-world experience before you get a job as a junior data architect or an analyst. An analogy can be made with which came first, the chicken or the egg? If you don't have experience, most companies will not consider you, and if you don't find work, you won't have experience. This can be alleviated to some degree by doing as many hands-on projects as possible during your college years and getting into co-op programs.
  • Training: Enrolling in training programs that focus on data-related functions can also help strengthen your understanding of the subject matter. Attending training courses or seminars conducted by DAMA (Data Management Association) can provide a good foundation for advancing your career or making an entry into the data field.
  • Certifications: There are many certifications available for data architects, but since this book is mostly for Salesforce data architects, the data architecture and management certification exam can be really helpful in understanding the foundation of Salesforce data modeling and design, managing data in Salesforce, data migrations, and various other data-related topics. I will suggest, though, writing the Sharing and Visibility Designer exam first as it has data-related aspects that can be helpful and will help ease you into broader and deeper topics that are covered in the former.

In the next section, we will look at a day in the life of a data architect.