Why and how to keep your Salesforce Org clean of Duplicates

Deduplication-mir-1

Customer data is the soul of an organization. Quality data is priceless and acts as a driver of high productivity and good decision making. Managing Quantity and Quality parallelly has always been a challenge. Same is the case with data now-a days, as the data volumes grew rapidly, the data quality went down, posing a serious challenge in maintaining the sanctity of databases. This challenge of avoiding data duplicity and keeping the orgs clean is faced by almost every company and although it may seem like a trivial issue, the impact these duplicates have on businesses cannot be looked down upon.

All the marketing and service activities revolve around the customer database that a company has.
Duplicates prevailing in a system means:

    • Increased cost for marketing campaigns.
    • Bombarding the same customers with same information multiple times, eventually degrading the brand image in the minds of customers.
    • Reduced Operational Efficiency.
    • Confusion among the sales reps while processing requests.
    • Bad service experience encountered by the clients.
    • Bad Data leads to Badly informed business decisions.
    • Increased challenges in maintaining the database or moving the current system to a new one.

What causes these duplicates:

    • Human error – Sales Rep entering duplicates
    • Multiple sources capturing the same information
    • No instrument to restrict duplicates from entering the system

Some pointers on how you can keep your Salesforce org clean:

    • Think of all the ways the customer data enters your CRM system: Manual customer data Entry by Sales Reps, bulk customer data upload, Automated Lead Sources like web to lead etc. and ensure that you have them all covered to avoid duplicates entering your CRM system.
    • Keep a mandatory field on each Object which handles your customer data, one which is relevant to your business operation like a phone number or an email on Lead. For Standard fields have your tech. team enable Duplicate Rules & Matching rules to avoid duplicates formation and for Custom fields check ‘do not allow duplicates’ so that Salesforce won’t accept duplicity against that field on the Object and sales rep won’t be able to create duplicate records.
    • If your mandatory field is a picklist field, ensure that you enable restricted picklist for that field as Salesforce allow values coming in from external systems other than the field picklist values also.
    • Monitor the data that your CRM system is getting from multiple sources to keep an eye if anything wrong is happening around your data so to handle the situation in time. Generally, companies don’t realize this until they have loads of dirty data existing in their CRM systems and then try to recuperate from the damage.
    • Ensure that you have clean data while uploading data in bulk into your system.
    • Define all your lead sources clearly and distinctly, this can avoid a lot of confusion when leads start to pour-in from multiple channels.
    • Make sure your Sales Reps fill all the necessary customer details in the form and instruct them not to save a half-filled form.
    • Cloning the records should not be a general habit of the team, this leads to human error of saving the cloned records without making relevant changes and thus creating duplicates. You can even disable the Clone button from the layout if you want to.
    • Use standard Salesforce Reports for tracking duplicates entering your system (if any) are essential to your business or not.
    • With large volumes of data coming in your system, some duplicates are anyway bound to enter your database, one way or the other. Use a deduplication tool, this can really make your life easy by keeping your Salesforce org clean of duplicates.

Check out Advitya – The Perfect Duplicate management app for Salesforce. Advitya solves all your data duplicity problems and can save you time and effort in keeping your org clean.

Keeping your Salesforce Org clean is not a one-man job or a onetime activity. It calls for a collective effort and is an ongoing process, you strive to keep your Database clean and perfect which eventually gives you returns in terms of smooth Operations and Profits.

All the best in keeping your Org. clean!!

Posted in AGILE Tools, DataLoader, Learn Salesforce, MirketaInc, Salesforce, salesforce administrator, salesforce customization, Salesforce Support Packages, salesforce Tips & Tricks, Salesforce.com, sfdc, Uncategorized. Tagged with , , , , , , , , .

Best Programming Practices

Any code when written in a clean, easy to understand and formatted way is easily readable and accepted by everyone.

It is essential for everyone to easily understand the code one writes as same projects can involve participation of multiple programmers. For easy identification and understanding of the code and code flow by everyone involved, it is essential that the code is structured, clean, and easily maintainable.

