About to Outsource... Hows my Requirements Document?

6 replies
Ok so i am about to outsource...

I am not a web developer. I am sure many people have outsourced here and just wondering how to help make sure i have less issues. Considering i can not speak in web developers terminology all i can do is speak of what i want and how i want it to operate.

My requirements page looks something like this:

* I must be able to create Listings
* Users must be able to Create Listings- They will not automatically be listed-- I must approve them first.
* I must be able to manage all listings in back end
* Pictures and Videos must be able to be uploaded to ads.

On the registration page and ad creation page, Most will be done by drop down boxes... These must be put into a searchable database.

This Search database must be able to search every specific field created in ads and user profile.

He asked me to describe overall flow and requirements in document but im finding myself come up short. I have more requirements but wondering how its going so far?
#document #hows #outsource #requirements
  • Profile picture of the author jonhel
    Well done for making a start on this. Most people don't spend enough time and effort documenting their requirements and it's a big mistake!

    A lot of projects that come my way are for websites where the developer has abandoned the project, leaving an unfinished site and I'm certain that in a lot of cases, it's due to insufficient information from the client.

    Perhaps you could sketch out what you expect of the site navigation and a rough page layout?


    Warrior For Hire - Freelance web developer/troubleshooter/fixer etc. - Affordable website help

    {{ DiscussionBoard.errors[4558281].message }}
    • Profile picture of the author warriorforum101
      i actually made screen shots of everypage is full color non distorted .bmp pictures it took almost a month, its difficult to puit that into documentation but ill keep working on it.
      {{ DiscussionBoard.errors[4558452].message }}
      • Profile picture of the author lovenot
        Originally Posted by warriorforum101 View Post

        i actually made screen shots of everypage is full color non distorted .bmp pictures it took almost a month, its difficult to puit that into documentation but ill keep working on it.
        I don't know how you do things there, but at my place, we discuss and have a meeting either face-to-face or through video chat to design and complete the requirements. After that, we come up with a prototype and show our client in the next week. We ensure that all is good before we begin...

        You will have to work with your developer. Not come up with everything yourself. You don't know how to that's why you're paying. Explain in words and rough drawing so that things can move on fast. It is not that important to document well before you even begin. It is the developer's job to document for you to check. But of course, you have to provide clear instructions and specifications. It is all about good communication. Don't waste your time on making screenshots that may or may not be helpful to your developer.
        {{ DiscussionBoard.errors[4560439].message }}
  • Profile picture of the author rallport
    I'd be personally be much more specific. For instance, expand more on the "I must be able to create listings" - what information will be contained within a listing (E.g. seperate fields for name, description etc.), will the listings be paged if there are a lot of them, do you require seo friendly website urls?

    Picking up on naming the seperate fields - this is good practice, as it will determine how easy the site is to update. E.g. if you have a big blank box to fill in when adding a listing, it will be hard to update. If the listing is split up into compenents like listing_image, listing_title, listing_description etc. then you'll have seperate input boxes to fill in in the admin area - easy for you to update!

    You allude to a user account section too. Be soooo much more speciifc here. E.g. can't add lsiting until registered, listing need to be approved by admin, need to be able to suspend user account, need to store a valid email address and website for each user, as well as their post/zip code etc.

    Save yourself a lot of pain - be very very specific, as the developer will base their price on the information you give them, and may interpret what you want differently.

    You could even sketch out some quick wire frames of your pages, saying briefly what will happen.

    EDIT: just seen another from the OP: "This Search database must be able to search every specific field created in ads and user profile." - what fields, what information are you storing for each advert? Do you need to tarck things like advert impressions, pacings and clicks for example?

    Look at it like this. IF you go into a car show room and say you want to buy a car, at some point you'll be asked the spsecifics. E.g. size, color, price, make, engine size tec.
    {{ DiscussionBoard.errors[4560901].message }}
  • Profile picture of the author Steve Diamond
    I'll add one more dimension to the excellent responses you've gotten already. Screen layouts and lists of what pieces of information go on each screen and what each piece means are a good start, but they aren't sufficient. You also have to describe what you want the website to do when the user does something, like filling in a box or clicking a Submit button.

    This may seem obvious to you based on your screen layouts and your understanding of your business model, but I assure you that it may not be obvious at all to someone else.

    Here are a few examples of issues you may not have considered.

    For each box that can be filled in on a screen, what constitutes valid input (e.g. phone number format, ZIP code format, email address format...)? What should the website do with invalid input? Should it try to determine validity as soon as the user moves to the next box? Or should it wait until the the page is submitted? What feedback should it give the user for invalid input? (What feedback should it give for a valid submission, for that matter?)

    And speaking of validation, did you know that client-side validation of data (JavaScript) isn't sufficient to protect your server and database? A good developer will know this and will write server-side code to validate every form submission as well, but I can't count how many PHP scripts I've seen that fail to take this elementary precaution. As a non-programmer, you couldn't possibly know that this requirement should be included.

    If a screen needs to handle submission of multiple something-or-others (phone numbers, emails, products in an order...), how many blank lines should be shown to begin with? How should the screen respond when one thing is added? Should it add another blank line? Should the user have to click a button to add another blank line?

    Anyway, you get the idea. There are hundreds of small decisions that need to be made in programming any but the most simple and trivial website. If they're not included in the requirements document, you're at the mercy of the developer. There are professionals, often called business analysts, who specialize in determining the details of the requirements and writing them up in a way that ensures the programmer will follow the owner's wishes.

    Mindfulness training & coaching online
    Reduce stress | Stay focused | Keep positive and balanced
    {{ DiscussionBoard.errors[4563903].message }}
  • Profile picture of the author Ken Durham
    OP, you have done much more than many clients start off with.
    An experienced freelance programmer will supply you with a list of questions after going over your specs. These are then incorporated into a finalized working spec that you both must agree to before work begins. If this part skips your negotiation and the developer wants to begin before the plan is finalized, then seek out someone else. Never start the work without a finalized plan. That goes for both sides. Extras are then just that, extras that get paid for.

    yes, I am....

    {{ DiscussionBoard.errors[4563971].message }}

Trending Topics