Agile website development
18 November 2011
Good planning ensures good results. Does your web development company plan out its projects fully?
Good planning ensures good results
Traditional business management uses planning methods such as the waterfall model. These types of models rely on measurable objectives, often seen as milestones. Each objective is dependent on the completion of its predecessor. There are advantages to such a method:
Planning in such a way can create very rigid guidelines and allow all parties to feel that they know exactly what they are after. However, what happens when halfway through a project we realise that the actual site is meandering away from the plan? - not through lack of discipline, but, where the evolution of the site is trying to free itself from the restrictions of a plan created without perfect foresight. The client wants the best they can get requesting extra features, and they then feel the designer is being unreasonable when they say that it falls outside the scope of the project - after all, the project had been agreed and costs calculated on time involved.
Is it presumptuous to think that you can plan a project in its full detail?
Well to be honest, that is often why an outside agency is chosen. After all, we should be experienced in such projects, and prepared for any eventuality. As an agency matures so should their processes. The important question that should be asked isn’t whether the traditional web development process is effective, because to be frank it does work. The questions we should be asking are:
Traditional processes are efficient but not perhaps the most efficient. The end result is far better than in an un-managed project, but can often reflect current projects so much that you could be given a list of random designs and point out which were completed by which agency.
Many web development companies are beginning to borrow the Agile project management model from software development. The purpose of this article is not to define Agile, nor to argue what it is in its purest form, after all, a little Agile is better than none. What I would like to do though is briefly talk about how marrying the Agile concept with the traditional waterfall method will produce better results and in fact keep the client more up to date than the traditional methods. No more excess stress (well perhaps less anyway) recognising that you grossly underestimated the project mid-point but as you are a conscientious person you will try and deliver anyway - often to the detriment of your loved ones.
Let me explain how Agile development helps with this problem. On a very simplistic level, Agile development means that the structure of your project is built around the ability to make quick decisions, which are able to change the mould of your project. Deliverables, accountability, and time management are essential to Agile development but in smaller chunks. Often, Agile projects only plan up to two weeks in advance.
In an ideal world, a web development agency will have intimate knowledge of their client's industry which allows them to make informed decisions when planning a project. However, it takes time to build up such a knowledge, which is often difficult when you update/create a website for a new client. Good communication helps alleviate this issue and, married with Agile, introduces a flexibility which will allow the client to provide valuable insight into their user's habits and how they might respond to specific areas of their site. Agile is particularly strong in this area as clients often do not relate to prototypes and static page designs in the same way as the final product. I am sure we can all relate to a client who requests changes at the last minute before launch because “they didn’t realise that it was going to work this way.”
To explain this further, imagine you were creating a fairly standard text-based website for a client with a shopping cart facility. Using the waterfall method you might use the following steps:
Using the method above, the client should sign off each stage. But what if they start populating their website and tell us that our shopping cart structure is incorrect. Well this can be infuriating; why didn’t they tell us during the Prototyping stage? After all, the structure was defined and we walked the customer through it. In order to change the structure we will have to step through each of the stages again as the change affects the project like a ripple. By loosely following Agile we can introduce a certain amount of flexibility. First, we plan to a fairly high level:
With each use case ordered, we can approach the list from the top and work our way down. In our example, the first use case might be browse products. For this the following steps can be completed:
Using the Agile process the user will assess the design and functionality within a working environment. At this point there will most likely be a number of tweaks, but at least we have only focused on one very specific aspect of the site. When we then look at the next use case, our design is a little more solid, and our understanding of our client and their customer is better. Hopefully, by the time we get to the end of the use cases the client and the agency are very much in sync.
Another advantage to Agile is better human resource management (if you have the luxury of multiple developers and designers etcetera). In the traditional waterfall method, most users await for their stage to commence upon completion of their previous stage. In agile, some stages will run parallel, such as backend coding and designing. If you research into Agile you will see that there are many practices which will help the efficiency of your projects and also the quality of the outcome.
At AFX, we naturally followed the typical waterfall method. Our clients have always been happy with being able to track the project, being encouraged when we meet original deadlines or if not, (due to many different reasons) still seeing positive progress. However, despite our client's happiness we have found that the process can really draw out a project, often due to poor communication, and the lack of understanding from the client of how much time is needed to create good content for a website. We plan to try and alleviate these issues through Agile, as our clients will make decisions when we need them, often because they are excited to play with a final product. The client will not be a bottleneck because they will upload their content from the start, focusing on the most complex (time consuming) work first. Together we will create a site which is more original and user-centered than their competitors'.
Well this is what we aspire to, as we think every development company should.
About the author
Articles within category
- Objecting to a Company Name Registration
- Absolutes.
- 10 things to consider when starting a business
- Is your company stationery breaking the law?
- Working with a web developer – top tips for success
- I don’t have time for this, I have a business to run
- Leadership Charisma
- Internet death rumours: How Google could help
- Why Should I Even Bother With A Website
- Top £ Advantages to a website
- Word of Mouth has changed, Directive Advertising has changed
- Converting a No Money Objection...Part 2
- 8 out of every 10 UK adults uses the internet
- Converting a No Money Objection into a Design Project
- Importance of being a Good Client
- How to Grow a Business through Online.
- Freelancing - It's not all late starts and early finishes
- ; I’ve got a page on Yell.com I don’t need a website.
- I don’t think my customers use the internet.
- A design brief by telephone or email