Explained below are some of the practices to write clean and understandable code.

 

Commenting and Documentation

For any software project reliable documentation is crucial. Commenting and documentation helps one analyze what’s happening inside the code. This is very crucial for the one who is examining the code for the very first time. Writing comments for methods or functions is good for understanding its purpose. They can quickly show what a complex function is doing.

However, don’t write unnecessary comments as it would make your code messy. Obvious commenting does more harm than good. Comment should describe only what the method is doing or why it’s written. It can also describe the purpose of writing the program in a nutshell at the beginning of a class or module.

 

Naming Conventions

Adopting a consistent naming convention in your program is always a sensible and thoughtful practice.  It’s a set of rules for picking the character flow to be used for identifier, which signify variables, functions & methods. It makes it easier to understand the purpose of using that variable / function / method. If one’s a beginner, it’s a good practice to give meaningful names to your variables, methods, functions etc. instead of vague combinations of alphabets and numbers. Using camelCase and underscores is a widely popular approach. Use of camel case is to be preferred  as this does not create confusion between salesforce api names and variable names in case of apex code.

 

Consistent Indenting

There’s nothing worse than reading a piece of code that is poorly formatted. Indenting makes your code looks neat and clean. It is easy to understand the flow of program, the link between control flow constructs such as loops and codes written inside and outside of them.

 

Keeping it simple

One should keep their code as simple as possible. Avoid writing complex code for simple logic. Try breaking down your code in multiple methods if the logic is getting too complicated for a single module.

Ideally a method or a function should not have more than 40-50 lines of code, excluding comments.

Modules like servlets, triggers and callouts should not have any logic written in them. All the logical operations should be performed in a helper lass.

 

Portability

It is not advisable to use “hard-coded” values referring to environmental parameters, such as absolute file paths, file name, user name, host name, URLs etc. Else, the application might not run on a host with a different design. An efficient programmer should parametrize such variables and configure them as per the hosting environment outside of the application.

The best way to do it would be to maintain all the required constants in a single file which is easily configurable without making any code changes.

 

Loops and conditional statements

Beware of using loops and conditional statements in your code! Choose right loops at the right place in order to save code’s execution time.

Too many nested blocks of code can reduce code efficiency and readability drastically.

 

Omit unwanted code

It’s very common to find a block of code commented inside the program. It’s not going to do any harm to your program but bloats the code unnecessarily, so try not to keep such code. In addition, since this code is not going to be executed or compiled there is no difference between commenting out and deleting that code. Deleting commented codes makes your entire program looks cleaner.

In case of future necessity of the commented blocks, maintain additional backup along with the code repositories.

 

Do not just copy and paste code

If you have a snippet of, say, seven lines of code that do one thing, and you want to do it again for another module, don’t just copy and paste the code. Instead, make a function and to make it reusable. It’ll keep your code simple.

 

Code versioning

Code Versioning, popularly known as version control, is the management of the changes made to computer programs, documents and other collection of information.

In computer programming, it refers to the process of tracking & controlling the changes made to the source code.

Version control becomes very important especially when working in a big team as this saves additional time that one might require for code merging and also one can easily backtrack in case of errors.

 

Code versioning is to be done for every project using available resources like Gitlab, Github, Assembla, etc.

Posted in Agile, Apex Development, J2EE, JAVA, Organization Culture.

Top Deduplication Apps on Salesforce AppExchange

deduplication-mirketa-1

Salesforce.com has been the number one CRM platform for some time now and its accomplishments as a CRM solution can be described as none less than top of the line. But there are some common issues that all the CRM systems face and which is prevalent in Salesforce as well. Managing Data duplicity is one such big issue.

In this article, we’ll be giving you some insight in some of the top duplicate management apps available on Salesforce AppExchange, which can help you with your dedupe apps hunt for your company. The following five apps have been selected based on their user adoption profiles on Salesforce AppExchange.

 

Out of the box Salesforce Dedupe solution

