Happy Easter Everyone!
I hope you are enjoying a long weekend like myself, taking a little time to recharge, seeing friends and family, and getting out in the fresh air! Over the last month or so I have been working on converting my garage into a home office, it been a really interesting project for me as I’m not particularly handy when it comes to DIY and found it quite a challenge. I finished last weekend and over the last week I have been considering what went well, what didn’t go so well, and what I would do differently. Following this thought process also brought me the realisation that a lot of these points apply equally to any Salesforce project. Here I will list my top 5 lessons, hopefully, they will provide useful for you.
1. Know Your Outcome
I had a really good understanding of what I wanted from the office as I spent a good amount of time beforehand thinking and planning how it would be used, who would be using it, and how often it would be used. These 3 questions helped me put together a requirements list that I worked to, every time I completed a phase I would reassess to make sure that I was on track to fulfill those requirements. These requirements also became extremely useful before I started the next phase as I was 100% clear on what was to be accomplished and could create a more organised action plan. Having a clear outcome is like having a North Star, you always know the direction that you need to be going in, so when you do end up off course, knowing the end outcome allows you to adjust and get back to where you need to be.
This simple step really stuck in my mind, when we start working on projects how often do we really know the desired outcome, the North Star? Not the requirements such as build X, configure Y or automate Z, but the actual purpose of the work that we are carrying out. I know in the past I have sometimes lost sight of the forest by focusing on the trees and I will do my best to ensure that I always have that explicit outcome in my mind for any future work that I carry out.
2. Create A Plan
One of the biggest contributing factors to the success of the project was that I broke it down into phases, into short sections of work that I knew I could tackle. While there were some dependencies e.g. I couldn’t board out the walls without first insulating them, the majority of the sectors could be tackled separately depending on the weather or the amount of time, or resources that I had. This allowed me to make progress every weekend and some weeknights, when the weather was bad and I couldn’t work on the outside then I simply tackled one of the jobs inside. The phases did provide a rough map of where to I needed to go and what I needed to do but as we all know, the map is not the territory so I needed the flexibility to adjust.
At times I have been guilty of oversimplifying a project's requirements and thinking “this should be a fairly quick fix, I’ll just crack on”. What often happens is that additional requirements are brought in, the original requirements change, or I am required to help out on a completely different project with a different product and before I know it when I come back to the original project I’m unclear as to where exactly I left off. Also if I need to hand it off to someone else either because it is out of my skill set or time constraints then without the correct documentation or plan it can become a bit of a muddle. From now on I will make sure that I have the appropriate documentation to counter this situation.
3. Prepare, Prepare, Prepare
One task I had was to waterproof the garage, when it rains there was a tendency for the inside to turn into my own private pool which is less than ideal when you have a large amount of electrical equipment around. As I started to weigh up exactly what needed to be done I quickly realised that this would be the most time-consuming part of the project, however, it was also the most important. In order for the sealant to take hold and prevent any water ingress the area needed to be clean and free from any debris, this required a full day of being on my hands and knees in late February scrubbing with a wire brush underneath the concrete sections. The weather was freezing and I can’t tell you how many times I bashed my ice-cold hands a let out a few choice words but it was worth it. There was one area of the garage that I didn’t do a great job on, I got lazy and annoyed so only did a half-hearted job. After carrying out my first run of waterproofing everything looked good on the areas that I had prepared correctly, however, the section that I didn't do my best on didn’t look so healthy and on further inspection, I could pull the sealant away with relative ease. This meant I had to pull it out, prepare the area fully, and then redo my work.
A huge lesson for me was just how important preparation was for this project, so again, how would this apply to my Salesforce work? Quite simply really, my grandad always used to drill into me “measure twice, cut once” and I have stuck to that ethos throughout my life. There are times when I deviate from it and they have always come back to bite me in the butt. In the future before I carry out any work I will make sure that I have all the relevant information that I need and that I have carried out the appropriate groundwork, this could be interviewing the stakeholders in more depth, spending more time really working my way through each and every field regardless of how obvious they seem to be, and combing my way through all of the automations present in an Org before simply building something new.
4. Use The Right Tools
The inside of my garage is boarded out with OSB3 Structural Grade Boards, sounds very fancy but they are the most cost-effective timber sheets that I could find that would do the job to the standard that I required. These boards are tough as nails, and I spent hours trying to use my own cheap power tool to try and fix them to the wall, after a couple of hours of sweat, tears, and tantrums I decide that I needed to work smarter and use something more powerful. A quick phone call to my closest friend resulted in the use of his Makita Impact Driver, what a beast! Between us, we put up double, possibly triple the number of boards in half the time with a fraction of the effort.
I think we all know the feeling when you’re considering the best solution to a requirement and you're trying to nail down the best possible plan of action, I myself have been in situations recently where I have been struggling to try and build a solution with the skill set that I have. I spent hours and hours researching, creating, and testing something and just couldn’t get it working. There was no way that I could do it with declarative programming, I needed to use Apex. Unfortunately, that is out of my skill set but a quick conversation with my colleague resulted in a completely custom solution that not only solved the problem but exceeded the requirements, all those hours spent trying to use a tool that couldn’t quite do it when my colleague was able to solve it relatively quickly using his tools and did a much better job than I could've done.
5. Don’t Be Afraid To Ask For Help
As I mentioned before, I'm not the handiest of DIY’ers and I know my limitations (I can’t cut straight!). With that in mind, I asked my friend for help and once again he rose to the occasion and help cut all the timber that I needed, following on from that he became engaged in the project and helped me complete everything. He’s much better than me when it comes to this sort of thing so his help was a welcome addition and sped the project along a lot quicker. He used little tricks to keep boards in position while fixing them (especially useful for the ceiling ones!) and had the experience to know what would work and what wouldn’t.
Almost a follow on from the previous point, don’t be afraid to ask for help. There is no single Salesforce Professional that knows all the answers, even the most prolific CTA’s will have gaps in their knowledge, if you don’t know something ask for help. Not only will it speed up your project but you will learn something along the way and gain an insight that you didn’t have previously.
So there we have it, my top 5 lessons learned from my garage/home office conversion. I could spend hours diving into what I have learned from this project and if there is enough interest I may expand on the points in a mini-series, let me know what you think!
Have a great weekend, and see you soon!