Search Engine Marketing

The agile approach to web development

White October is a leading web development agency based in Oxford, specialising in the development of content managed websites and web applications, such as extensive databases that can be accessed online. White October's impressive content management system, ‘Contented' is SEO friendly and easy to use, making this agency one of Momentum's preferred web development partners.

In part three of the interview with Dave Fletcher, we discussed the website development process in depth, and learnt about the benefits of the agile development approach.

Jonathan Fink (Momentum): How do you approach a typical CMS website project?

Dave Fletcher (White October): Well, the user information and knowledge about what the company wants to contain in the site contributes to the information architecture. That is then passed onto the visual designers and once the design has been signed off, the CMS is tailored to that design.

Jonathan Fink (Momentum): Does this mean you have to put limitations onto the designers?

Dave Fletcher (White October): No, and actually we're proud of the fact that we don't limit them. The Contented CMS is uniquely flexible and can usually cope with whatever designers throw at it, as long as they have at least a basic understanding of content management systems and how to build scalable websites. If there's no need to brief them about that, and if they know how to keep the design flexible for different types of content, we take that as a sign of them being a good designer.

Jonathan Fink (Momentum): What do you consider to be the most important aspect of getting a web design right for use in a scalable CMS solution? e.g. Usability? Accessibility? Functionality?

Dave Fletcher (White October): For scalable CMS solutions the most important thing to get right is the user experience, and then to have a good designer who knows how to design for scalability. Content managed sites fail when the designer doesn't understand how it'll be used and how it will grow over time and with use. So it has usability and good design first.

Jonathan Fink (Momentum): What is your favourite part of the web development process?

Dave Fletcher (White October): Working out what it's going to do, so that's the wire frame and user investigations stage, and then I like guiding client in their decisions. Often they aren't 100% sure about what they want, and so the suggestions we make have a big impact on them. I also really enjoy the planning stages of larger development projects.

Jonathan Fink (Momentum): How would you handle a project differently depending on whether it's a front end website or a back end information system?

Dave Fletcher (White October): When the project is a CMS website, the order is: user information, information architecture, wire frames, design then tailoring the CMS.

Developing the back end of a web application is very different, it involves a lot more planning. To kick off, we write ‘user stories' which are single line statements about what an individual using the system might want to do. For example “As an administrator, I want to be able to add… etc.” We'll write anywhere between 50 to 100 of these, and then the agile development process begins.

Jonathan Fink (Momentum): What is the agile development approach?

Dave Fletcher (White October): Basically it's an approach that appreciates how impossible it is to really know at the beginning what the scope, implications and final functionality of a big project will be. No matter how good a developer or designer might be, it's impossible to have a perfect vision of the finished project right at the start.

The agile development approach is much closer to the way we as human beings solve problems, i.e. iteratively. We see a problem, come up with an idea of how to solve it, try that and then improve our approach based on the feedback until the task is completed. That's the core of agile development.

We divide up the project into distinct phases. Once we have the user stories, we prioritise which ones need to be addressed first, cost that up and then agree with the client what the scope of the first phase will be. That's just the beginning; clients need to be much more involved when the agile development approach is used, and the more involved they are, the better. It's a voyage of discovery for us and the client.

Jonathan Fink (Momentum): How do you guide clients through the early stages?

Dave Fletcher (White October): At the beginning of large projects we have workshops that are a day or two long. This allows us to explain to them how it's going to work, why we use agile development and it enables both parties to get to grips with the project. It's a very different experience for the client; we develop in short sprints of 2-3 weeks, feeding back throughout. If they have only experienced a linear website development process in the past, it's a real departure for them.

Jonathan Fink (Momentum): What are the main advantages of agile development?

Dave Fletcher (White October): Well, as the project evolves, priorities can be adjusted accordingly. The clients really like the process as they can see it evolve, influence the project as it's going along and develop a realistic idea of how development works due to the insights gained by working so closely with us. Problems come out early, get dealt with swiftly and there is less misunderstanding.

From my point of view, the major advantage is that projects created using the agile development approach have a reduction of 40% in redundancy – that's a huge improvement over the ‘Waterfall' approach.

Jonathan Fink (Momentum): Could you explain what the Waterfall approach to development is?

Dave Fletcher (White October): At the beginning, a huge amount of time is spent writing out the project requirements and the specification. That can take months, then after that's been signed-off, the build takes a long time and then the application is tested and released. More often than not, that approach results in a completed project that contains functionality the client later discovers they don't really need, and a system that isn't quite what they wanted. And that's simply because it was based on a prediction.

Jonathan Fink (Momentum): It sounds like agile development is clearly superior – but are there any disadvantages to the approach?

Dave Fletcher (White October): Well, it's difficult to cost a project using agile development, but ultimately the client spends less on redundant functionality. It enables us to prioritise the development of user story functionality that provides a higher return on investment.

At the end of the day, agile development has lots of safeguards, results in less confusion during the project and the systems produced are more robust as a result. That's why we use it every time for the major projects.