We are planning to hire a consultant for a Salesforce development project. I am struggling to estimate time for the following project. I think that it should take no longer than 10 hours, but I am not sure. And I would appreciate some insight on how to estimate SF projects.


Final product description:

Name: Dynamic table of events.

The table should include the following fields: "Event", "Location", "Week Day", "Date", "Time". The table should be updated every time there is new event added in Salesforce, or if old event is turned to inactive, then this event should be removed. The web page with the table of events should be dynamic: if there are more events than one window can contain, then the webpage should be dynamically scrolling the table back and forth. The website should be publically accessible.

Implementation components:

  1. Salesforce Custom Object with the following fields: Event name, Event Type (student, staff, faculty and all), Location Campus, Location Building and room, Display Location (what campuses this should be displayed: it will probably require different web pages), WeekDay, Date,Time,PublicView (checkbox indicates if event visible to public). The object will be used in Controller to present data in Visualforce page. Records will be updated and entered directly through Salesforce.
  2. Controller object to operate and provide data for Sites. Records are sorted by dates in ascending order.
  3. Visualforce page with dynamic back and forth scrolling when there are more events than one screen can display. The page should have public access. Visualforce
  4. Sites for three different display locations: 3 campuses. Each campus will >use its own Site to display events related to that campus.

VF page: enter image description here

  • 2
    I'm voting to close this question as off-topic because project estimation is opinion-based, varies based on who implements the project, and generally unreliable. – Adrian Larson Sep 5 '16 at 13:15
  • It is like to say that project planning is unreliable and unnecessary, but still, somehow by miracle as you get more opinions, you get better picture, and people with large experience arrive to the same estimate. Look on this question. I came up with 10 hours, and two other people came to the same conclusion, and provided some tools how to start estimating the project. More than that this question got more popular than many other more technical questions which I asked and they have not been closed. Close if you want, but it is very subjective to your opinion. – vlr Sep 5 '16 at 19:18
  • I am not saying that estimation is pointless. I am saying that questions asking for people to estimate for you or double-check your own estimates are not a good fit for this forum. – Adrian Larson Sep 5 '16 at 20:11

Unfortunately, there's a lot of variables that go into development, so the best you'll likely get here is an estimate that's 25%-400% of what you'll actually end up being billed for.

I'll say this, though. The data model should take 30 minutes to 2 hours, the controller about 1 to 2 hours, the unit tests about 1 to 2 hours, and the Visualforce might be between 2 hours and 6 hours (the UX is usually the largest cost in any project).

So, my estimates are about 4 hours and 30 minutes to 12 hours for a reasonable consultant, with the average being closer to about 8-10 hours. I'd say that your expectations are reasonable.

Keep in mind that if you're not too picky on the styles/design of the page, you can keep your costs down to a minimum and then find a website designer to finish the styling at a lower cost than a developer (many developers are terrible at designs, and many web designers are terrible at programming).

It's hard for a non-developer to even grasp how developers estimate their time. Even many developers with a decade of experience (I won't name names, but their alias rhymes with xfdcfox) tend to miss their mark by as much as 100% of their original estimate. There's simply too many variables to be 100% accurate in most cases.

Your best bet is to get a second opinion (or four). Usually, if you average all the estimates out, you'll find that that's approximately how long it would take.

| improve this answer | |
  • 2
    Perhaps worth mentioning that there is also the productivity multiplier of up to 10x. Hiring the wrong consultant can be very costly. – Keith C Sep 5 '16 at 7:38
  • 1
    I'd concur with sfdcfox's time estimate(s). Amongst the other factors to bear in mind: Is it an estimate or fixed price? Fixed price quotes tend to be higher as the developers/consultants bear the risk of overrunning. Do you want it to run on a custom domain? If so, there's some work to do with certificates and, for a consultant, that can drain a lot of time spent emailing people. Do you want to change the columns in the future? A decent solution would let you do that with no further development. Estimating is hard on both sides! – Aidan Sep 5 '16 at 8:12
  • 2
    This entire problem is why I decided to go for a regular salary instead of estimating averages. I've lost tens of thousands of dollars in estimates because of morals. I'd personally recommend flat rate developers, which are usually more expensive per-hour, because they're more motivated to get stuff done on time and with all the features you want. That said, it's always worth getting a second opinion, because skills are often more important than the hourly cost. – sfdcfox Sep 5 '16 at 8:22
  • It also depends what's in scope. Does the developer have to create a training manual? Who does the UAT? Does a separate sandbox have to be set up for UAT? Who's writing the test scripts/cases? Is there an expectation of a responsive design? What does the client mean by 'The table should be updated every time....'? I'd estimate this work at closer to 20 hours, but there's a lot that's unclear at this point. – Nick Cook Sep 5 '16 at 11:50

Not the answer you're looking for? Browse other questions tagged or ask your own question.