Everyone wants to be Agile these days. Many in the web world have decided that Agile design and development processes will help them save time and money in their projects, and to deliver shippable software and websites with an unprecedented attention to the needs of their users.
Agile means any iterative process that is not a typical waterfall development cycle. You’ll deliver something small, evaluate it, then go back and refine and extend what you’ve just delivered, then evaluate it again.
Note: SCRUM and Agile are sometimes mistakenly used interchangeably. SCRUM is a specific set of rules to follow when practicing agile software development.
The idea is that you can keep following these little cycles until all of your functional and quality requirements have been met. At no point do you need to step back and write down everything about the software or website that you’ll be delivering – you can just keep cycling and cycling, and the representatives of the users on your team will steer the final product to something that will be well accepted.
One problem with Agile methodologies is that their project cycle lengths can be difficult to estimate. If you’re trying to build a website, for example, you might have a hard time estimating in advance how many weekly cycles (sprints, in Agile parlance) you’ll need until the project is complete.
In part, that’s because in a pure agile approach, you won’t really know what complete means until your users agree that it is: it could be after two cycles, it could be after eight. And how are you going to bid on a fixed-price engagement when your own staffing represents anywhere between six and twenty-four weeks of effort per person?
You’ll have to find what works well for you as you go, but for most web projects I’ve found that something like the following cycle makes sense:
Plan to spend a fair amount of time preparing, presenting and documenting workshops with the client. These workshops will serve as checkpoints for project progress, as well as being a perfect chance to do some collaborative design with the people who know the most about the organization, products or services that you’re presenting online.