• Yegh, what a lack of responsibility. As Stewart said, development is a team process - that includes your client. SPECIFICATIONS, Feedback meetings and demos are a good way to do this.

    At my previous company, projects were heavily spec'd - User Requirements, Functional (both signed off by the client before coding starts officially), and post delivery As-Built. Yes they were a pain, but they made development life so much easier. Where I am now, there is no formal specification process, and I'm really missing them.

    Feedback/Status meetings should be ~ weekly (with the client, no longer than 30min), and demos should be on development milestones (every few weeks). You don't necessarily need to promise particular items for the demos, but it's important for the client to see what the system is going to look like, and how it is going to behave. This allows the client to see where the development is heading and gives them plenty of time to correct course if needed.