January 17th, 2011, 12:15 AM
You should sit down and have a good read through any documentation you can get your hands on regarding Software Development Lifecycles.
Generally speaking, you'll want to work with each client through the following processes:
Architectural Analysis and Design
User Verification, Refine Requirements
Testing: Unit, Functional (and, if needed / available / required) - Regression, Security, Performance, Exploratory
User Acceptance Testing
Operations & Maintenance
It's clear from your frustration that you haven't put any structure into the discussions with your client about their requirements. If you don't have clear, agreed upon requirements, you can't even begin to think of what to build, much less built it.
Do a little research into Agile / XP, Rational Unified Process, ITIL Application Management. Pick an SDLC and try working through it w/ your client. Given that you're working on a small business site, Agile / XP would probably be most suited for your needs, but it's good to have background on all of the major SDLC's so you can blend process methodologies where and when it's appropriate.