Lessons from the Road Trip to Dreamforce: Estimating Salesforce Projects
There’s nothing like a ~2,500 mile road trip and the myriad hours in the car to reflect on all of the things that get pushed to the back of my mind throughout the controlled chaos that is my reality day in and day out.
One of the interesting takeaways from the trip to this point (now somewhere just outside Denver) was the connection that I made between planning a cross-country road trip to Dreamforce ’11 and planning Salesforce and Force.com projects: My initial plans always seem to be predicated on perfection and an absence of outside influences. After leading hundreds of projects of all sizes throughout my career, I’ve learned to be realistic and rein in this wide-eyed idealism, but it still makes me wonder…why do we tend to be so overly optimistic when planning projects even though we know that there will always be the potential for “unknown unknowns” and other factors beyond our control?
I started pondering this after having my driving momentum grind to a halt when we hit road construction in eastern Nebraska at 1:00 in the morning. First of all, according to my estimates, we shouldn’t have even been driving at 1AM; granted, it took way too long to get our food at the Thai restaurant outside Des Moines, but at the end of the day what I realized was that I blocked out any thoughts of potential delays or unforeseen circumstances when calculating how long it would take to get from our starting point to our destination. In fact, in hindsight, I remember thinking how Google Maps was wayyyy off in its estimated trip duration…and in the end (slow Thai aside), Google Maps was accurate to within 10 minutes.
How could that be? Well, even though Google can’t possibly (at least given today’s technical constraints) take into account every single factor that could influence how long it might take to get somewhere, someone in Mountain View much smarter than myself created a realistic algorithm that took both the known (kids have to pee, cars need gas) and unknown (two cars decide to take up both lanes going the exact same speed of 15 under the speed limit) into account when calculating trip times. Whereas I just took 640 miles and divided by what I thought was a reasonable average speed given my leadfooted tendencies, Google Maps knew that there were many factors to consider, and gave neither an optimistic nor conservative estimate…it found a sweet spot that proved to be remarkably accurate.
Why don’t we think about project planning in the same manner? Why do we, even in a world where Salesforce and the cloud make it possible to complete technology projects in 8 weeks that once took years, still err towards over-optimism in our estimates of project duration? While we don’t necessarily have to take things like weather, potholes, or rubbernecking into account when thinking through a Force.com project, we do have to take into account the variable complexity of dealing with people, processes, and technology. Yet even though I know this through having learned many lessons the hard way in my career, my mind naturally wants to just look a the starting line and the finish line, apply a simple multiplier, and magically arrive at a precise number that will prove correct again and again…just like that isn’t realistic in something as straightforward and discreet as a family road trip to San Francisco, it isn’t realistic in planning Salesforce projects. While our estimating at DI has reached a level of precision that I am very happy with, how do we find that Google Maps-like algorithm that just seems to have a preternatural ability to tell us when we will reach our destination?
Maybe that will be tomorrow’s epiphany as we’re driving through the majestic scenery of southern Utah.
Mike