Every Salesforce org. has this out of the box deduplication solution. Though this one has many limitations and is not a very smart solution, but specific and simple deduplication tasks can be easily done here and that too free. That’s why we gave it the top position in our list.

Key Features:

    • Search up-to 50 records and merge 3 records at a time on Lead, Account and Contact based on the name field.
    • Ability to do a fuzzy search.

Pricing:

Its free. Comes stacked with your Salesforce Org.

 

Cloudingo

Within the salesforce duplicate management apps purview, this app has the most number of customer reviews (216) on AppExchange. This app by Symphonic Source, backs an average rating of 4.8 out of 5 and comes second on our list of the dedupe apps.

Key Features:

    • Merge & convert from a simple dashboard view
    • Auto-Merge, mass merge, or manually merge dupes without losing any important data
    • Mass update & mass delete records
    • Geocode, validate & standardize addresses
    • Cleanse import files before data reaches Salesforce
    • Prebuilt filters or easily create your own to make Cloudingo work for you
    • Drag-and Drop UI
    • Audit trails to track data changes
    • Enterprise API (in/out)
    • Works with standard & custom objects

Pricing:

    • Basic: $1,096/year/per Salesforce Org
    • Standard: $2,146/year/per Salesforce Org
    • Custom: Data quality services & customization starting @ $10000

Discounted for Non-Profits.

 

Duplicate Check for Salesforce

This app by Plauti B.V. has 100 user reviews on AppExchange. Backing an average rating of 4.2 out of 5, this app comes on the third place on our list.

Key Features:

    • Fuzzy Matching finds duplicates caused by misspellings, typos and different formatting
    • Mass Deduplication will find all duplicates, presenting it in a clear report which allows you to merge manually or automatically later.
    • The application is highly customizable and can be configured to fit the exact needs of your particular database.
    • A ‘Duplicate Check Job’ will analyze and dedupe your entire database by your preferences.
    • 100% native force.com – no data transfer is needed in order to find and remove duplicates.
    • ‘Auto Merge’ automatically merges duplicates, possibly saving hours of your time.
    • ‘Duplicate Prevention’ will prevent you and your colleagues from entering duplicates.
    • Both standard objects as well as custom objects can be deduped.

Pricing:

    • Free up to 5000 records + Additional 5000 after sign up
    • Advanced – $ 99 /year
    • Premium – $ 1,499 /year

 

Complete Data Quality Suite

This app by RingLead, with 96 user reviews on AppExchange and backing an average rating of 4.8 out of 5, secures the fourth place on our list.

Key Features:

    • Identifies duplicate Leads, Leads to Contacts, Leads to Accounts, Contacts, and Accounts. Unique Upload
    • Prevent dupes in your web forms. Your fields can be updated without any data loss based on your defined rules. It’s campaign and lead assignment supported. Task/email notifications alert record owners to the attempted dupes.
    • Prevent the creation of duplicate Leads, Contacts and Accounts when uploading lists. The app uses a field-by-field configuration based on your business rules.
    • Unique Entry will seek and display possible dupes in real time.

Pricing:

It’s a paid app. You’ll have to contact them for quotes.

 

Dupe Alerts

This app by d2b International ApS dba, with 70 user reviews on AppExchange and backing an average rating of 4.6 out of 5, gets the fifth place on our list.

Key Features:

    • Mass Deduplication of leads, contacts, accounts and person accounts
    • Dupe Detection upon Entry
    • Phone Number Cross Checking
    • Social Media Matching
    • Integrated Merge wizard(s)
    • Campaign Deduplication
    • Custom Merge Rules
    • Customization of Matching Process
    • Weekly and Monthly Automatic Scheduling

Pricing:

    • Small Business – $750 per year per Organization (for up to 10000 records, pricing varies for more no. of records)
    • Standard – $1800 per Organization/year (for up to 50000 records, pricing varies for more no. of records)
    • Enterprise – $2500 per Organization/year (for up to 50000 records, pricing varies for more no. of records)

 

