Sometimes even the simplest things need a plan. Very often though we find ourselves just jumping right into something without seeing the bigger picture first. Little thought goes into how or why we are doing it. That is great when it pertains to something like putting on our shoes and going for a run, but jumping into something without a plan when it will have an impact on how our Salesforce org will work in the future, well that’s never a good idea. For instance, training for a 5k when you have been running for years seems simple, but we all know when it comes to a marathon you have to strategically plan your training and follow a routine. So why would you want to jump right into creating a custom object without giving it some thought and planning first? It seems simple- give the object a name, add some fields that you want your data to be stored in and click save. Instantly we have a custom object created, but will it stand up to the test of time?
Like running, you have to evaluate what the overall course will be. Sure, you can head out the door and just run but are you ready for the hills or the uneven pavement? Much like planning a running course, you need to know where your data is going. How will the data be used once released to the end user? Many considerations should be made before creating new fields in a custom object. Just because the data is coming from another system into your Salesforce org as a numeric, doesn’t always mean that the data should be stored that way. A lot people underestimate the data analysis stage. Looking at your data is key. You wouldn’t go for a run in flip flops and expect to go far. Much like data, you wouldn’t put numeric data into a text field and then not expect to do a lot of coding to convert it back to a numeric to do calculations. Laying your idea out on the drawing table will save a lot of frustration later down the road.
Before starting out for a run, you have to consider many different factors such as weather, what to wear and how far you are going to go. Much like the preparation for a run, data should go through the same considerations. One factor to consider for instance, will the data be used for reporting? The first step to knowing if the data will work for you is to have a clear understanding of how reporting works. The next step would be to understand the who, what, where, when and how in order to determine the needs of the report, which will take asking the right questions of your users. I have never met a marathon runner that did not ask first what the course was like before beginning training. Asking those critical questions for clarification will save hours of rework once you begin executing the plan.
Once the plan is in place, the next step be would be to start creating fields. Field types are just as important as picking the right running shoes. If you pick the wrong shoes, it is hard to go back & change them in the middle of a run. Picking a wrong field type can cause some discomfort also, especially if there has been any coding, validation rules, workflow rules, etc. written already. Salesforce will not allow you change field type if the field has been referenced in code. You will need to have your developer comment out code and sometimes even delete references in order to make the change. This can be as painful as getting a blister with the wrong shoes. Before creating a numeric field, I like to ask my clients a couple key questions like: Are there leading zeroes? Will there be a decimal? Do they need the data returned in currency fashion? Sometimes asking the obvious will save you from hours of fixing your work and reloading data.
When creating a new custom object, there are many things to consider and questions to be asked. Much like running a marathon, you need to take the time to prepare, plan and analyze the course of action that it will take to complete the race. The same thing goes for creating a new custom object. Having a detailed plan and completing critical steps in the process such as data analysis, will ensure you create new custom objects successfully. Data can be tricky, but let SparkOrange help guide you in a direction that best fits your needs.
Jenn O’Neill is a Senior Salesforce Developer at SparkOrange. She is a seasoned Salesforce developer with over 20 years of experience in development, including industries like finance and healthcare. She holds 6 Salesforce certifications including Platform Developer I and Advanced Admin. When not tailoring development to create a custom experience for clients, Jenn likes to run and train for races in various cities around the country.