dingloo - 3:21 am on Jun 1, 2012 (gmt 0)
We work on fixed cost projects only and use an approach where we split any web based project into two parts:
1. Static screens
2. Actual code
We estimate only for static screens with the client and tell them how much it would cost to develop the static screens. Once approved, we build all the static screens, that show exactly how the site will look like when launched.
At the end of this, the static screens, become the actual requirements - frozen for this version.
At this time, we estimate for completing the actual work. Once approved, complete it.
The above approach has helped us define a solid set of requirements all the time - although at times, the client comes with new changes after coding has started - but that helps us easily estimate the additional estimate (time and cost) involved to address it.