And although all these apps get the work done, we created a Salesforce duplicate management solution of our own, packing all the best features along with a smooth user experience. We would like to introduce the latest addition in the deduplication app domain, Advitya.
deduplication-mirketa-2
Following capabilities makes Advitya better than all other deduplication apps:

    • Powerful bulk Search & Merge via optimized design
    • Smart Reporting via intuitive dashboard
    • Job Scheduler
    • Exact search based on multiple criteria
    • Deduplication on standard as well as on custom objects
    • Search based on both standard and custom field criteria
    • Choose the master records
    • Choose which duplicate records to merge and which to not
    • Preview screen to verify the ‘to-be master’ record before actual merging is initiated
    • Export the searched duplicates
    • Re-parenting of child records while merging the Parent records
    • Master record field updates while merging
    • Save your searches for future use
    • Native Salesforce.com deduplication solution
    • Intelligent notification alerts on successful merge with the master record details

Pricing:

$50/org/month (no limit on the no. of records)

Discounted for Non-Profits.


Thanks for reading!!

 

**Disclaimer: All the information given here has been taken from the available public information. Please contact the vendors individually for more and detailed information.
The images/logos for Salesforce, Acme Data, Clean CRM, Cloundingo, Data Trim, Dedupe manager, Dupe Blocker, Dupe Catcher, Duplicate Check for Salesforce, Experian Data quality, Sensis Data Solution, OpenPrise, Ring Lead have been take from the respective websites.

 

Posted in Data Loader, DataLoader, Salesforce, salesforce administrator, salesforce certified, salesforce certified developer, Salesforce Challenges, Salesforce Duplicate Records Tools. Tagged with , .

How to succeed with your Salesforce implementation?

Salesforce Implementation and Development

Complexity with Salesforce Implementation starts with different options and terms

 

Earlier this week I sat through a retrospective session for a complex Salesforce Implementation project we just wrapped up. The client gave us the NPS rating of 8.5 out of 10 (which I think is great). However, as we all looked back at the project, the memories of good, bad and ugly were refreshed. And both sides made recommendations on what we as a Salesforce Development Organization and Client teams could do differently next time to avoid some of the pain points.

The retrospective reminded me that there is a common set of learning that apply to any complex Salesforce Implementation project. In this article I am sharing my learning that are based on the projects that we managed and from the learning that our clients have shared with us.  Continue reading

Posted in Salesforce, salesforce administrator, salesforce consultant, salesforce customization, salesforce development, salesforce for small business, salesforce integration, Salesforce Support Packages, Salesforce.com, WEB SERVICES. Tagged with , , , .

Will your Agile Transformation be an Epic Failure?

AgilePicture-2

Image credit: Miranda Kumar (at age 8)

For the last 20 years I have been in the business of helping companies get better at developing software products. I started my career believing that the highly structured processes like CMM Level 5 will magically take care of the software projects woes. After two disappointing years, I moved on to Rational Unified Process (aka RUP). After another 6-7 years of disappointments with RUP the natural progression in my thinking and (coincidently) software development process evolution took me down to the path to Agile. My success with Agile processes has made me a believer in the process.

Unfortunately, many of the teams that start their journey towards the Agile land don’t ever reach there. Across the board I have found some common traits in the teams that failed with their Agile transformation effort. In this article I have shared all of them. Feel free to add more from your experience in the comments below.
Continue reading

Posted in Agile, AGILE Tools, JIRA, JIRA on Demand. Tagged with , , , , .

Infographic: Connecting Products, Services and Operations to Company Vision

Recently we completed an engagement to redesign organizational structure for a mid size product company. The goal for this effort was create new structure to give autonomy to departments and subsidiaries while leveraging a set of shared processes and tools and to connect related products and services for the better customer experience. We have put together a visual of the framework for approaching this product rationalization, process modeling and organization redesign effort. The framework connects the company Vision to Customer Needs, Products/Services and Operational People, Processes and Tools.

This framework can be used for organizational restructuring and process redesign for rolling out new tools such as salesforce.com Sales Cloud, Service Cloud and other CRM products.

