Fog Creek Software
Discussion Board




Spec template for inexperienced customers?

Here at Mitch & Murray we do a fair amount of consulting jobs in addition to our shrink wrap software bidness.  I'm sure there are many software companies just like us - probably most of them.

The problem we have is that our particular vertical market is comprised of end users rather than developers (makes sense I think) that frequently have a very difficult time working up a reasonably complete functional spec for the particular bit of work they need done.  Instead we rely on a series of informal email communications and phone calls, and of course when the project goes astray, we are the ones who eat it and make it all come out right at the end.

QUESTION: Has anyone come across a simple Technical Function Specification guidelines and perhaps something like an MS Word template, so when we get a live one we can say "No problem, read THIS and fill THAT out"?

If not, other bright ideas are welcome.

Mitch & Murray (from downtown)
Thursday, July 31, 2003

good question.
Not long after I started out I was looking for something similar but never had much luck.

The problem seems to be that requirements are just so....different..from place to place.

FullNameRequired
Thursday, July 31, 2003

The best idea that I can come up with for this is to create a simple "Chinese-Restaurant style Menu" full of any possible features that your platform can provide.

You can also have an area to enter newly requested features that you can then farm for new features to add to the standard menu.

The challenge then is anticipating what your customer's are likely to want, and then wording it in lay-men's terms.

Wayne
Thursday, July 31, 2003

Mitch... yes these things exist, but they'll get so screwed up that nobody will know what they're asking for anyway. Maybe you should hire a full time proj. mgr. to get the specs from the customers.

Drop me a line if you're interested in some templates I might have.

www.marktaw.com
Friday, August 01, 2003

Mitch, you can look at the Word templates at http://www.processimpact.com/index.shtml (click on the "Goodies" link). I tried their the functional spec template once and didn't like it, but perhaps you can modify it for your needs.

Nick
Friday, August 01, 2003

It seems to me like you're looking for something you can give to clients, have them fill out, and work from.

IMHO, ain't gonna happen.

If you have a customer that doesn't understand what a spec is, then YOU write the spec. You interview them, ask them questions, ask for sketches, samples, existing code and data, and you draft a spec - then you walk them through it, make changes (JAD sessions), and when both sides are agreeable, both sides sign it.

[through this process, you might can give a little feedback on the size of the job to try to alleviate sticker shock at the final proposal - "This is a pretty big job we're talking about..." etc]

Then you draft a proposal from the signed spec.

Philo

Philo
Friday, August 01, 2003

I recommend the concept of "paper prototyping" when speccing out a project for end users.  Paper prototyping gets around the problem of end-users not knowing what they want until they see it.

Check out these links for more info:

http://www-106.ibm.com/developerworks/usability/library/us-paper/

http://www.amazon.com/exec/obidos/tg/detail/-/1558608702/102-2968637-7066531?vi=glance

Matthew Lock
Friday, August 01, 2003

saw one at construx.com, might wanna check that out.

Prakash S
Friday, August 01, 2003

The construx stuff is off the main menu option CX_One, under which (near the top) is a link to templates (also links to checklists, patterns). The spec stuff is near the end of the templates page.

--I have no idea if the material is any use--

Joel thinks not - there is a disparaging comment and a link in his essay about specifications.

I thoroughly recommend reading the Steve McConnell book Rapid Development (and possibly also Software Project Survival Guide, which is where the CXOne stuff comes from).

The Chinese menu idea sounds interesting, particularly if you include prices and dependencies. I'll have No. 43 - HTML/CSS front end with a spring roll please.

Justin
Friday, August 01, 2003

I doubt a spec template will help you. The templates generally focus on the format, rather than content. Lousy requirements formatted accroding to a template are still lousy.

If your projects run into similar problems I would suggest building a checklist of issues you'd like to see addressed in the spec. If you know what the common hangups are, make sure you ask the customers "Have you thought about X?"

Finally, you should consider creating a process to involve customer as early as possible, XP-style.

igor
Friday, August 01, 2003

Philo said: If you have a customer that doesn't understand what a spec is, then YOU write the spec. You interview them, ask them questions, ask for sketches, samples, existing code and data, and you draft a spec - then you walk them through it, make changes (JAD sessions), and when both sides are agreeable, both sides sign it.

I agree, but in my experience, the ones that know they need to do this and to pay for it generally don't need a lot of help getting at least the draft ready. The rest either don't understand the need for it or think I should do it for free before they select me as the contractor. There are also many who insist on a fixed price quote for the whole job before sitting down to do the spec.

I'd be happy with a template that, in principle, could be used to generate the first draft of the spec even (especially?) if simply looking at it scared some of my potential customers straight :)

Ron Porter
Friday, August 01, 2003

The problem I run across time and time again is that the client doesn't *know* what they want before-hand! (This of course happens more often with people who are less experienced with computers).
The best situations (the ones where what we talk about and spec beforehand is pretty close to what they really need) arise when the client has used other, similar software before in previous jobs or companies. Then they have a context for understanding, and can tell you what they liked and what they didn't like.

The way I see it, though, is that this is one of those problems that can NEVER be easily solved with just a spec template (although it might help a little -- but only if the client knows what they really want). It's part of the job -- and it's one of the most interesting parts; blending computer/technical stuff with people/communication stuff. I have definitely learned to appreciate the challenge.
Good luck!

Jordan Lev
Friday, August 01, 2003

Mitch & Murray wrote, "The problem we have is that our particular vertical market is comprised of end users rather than developers (makes sense I think) that frequently have a very difficult time working up a reasonably complete functional spec for the particular bit of work they need done."

Please don't take what I write here as a personal attack on you.  Being able to find paying customers is always job #1 and if you can do that on a consistent basis then everything else is learnable.  Now having said that, it sounds to me that when it comes to the consulting side of your business you don't know what you are doing.

Contractors are hired guns. Consultants solve problems.
If you want to improve the consulting side of your business than you (or your partner) are going to have to evolve from writing code, to creating architectures, to working with clients on the business side of software development.  The evolution that I am talking about is moving away from a heads-down, small-details view of software development to a wide, big-picture view -- and, typically, from a smaller hourly rate to a higher one.

Mitch & Murray wrote, "QUESTION: Has anyone come across a simple Technical Function Specification guidelines and perhaps something like an MS Word template, so when we get a live one we can say "No problem, read THIS and fill THAT out"?"

Besides the websites mentioned by previous posters you might find a generic template by:

* Asking the technical writers who hangout at the Techwhirl forum.
* Searching Usenet
* Doing a Google search. You might find a something from the IEEE.

Keep in mind, that if Mitch & Murray, Inc. always requires its clients to write the specifications then your company really isn't doing consulting work!

If you really want to learn how to do requirements gathering, requirements writing, and requirements management you can:

* Read some books.
* Take a class.
* Pay someone to mentor you.  <===  The most expensive, but best option

One Programmer's Opinion
Friday, August 01, 2003

Ron wrote:

"The rest either don't understand the need for it or think I should do it for free before they select me as the contractor."


I've done very little consulating work (in software at least). However, just had two companies approach me about that.

I explained that the spec was like a set of house plans (blueprints).  You pay an architect to help define the house that will meet your needs.

It is a tough chicken-egg question. But if they are SERIOUS about getting the software written, the client is probably willing to pay a bit up front.

Entrepreneur
Friday, August 01, 2003

*  Recent Topics

*  Fog Creek Home