Hi I work for a small digital agency where we do a lot of ux work and therefore a lot of planning and research. The culture and approach to development projects we have moved to in recent years makes use of a lot of agile 'aspects' albeit it's not perfect. Our approach is rooted in being flexible and adaptive to changing project scopes. But as far as scoping and costing for projects there is something I cant get my head around. Typically projects are quoted for upfront on a fixed price basis, based on what we estimate it will involve but in my experience the true scope and requirements/features of a project don't truly come to light until after we do the user research and personas and establish goals, which inform the scope of the project, the type of user stories which will added to the backlog and therefore the cost. But obviously there is a lot of work involved up to this point which needs to be paid for also. With this in mind, is there a better way to quote for a project, eg what order should all of this be done in to make it more accurate? Does it ultimately still have to come down to estimating something upfront that you can't truly know until later on?
With that in mind, during a project there are the inevitable changes to scope as it develops, some minor and some that grow legs. With an agile approach, using sprints and a backlog of stories etc, it makes it easier to identify where scope changes are happening but I am curious how others deal with this in terms of identifying things that are going to cost more and letting the client know the cost will be higher. For example is there an alternative to upfront fixed costing, like having an open ended costing approach? (one that clients will actually go for). After all this is the point of agile, that the scope can grow but we can adapt, both from a development point of view but also so we are not doing a lot of free work.