Following is the Infographic of the framework. Feel free to use it for your organizational and process modeling effort for initiatives like salesforce.com rollout. Ping me if you have any questions or comments.

 

Value based Business Architecture / Org Architecture

Infographic connecting the vision to customers to products, services and operational people, process and tools.

Posted in Agile, Organization Culture, Process Change Management, process engineering, Salesforce.com.

How To Create Your First Rest Web Service

What is web services?

mirketa-webservices1

 

web service is a piece of software that makes itself available over the internet and uses a standardized XML messaging system. XML is used to encode all communications to a web service. For example, a client invokes a web service by sending an XML message, then waits for the corresponding XML response.

There are mainly two types of web services.

    1. SOAP web services.
    2. RESTful web services.

 

Components of Web Services

    • SOAP (Simple Object Access Protocol)
    • UDDI (Universal Description, Discovery and Integration)
    • WSDL (Web Services Description Language)

 

Soap web services: – SOAP is XML based protocol. It is platform and language independent. By using SOAP, you will be able to interact with other applications designed in different programming languages.
Continue reading

Posted in Agile, AGILE Tools, HTML/CSS, HTTP, J2EE, JAVA, Java Script, REST API, WEB SERVICES, XML. Tagged with , , , , , , , , .

Programmatically Create Select Type Custom Field In Jira

In order to create a custom field type, you should be aware of basic plugin development.

Please follow the following steps to create an advanced custom field type in Jira.

    1. Create a basic Jira plugin skeleton. For creating Jira Plugin please refer to the given linkhttps://developer.atlassian.com/docs/getting-started/set-up-the-atlassian-plugin-sdk-and-build-a-project/create-a-helloworld-plugin-projectAfter creating a Basic plugin skeleton modify your atlassian-plugin.xml and add the following code in your atlassian-plugin.xml.
    2. After creating a Basic plugin skeleton modify your atlassian-plugin.xml and add the following code in your atlassian-plugin.xml. <customfield-type key=”Jira-Cf-Type-field” name=”Jira-Select CFType” class=”com.atlassian.jira.plugin.customfield.JiraCustomFieldType”><description>Create Your Own Advance Custom Field Type</description>                             <resource type=”velocity” name=”view” location=”templates/plugins/fields/view/view-basictext.vm”/><resource type=”velocity” name=”edit” location=”templates/edit- jiraselectcftype.vm”/><resource type=”velocity” name=”xml” location=”templates/plugins/fields/xml/xml-basictext.vm”/>

      </customfield-type>

                                          

      com.atlassian.jira.plugin.customfield.JiraCustomFieldType – class which extends an available CustomField Class to provide an entry point for the custom field.
      Continue reading

Posted in Agile, AGILE Tools, J2EE, JAVA, Java Script, JIRA, JIRA on Demand. Tagged with , , , .

Qualities of a Good Programmer

Programming is a very challenging domain as it requires a lots of patience and concentration. Before learning any programming language, one must have the attitude to not give up till one finds the solution. Programming language is just a way to solve a problem but logical skills and ability to solve the problem are the basic requirements of a good programmer.

Following are 7 essential qualities of a good programmer:
Continue reading

Posted in Agile, AGILE Tools, JAVA, salesforce administrator. Tagged with , , , .

Lightening Process Builder

A quick look at the “Lightening Process Builder”.

Overview

People in salesforce world uses automated processes a lot. We all know that almost each and every CRM of salesforce has a workflow associated with it. Workflow assists in assigning several actions like sending emails, sending outbound messages, assigning tasks to other users and updating fields based on rule criteria and evolution criteria and sometimes based on specified time as well. But to make the automation process easier, a new process came into the picture – “Lightening Process Builder”. This provides a graphical representation of the process a person builds. In other words, we can call it a type of visual workflow.

mirketa-lightening process builder workflow

 

Demonstration:

Following functions are available in “Lightening Process Builder”:
Continue reading

Posted in Agile, Salesforce, salesforce customization, salesforce development, sfdc.