At {radiate} we do quite a bit of custom development (most of the times with WordPress as the core), even though our focus tends to be more on the design aspects of any project. So our project workflow basically compromises of us spending quite a bit of time doing multiple revisions / iterations of the design mockups (until the client is satisfied), before we move onto development.
So at this stage, we’re in the process of building a niche (mini) social network for a client (using WordPress, bbPress and a lot of custom functionality we’ll be building onto this) and we’d spend the last 5 / 6 weeks doing mockups for the project. Now, in my mind we would’ve loved to establish the design framework, style & branding of the site before moving onto development, as that is more time / cost efficient for us - but the client has now requested us to move onto development instead (and thus not do multiple iterations for the mockups), since they’d like to get down ‘n dirty with the design and get a feel for it by using it. So this is agile development then: develop & design on the go.
Now, my only concern in this regard is: who is responsible for the costs associated with the duplicated time / tasks associated with this process?
The Problem
Using agile development in this way, is fine, because we’ll start with simple grey-based XHTML / CSS wireframes which we’ll integrate with the PHP functionality. And we can then spend days / weeks going in a direction until we need to add the styling / branding again, only to realize that the “framework” we’ve built won’t work with the desired branding. Now this could’ve been avoided if the mockups were finalized and the ideas basically conceptualized in full prior to development. This means, that we’re left to re-do a lot of work, because of the choice of project techniques & workflow…
Considering that 99% of web projects have very strict budgets (since the client needs to earn a ROI on it), who is then responsible for the additional costs? Or I can even ask: are the additional costs even justified?
So agile development + clients = #fail?
My feeling is that an agile development mindset could well work for client projects, as long as everyone is on the same page with regards to the costs involved. See, agile development typically works great for developers working on their own web apps, because if they run over time budgets (due to duplicated tasks), then they need not please explain to a client about the overrun on time / costs. But with a client that situation is slightly more tricky, as they would be more sensitive to increased costs and extended timelines.
Honestly, I’d still prefer not to have to go there and avoid doing full-on agile development. Especially since we are so design-minded anyway - I’d much rather spend the bulk of our project time working in Photoshop, than a code editor. But that’s just what we do at {radiate} - how do you feel?
(As a sidenote: the client referenced above has been great about this and I do believe that we’re on the same page with regards to the duplicated tasks and additional costs. The client has been very open-minded & fair in terms of what is reasonable and what they need to pay extra for… That said, this is still a very new situation for us and we are learning as we go - so we’ll see how things pan out towards the end of the project.)





