Posted by admin on March 18, 2014
Not getting what you paid for isn't just frustrating, its unjust. When you order a meal at a restaurant you expect to get what you ordered, and if you don't, you send it back. Unfortunately, the same rules do not always apply when it comes to working with website developers.
Because building a website is a time consuming, complicated process, many website design and development companies are unwilling to spend additional time tweaking a product once it has been delivered to a client. Luckily Agile Development, an emerging trend in web design, is alleviating some of the problems associated with creating a website.
A term borrowed from software development, Agile Development focuses on strong communication between client and developer to make each projects an equally positive experience for both parties. With agile development, fewer clients complain that they receive a product which is not what they ordered, and fewer developers have to stress over a clients reaction.
E.A. Edmonds changed the face of computer science in 1974 when he introduced his idea for a more constructive design process. Along with a team of founders, Edmonds came up with the idea after noticing how difficult it was to deliver consistent, quality results for clients. Final versions of software often ended up being clunky, hard to work with, and generally unsuitable for the purpose they were designed for. The problem? Communication. People were simply not transferring information efficiently.
The solution was to make the design process as transparent as possible. However, most clients don't want to waste time learning about technical details which require a degree in computer science to understand. While such details are important they are only meaningful to specific audience. Likewise, designers wanted to avoid being bogged down with information they would need to parse and decode to understand what was expected of them.
Instead of having a discovery session at the beginning of the project followed by silence until the project was complete, Edmonds et al. proposed frequent, casual communication with clients throughout the project. The founders of Agile Development stress the importance of daily communication, but many companies which have adapted the process communicate at less frequent, but still regular, intervals. The team came up with The Agile Manifesto to succinctly express their objectives:
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over Processes and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
That is, while there is value in the items on the right, we value the items on the left more.”
As outlined in the Manifesto, customer satisfaction, useful products, and working conditions which promote efficiency are the primary goals of the business relationship. But how is this idealistic approach to development possible? It seems naïve to think that simply talking more often would create a noticeable improvement in the final outcome.
Agile developers recognize that people change their minds and don't always get their ideas across effectively the first time. A store owner may tell a web developer they are looking for a website to advertise and sell inventory, but the phrasing of the request is ambiguous and could be interpreted in a few different ways, each of which makes sense. The owner may mean that he wants an e-commerce store built into the website, or that he wants to advertise merchandise online to encourage users to visit the store in person.
Both meanings, despite making a huge difference on the development side of things, are contained in the sentence. Neither the developer nor the store owner are responsible for the mis-communication, which makes the process all the more frustrating for both parties. Instead of arguing over who made a mistake, the focus should be on fixing or ideally preventing a mistake in the first place.
Although Agile Development does not eliminate the possibility of mistakes, it is a more efficient way to manage projects, reduce risk, and maximize Return on Investment (ROI). The agile developer plans for changes by organizing the work into sections which are punctuated by points at which the client can assess progress and offer criticism. Everyone involved saves time and money – the client doesn't have to worry about paying extra for what they expected while programmers don't have to waste time adapting a product to meet misunderstood criteria.
Benefits of agile development are especially visible when it comes to designing websites, for the client can be shown a beta version of the site. Progress keeps a steady pace because changes are anticipated at the points when a client sees the model. The process is structured around flexibility. Programmers, designers, and copywriters rarely need to wait for input because the client knows when it is expected. Delays are still possible but less likely to occur.
Agile Development uses, “cross-functional teams,” which are groups of people with different skills sets and experience working together towards a common goal. Because the people working on the project have a wide range of perspectives, they can spot more flaws to produce a better result and optimize ROI.
The process has been so successful it has transcended programming and computer science to spread through other fields. A versatile methodology, Agile Development can be used on many types of complex projects, from business management to engineering to web development. A few members of the original Agile Development group branched off to create Scrum, a framework for managing programming projects, and The Declaration of Interdependence, a guide for structuring projects in different fields with the Agile model.
Download our new eBook "10 Ways to Make Your Website Turn a Profit" and learn everything you need to know to grow your business online. Download Our eBook