views:

226

answers:

4

Some background first, but my question is of a general nature, really.

A prospect client has contacted me about a new website for their business. What they need is a fairly complex job-board type of project with user accounts for employers and candidates, some advertising, forums, CMS features (for articles), CC/PayPal payments (subscription plans), profiles & resumes, etc.

They have sent me a 2 page overview of the project followed by a 6 page "business plan". The whole document gives me a bird's eye view of the project, but there's no functional specification whatsoever (and I figure that it'd be my job to write it) - I have no idea about how many pages (exactly) there will be, how the user interface will look like, if there are data grids - will they be sortable, will there be filtering, how will the search feature look like, what will be the notifications and so on and so on. I think that only by having a specification which shows a mockup of each page along with a description of what happens on that screen and what user actions (and their results) are allowed, one can come up with a fixed price quote & timeline for delivery.

Perhaps it is a notion of wording - they asked for a quote, which I always considered a final offer, whereas at this stage and with the information that I was provided (w/o specs) I could give only a ballpark estimate.

I like Dan's answer to another question. I was already thinking of the same, to propose the client to work hourly on the functional specification, or charge a flat price for the spec which gets paid up front and I will provide a final quote and commit to it only after the spec is finished and approved.

My question is - when is it feasible to provide a project quote? Can you quote before there is a functional specification which describes all application screens? Or would you quote based on a short document which provides a high level description of the application's features (think of bulleted lists), without going into a lot of detail on how they will work?

I know that the client is gathering quotes from various providers, which makes me feel like I want to quote to get the project, because I'm afraid that they will choose someone else if I don't provide a quote and instead lecture them about the importance of functional specifications, but on the other hand I think that making a money/time commitment this way is insane. Which makes me wonder whether it's a problem with me or is my thinking perfectly fine..?

EDIT: The client told me that they are going to gather the quotes in the coming days. This is what concerns me, because I'd like to spend some time talking to them and presenting alternatives - but with the way they put it I don't think there's time for that - but I don't want to give a quote for something that is not scoped yet. The overview I got is fine, but is not enough to build an application based on it, in my opinion. Should I perhaps just tell them this? I am fairly certain there will be someone who will send them a quote even if they did not provide a specification and had no time to do thorough analysis, so I may loose this project and am wondering whether it's good or not. There are more prospects like this, I happen to get such requests from time to time, you can't expect everyone to be well versed in software development, after all they have nothing in common with developers, it's just that we provide software solutions to solve business problems in other industries.

+1  A: 

Sounds like typical client, that has absolutely no idea of software engineering, so you can't really expect a “real” specification from him anyway. Collaboration with that type of client sometimes can be real pain in the …

On the other hand the project you describe also isn't anything unusual, so for the quote you could assume that features they describe will be implemented the usual way. Of course include safety margin in the estimate.

vartec
+1  A: 

In most cases the client is happy to provide you with additional information, if you phrase the questions right.

I would suggest in this situation that you write up your assumptions about the project, detail the most significant questions and provide them the alternatives that you think are feasible. Another step further would be to give estimates for those alternatives, and give the customer a choice in matter.

All in all I would suggest you sell them the project in several steps, each paid for at the completion of that sub-project - that way you can both anticipate the future amount of work in the subsequent steps, and possibly re-scope it once the client realized they are not willing to pay that much for a lot of unnecessary features.

Jukka Dahlbom
A: 

You could give them a quote to develop a spec, which would then be used as the basis for a quote on the project. They may balk at the idea of paying for you to write a spec, in which case it's likely to go over better if you offer to apply some or all of the price of the spec against the final project cost. (Basically, you'd end up doing the spec for free or at a reduced cost if the project ends up being completed, otherwise, if they cancel the project or hire someone else for it, then you're at least not wasting your time for nothing.) But this probably isn't feasible, given that they're apparently trying to get things going fairly quickly and wouldn't want to take the time for you to write a spec first.

The alternative, then, is to submit a quote based on your impression of what's normal for the type of project they want done along with a fairly detailed proposal and try to make it clear to them that your proposal will be treated as the full spec for the project. When they ask for something that's not in the proposal, you'll have to make the decision of whether you want to count it as implicitly included in the spec or instead to tell them that it's out of scope, but the important thing is that, once you've implemented everything in the proposal, the project is done because, whether they still want more or not, you've completed the spec and given them everything you said you would do at your quoted price.

Obviously, the first option is better for everyone involved, but there are times when you have to go with the second. It sounds like this may be one of those times.

Dave Sherohman
I like the idea of applying the price of the spec against the final project cost. Since this particular project would be taking a few months to finish I might be even willing to create the spec for free if I get to work on the whole website. And if not, then I still win. Good suggestion.
Pawel Krakowiak
+1  A: 

When is it feasible? Depends on you. Some people have no estimating skills, while others can make a pretty good one based on 2 words and a gesture. A trick of the trade is being able to make estimates, and then being able to make the project come in on that time table.

Of course in most cases, especially for any large project, I would be charging by the hour. Give the client as detailed as possible "this is what I'll do" spec sheet, updated whenever possible in the early project, along with how much time it will take and how that works out in billable hours.

This also has the affect of cutting down on clients attempts to add extras to the project and expect it to come under the original cost/timeline.

David