I just drew this up last week in advance of yet another mid-sized website, then found your post from a friend's Delicious bookmarks. It's inspired by Joel Spolsky's
Evidence Based Scheduling, but based on what I actually did with my development colleagues on the last two projects, which worked really well. My aim was to limit iteration with the client to crucial stages that require firm approval, and otherwise get on with the job. Clients (mine, anyway) like to see something complete at milestones, and not be asked 'what do you think?' too often.
1. break down the project and roughly estimate each distinct job in hours. Omit nothing. Compare this to the proposed budget. 2. track ALL time spent on the project: keeping track of time: - start the clock when you start work and give the work a name
- stop the clock if you need to do something else yourself
- keep the clock running for interruptions about the project
- keep the clock running for drinks and short breaks, but not meals
- make a note of the time elapsed when you stop the clock
- map all time against your hourly fee and the budget
managing emails and meetings: - time initial meetings with client under contingency fees
- allow time for exchanging emails throughout the project
- collate responses to multiple smaller emails in one reply
3. strategy and development form logical stages planning and strategy: - constrain expectations about the project to available resources
- draw up a firm written outline of the project as soon as possible
- add the author, a date and version to each written document
- make sure every document filename reflects the date and version
- do nothing until the outline is approved by all parties
- resist 'can we just' features unless they are very good ideas
- use your experience to guide clients towards workable solutions
- identify all essentials but include optional items as choices
- save optional items that can't be fitted in for future stages
prototyping: - get the client to write up a complete content plan
- group the content into site plan sections (IA)
- agree to make a prototype based on the firm plan
- use typical real-world content from the client
- build the prototype quickly with what content you have
- add a sense of ownership with house styles or logos
- make it look neat and clean without any clutter
- get everyone to test it and feed back their ideas
- confirm that the prototype is approved before building
design and development: - make a visual of the proposed style for one page only
- get approval for all the details of the design
- once approved, apply the style to the whole prototype
- make everything work with real-world examples
- tackle and discuss unresolved issues as soon as they arise
- be very honest about what can't be done at this stage
testing and final approval: - as soon as there's a final version ask the client try it out
- implement immediate feedback over the next few days
- then leave the site for the client to try for a week or so
- use the remaining budget for final changes
- agree on a cut-off point once the client is happy
- agree to retain a small amount of budget for small changes
- agree to add outstanding changes to the next phase
- sign off from the job when you get paid
- continue to log feedback from the client and users