I can’t imagine what the end product would look like if I tried to bake a cake with my eyes closed. But that’s exactly what you’re doing when you build a web application or website without a prototype. There is no way to know what the end product will look like, and thus be experienced by the end user, when you build from a tech spec only. Given the obvious drawbacks of baking with your eyes closed, imagine for a second having to do all the parts of the cake at once. Instead of measuring out each ingredient and following an iterative process, you just throw all the ingredients together and see what happens when it comes out of the oven. That’s how my 5 year-old bakes. That’s not how adults should bake or build websites but we see this behavior every day. Time to grow up people.
That’s why Agile makes sense. Agile methodology largely means breaking a project into Iterations. An Iteration is an increment of time, usually one to four weeks. The total project is constructed within a series of progressive Iterations. At the beginning of each Iteration a short term objective is set so it’s easy to keep everyone focused. Then at the end of each Iteration, we evaluate what has been achieved. Because the Agile process requires regular evaluation of progress bugs or potential problems can be corrected quickly. This also helps get to the next round of objectives without losing focus on the priorities.
Let’s see how it works. Consider the task of building a medium sized website project. The overall project is split into multiple Iterations that deliver working UI pages at the end of each one. So for example, the first round might be the home page template and the second round would be the secondary page templates. Keep in mind that it’s essential that the design team works with the client team members during the first round of iterations to determine User Stories and mock-up the screens. For the second part of Iteration 0, we’ll work with your technical people to fill in the blanks on specific technical solutions. Starting with the first iteration, the whole team meets for an hour or two, setting the development priorities for the Iteration.
The Agile process is not for everyone, but it should be. There are so few legitimate excuses not to use these techniques. Why wouldn’t you use a process that leads to continued client happiness? The client is always happier when they can see rapid, continuous delivery of the project. Not that we promote this but, late changes in requirements are not only possible but also considerably easier to manage. Continual course correction prevents big surprises at the end of the project.