Job Seeker Site Time Estimation

Express the business side of your digital lives. Share your experiences and/or your comments regarding a business or organization.

No advertising.

Moderator: General Moderators

Post Reply
User avatar
volomike
Forum Regular
Posts: 633
Joined: Wed Jan 16, 2008 9:04 am
Location: Myrtle Beach, South Carolina, USA

Job Seeker Site Time Estimation

Post by volomike »

Do you think if someone were to ask you to spend 7.5 weeks dedicated full-time on a job seeker site, written in PHP/MySQL on Linux, with the following features, you could knock it out? To me, when I wrote out all the details and obvious rules, it was looking like 14 weeks wouldn't even scratch the surface.

Features:
(Oh, and by the way, there's nothing new under the sun here. This is your typical job seeker site when they first start out. You could probably predict much of this.)

- Shared hosting initially, VPS hosting later, eventually parking in dedicated hosting. I wish we could start in VPS and then quickly move to dedicated once it is proven to be necessary (which probably wouldn't take more than 4 months) -- however, the client is not yet convinced.
- Geared for employer and candidate as well
- Employer Profiles
- Candidate Profiles (acts as resume)
- Jobs (only jobs in the UK)
- Posting jobs has a fee and it's run through paypal. If transactions fail, people get an email and must try again or contact an admin.
- Coupon codes to post jobs for free but only tied to their user account and only up to 2 months.
- Favorites feature -- bookmarking candidates or jobs
- Fast Job Search + Proximity Search, using MATCH/AGAINST SQL syntax in MySQL for now, replacing with Sphinx and VPS (and eventually dedicated) hosting later
- Interview Invitations (and the management of that)
- Job Applications (just a comment + contact info + profile link sent to potential employer)
- Email alerts to employers and candidates with links to complete tasks, such as accept an interview, or notification that an interview was accepted by a candidate.
- Lots of rules -- like something can't be done before something else is done, or certain people can't access certain areas until they jump through a certain hurdle or login as a particular user type, or how stale data is expired but still reusable again later, or how really stale data is deleted off automatically, or how old accounts are deleted automatically (after prior warning), and so on.
- AJAX/jQuery functionality on some tasks
- Typical Admin Site for managing this
- Admin email alerts on problems detected


I mean, realistically, sites like these take a couple years to build, and a large staff, and have like VC funding -- right?
User avatar
onion2k
Jedi Mod
Posts: 5263
Joined: Tue Dec 21, 2004 5:03 pm
Location: usrlab.com

Re: Job Seeker Site Time Estimation

Post by onion2k »

I could do that lot in 7.5 weeks. Most of it is actually very straightforward. The only things that would take time are the Paypal integration and the proximity searching for jobs. Small caveat for what "Lots of rules" actually comprises of, of course.
User avatar
omniuni
Forum Regular
Posts: 738
Joined: Tue Jul 15, 2008 10:50 pm
Location: Carolina, USA

Re: Job Seeker Site Time Estimation

Post by omniuni »

It doesn't seem terribly unreasonable; so long as you're decent with databases.

(I am not good with db's, but I suspect that if I had a week where I was getting paid to learn them I could!)

If they need something up FAST, maybe suggest some sort of "beta launch" with the necessary features, slowly introducing non-critical ones like AJAX and bookmarking as you approach a final release.

Good Luck,
OmniUni
User avatar
jayshields
DevNet Resident
Posts: 1912
Joined: Mon Aug 22, 2005 12:11 pm
Location: Leeds/Manchester, England

Re: Job Seeker Site Time Estimation

Post by jayshields »

I find it hard to predict project time estimates. Projects I've done in the past either didn't have a scheduled finish time, or it was way longer than I needed and I've never been paid per hour for a project.

When I am coding I get "in the zone" for an hour or two, and then might not do anything for the rest of the day. If I was in a 9-5 job getting paid a salary I reckon I could achieve something like that pretty easily in 7.5 weeks. Don't forget that 7.5 weeks 9-5 is over 260 hours of work. I don't think I've ever done a project that's taken more than 30 hours of actual work.
User avatar
califdon
Jack of Zircons
Posts: 4484
Joined: Thu Nov 09, 2006 8:30 pm
Location: California, USA

Re: Job Seeker Site Time Estimation

Post by califdon »

Disclaimer: I have only done some pro bono PHP/MySQL web sites for nonprofits, only a couple of which are really complex. But I have done other database consulting work for many years and have what I think is a pretty good handle on job estimating.

If you are skilled in the basic languages (HTML/CSS/Javasript/PHP/MySQL), I would think it shouldn't take as long as 7.5 weeks. But if you have to learn new skills as you go along, it could take a very long time! The very first thing I would do is schedule several project planning meetings with the client. It is absolutely essential that they commit to what the features will be, in substantial detail, before you ever begin coding anything. In writing! Creeping specifications will kill you, no matter what your schedule is or your skill level.
volomike wrote:I mean, realistically, sites like these take a couple years to build, and a large staff, and have like VC funding -- right?
I don't think so. I think you described a relatively complex, but not at all unusual web design. I didn't see anything in your description that would be all that difficult, there's just a lot of tasks to be organized, coordinated, and carried out. It would certainly take a couple of hundred hours, perhaps more, but I don't see it as a major project.

Anyway, that's just my assessment.

Edit: Oh, and as to the server considerations, you might point out to them that migration to another level of server configuration requires manpower and that they would actually save money by doing it once, upfront, rather than paying you or someone else late to handle all the little gotchas that arise when you re-situate an application in a different environment.
matthijs
DevNet Master
Posts: 3360
Joined: Thu Oct 06, 2005 3:57 pm

Re: Job Seeker Site Time Estimation

Post by matthijs »

I've never done big projects like this, so I can't say anything about the estimation. But my experience with smaller projects is that a lot will depend on how specific everything is planned up front. As Califdon said. Even with small projects, the problem is often that the client is only describing in general what they want. Making an estimate on vague descriptions is difficult. And with no precise feature descriptions, feature creep and/or feature changes will happen. And then in the end when you don't meet deadlines you are the one who is blamed.

So if the client is unsure about the exact needed features, you can take initiative yourself by writing down exactly what you can do in those 7 weeks, discuss that with the client and let them sign for that. Again, I have no experience with bigger projects but this is what I do sometimes with smaller projects.
User avatar
volomike
Forum Regular
Posts: 633
Joined: Wed Jan 16, 2008 9:04 am
Location: Myrtle Beach, South Carolina, USA

Re: Job Seeker Site Time Estimation

Post by volomike »

It's a black art, this estimation stuff. About the best you can do is create a 50ft functional spec out of whatever you're given, try to do some wireframes in pencil and scan them in, ship it all to the client for several revisions until nothing is assumed and everything is laid out on the table. You then have to compare tasks to journal notes on your previous projects. In general I'm usually 4 hours per component + 12 hours db design + 5 days XHTML theme integration + 2 weeks testing/fixing + 2-3 weeks on the admin site. But on large projects, the margin of error varies wildly. It also sits in your head on a large project -- if you don't drive yourself hard each day, you tend to relax and think you have a lot of time.

The client is now considering this a 14 week project and dedicated hosting. The 50ft functional spec was a great help for him to see the fine details that eat time, and he's revising that to send back to me for a last check on hours before we proceed.
matthijs
DevNet Master
Posts: 3360
Joined: Thu Oct 06, 2005 3:57 pm

Re: Job Seeker Site Time Estimation

Post by matthijs »

50ft. Is that literally 50 feet of paper filled with specs?
User avatar
volomike
Forum Regular
Posts: 633
Joined: Wed Jan 16, 2008 9:04 am
Location: Myrtle Beach, South Carolina, USA

Re: Job Seeker Site Time Estimation

Post by volomike »

matthijs wrote:50ft. Is that literally 50 feet of paper filled with specs?
Not at all. Imagine standing on a cliff about 5000 feet up, looking down. That's kind of the perspective a lot of my clients have about web development, systems decisions, and technical stuff. Most just know XHTML and CSS to a tremendous degree, and often have search engine optimization (SEO) and affiliate marketing (AM) skills. So, when they write for me a rough functional spec of components they want and bullet points underneath, along with screenshots, wireframes, and often about 10-12 emails with, "Oh by the way, I want to add this..." type stuff, that's your 5000 ft functional spec.

However, that functional spec is a good start, but should never be the thing you build from because you know what they say about assumptions -- it makes an (other word besides donkey and which are the first three letters of assumption) out of you (thus -u-) and me. (Perhaps that doesn't translate from English into Netherlands-speak?) So, anyway, I then rewrite that into a 100 ft spec to kind of know where we're going. And then I rewrite into a 50 ft spec if we have time, and this is where the client sees every detail and can cross out items, revise them, and so on. I then take that and build the final spec and then start the app -- that is, if I have time. And on $20,000 projects that take several weeks to built, it's pretty critical to get that right especially from the start.
alex.barylski
DevNet Evangelist
Posts: 6267
Joined: Tue Dec 21, 2004 5:00 pm
Location: Winnipeg

Re: Job Seeker Site Time Estimation

Post by alex.barylski »

If I used my framework...and design/XHTML/CSS was provided...absolutely.

It would take about a week to hammer out the GUI on paper and get a rough prototype. From there I would work on the models/business logic which would be easily handed off to others and later integrated into the application. 2 weeks if there were two of us.

Job proximity search...using Google maps??? Whenever you added a business you could have Google geocode the address into a lat/lon pair and visa-versa for the employee. Distances are easily calculated.

All the other little features (bookmarking, etc) would take maybe another week or two and voila finished system.

1 + 2 + 2 = 5 weeks

But I would go with the 7 weeks to cover unexpected "features" bugs and hiccups...

Years...absolutely not...2 months is plenty of time...
User avatar
volomike
Forum Regular
Posts: 633
Joined: Wed Jan 16, 2008 9:04 am
Location: Myrtle Beach, South Carolina, USA

Re: Job Seeker Site Time Estimation

Post by volomike »

Hockey wrote:...I would go with the 7 weeks to cover unexpected "features" bugs and hiccups...
Hockey, on most my projects, I do them quasi-fixed bid. I mean, I estimate and say, "Yeah, I think it will be about 2 months and here's a 50ft functional spec for you to review that explains why. You can edit or drop out items and it will change my time estimate. However, note that we don't have a crystal ball here, and sometimes there are gotchas where something we assume in a functional spec just doesn't work out like that." However, on a couple projects in my past, I've been off by 30 days. Ever been there? It's not fun. It means I have to cut my rate in half and try and beg for that rate for 30 more days, or, if perhaps I've already received $12,000, I finish the last 30 days for free and hang up on all my bill collectors until I can get another gig to undo the mess. Not fun! So, the closer I can get at being more accurate, the better.

Actually, I'm lucky that this client is such a nice guy and we communicate well. He also takes very realistic views on things, not taking an armchair view that all website projects should take no more than 1.5 months to do. Soooo many clients out there think everything can be done in 1.5 months! Also, some clients I've had seem to think they can be vague on a bunch of stuff and I can just review old spaghetti code they had, figure everything out, and just make their little day -- and too often that just doesn't happen.

In general, very large projects are uncool for ANY freelancer to estimate and they must be done with extreme care. The larger the project, the more the time estimate can be wildly off. I try to encourage my clients to think of the project in phases, or to grow a site's features organically as users suggest them or it becomes glaringly obvious, but often most clients aren't motivated to that reasoning for some odd reason. They often want to go for the whole thing. By using phases or growing something organically, it helps one come up with a better time estimate. The drawback to phased and organic approaches is that you can sometimes, if you're not careful, end up with bandaided approaches that create spaghetti code, requiring a rewrite later on down the line.
User avatar
ghurtado
Forum Contributor
Posts: 334
Joined: Wed Jul 23, 2008 12:19 pm

Re: Job Seeker Site Time Estimation

Post by ghurtado »

I did freelancing full time for a few years and I can assure you that quoting and estimating time is probably one of the hardest parts to get right. Because it wholly depends on how fast you work and in what fashion, there is very little good advice out there that can help you get better other than your own personal experience. Even the same exact project on paper can take twice as long with different clients.

My first advice would be to never give ballpark estimates at a first meeting. It can be hard when the client asks you directly (and many will), but you could be putting yourself in a hard spot.

My second advice would be to never price anything out that will take more than 3-4 months to produce. If the project is very large, break it down into phases and price them one at a time. At most, price the first two phases of the project. Once you are done with phase one, you may have a very different idea of how the rest of the project should be quoted.

My third advice will be to ALWAYS keep track of your time. Do this religiously and for your own benefit. Once I got into the habit of tracking every last minute spent on a project along with comments (timesheets), two good things happened:

- I became much more directly conscious of where time goes while I am working on the project
- I got much better at quoting future projects

My final advice: when you see projects like this one, vastly larger than what you are used to, try to avoid feeling overwhelmed and realize that you have "graduated" to a certain project size, feel proud of yourself and face the challenge with a determined grin! :)

Best of luck,
Post Reply