How do I write a software spec?
October 18, 2008 3:17 PM   Subscribe

Is there a standard to preparing a software specification for an outsourced UI designer and programmer?

I have an idea for a piece of web based software, SaaS style, that I could probably write on my own in PHP/MySQL. I have done some software and web design in my days for some custom projects but it is definitely not my specialty, I learned programming on my own and have never done it as my day job. I would love for my app to have an AJAX-y front end but I don't know ruby nor python or any of these other cool languages and I have no reason to learn them when I can easily outsource the project and effectively put together a team. In looking at different design houses, individuals, teams, etc. I have come to the realization that one of the most difficult things in this whole process is going to be getting my ideas across to them- and I would like to shop it around so I can get a good idea as far as price ranges. As a programmer or designer, what do you like to see from a client that immediately gives you a sense of what they are looking for? What can I write up that I can send to these places that will make them go ah-ha instead of scratching their heads? I've come across the terms RFQ and RFP but I don't know if there is some standard I should be going by?
posted by thegmann to Computers & Internet (4 answers total) 6 users marked this as a favorite
Best answer: You want to write a RFP - a Request for Proposals. There is no standard as such, but a RFP will include an overview of the project, teams, goals, and then the functional spec listing required, optional and 'nice to have' features. You would also list any required standards that must be met, and at the end an overview of the criteria you will use to evaluate the proposals.

Before you write the RFP, make sure you are clear on what your software will achieve. Look for a company that really understands your goal and working style.

I found the book, Communicating design : developing Web site documentation for design and planning, helpful.

If you search for RFP website you will get plenty of examples to look at, US governments are required to make many of their RFPs publicly available.
posted by wingless_angel at 4:34 PM on October 18, 2008 [1 favorite]

Best answer: Wingless is absolutely correct. The RFP is the way to go. You then find a few designers/developers who are interested in the work and they will submit a proposal and estimate to get your work done. Expect the scope to creep, so limit it by thinking features through and wireframeing or mocking up as much as you can, and establish how you want to handle the scope creep when you encounter it.

Just as a word to the wise, be aware that offshoring the project or otherwise outsourcing it could lead to your idea being stolen by the developer. Frankly, NDAs are worthless (I won't even look at RFPs that are behind one), but make sure that you work with a lawyer to record the intellectual property so that your rights to it are preserved in case you ever go to court.

When you're evaluating proposals that you've received, keep the contractor's triangle in mind: You can have it good, fast, or cheap -- pick any two.
posted by SpecialK at 5:54 PM on October 18, 2008

Oh, and one other bit of advice: Programmers are sometimes by nature cocky, and are almost always prone to underestimating the amount of time it will take them to implement a feature. Sometimes this underestimation is drastic, and may mean the death of your project no matter how hard the coder works.

The further you break stuff down and the more you consider the chicken/egg cases (i.e. "Add a feature to disable a user without deleting them, but preserving all other information" requires the programmer to add a field to the database, add the features to check or uncheck that status on three separate pages, and then implement some code in the login process to disallow users who are disabled. Listing out something like "Add a disable user feature" doesn't accurately take into account the amount of work that will be required in six different bits of code...
posted by SpecialK at 6:05 PM on October 18, 2008

Response by poster: Thank you both for your answers. @SpecialK I very much like your quote "You can have it good, fast, or cheap -- pick any two." I am definitely going to be leaving my comfort zone in managing a project of this type, so while price and quality are very important, speed isn't. I have seen estimates ranging from $3k to $150k so I'll see what I come up with. I've gotten the don't use an NDA line before- I guess I'll just have to be trusting... there are a few designers though who I am very comfortable with. I am about halfway through "Getting Real" and I am comfortable enough to get on my way now.

Thanks again!
posted by thegmann at 7:56 PM on October 18, 2008

« Older Memorable cartoon?   |   A baby grand piano's too big—do zygote pianos... Newer »
This thread is closed to new comments.