Delivering Software Certainty
Developers and project managers often feel they are faced with a paradox when asked to scope and direct a project that is supposed to be agile. Agile projects are sometimes misunderstood to be open-ended, time-and-materials projects that are not to be bridled with upfront estimation and iterative reality checks against a target.
Experience has shown that there is value in recognizing the inherent conflict in providing accurate upfront estimates while allowing requirements to change. Trust and shared vision can be achieved by the client and developers collaboratively participating in a limited initial scoping process. Using the initial scope and vision as a beacon, a team can iteratively measure the project's progress and collaborate with the client to steer the project in the most valuable direction.