What Is Agile Web Development?
Agile web design is not so much a process; it's more of a philosophy. But before we get into all that, here's a little history lesson.
In Utah during the winter of 2001, a group of software developers came together and created what would become one of the most inspirational documents about development: The Agile Manifesto. The Manifesto would go on to inspire a totally new approach to software development, which in turn would become a methodology that designers and developers would use to approach all kinds of different projects.
Today, agile project development is a popular - and highly effective - way to design websites. Let's take a look at how it works.
Breaking Down the Manifesto
According to the Agile Manifesto, the process is not about conceiving a project and then bringing it to fruition in the traditional sense - that is, completing it and then tweaking later. Rather, agile project management focuses on a continual, flexible process that relies on a group of people to input ideas throughout the progression of the project.
Certainly, the developers behind the ideology also believe there is real value in comprehensive documentation, tools, contract negotiation, and following a plan. However, the principles of agile development are antithetical to these methods. As such, agile development places value - above all else - on individual people and their interactions, working software, customer collaboration, and continual response to change.
Agile vs. Waterfall: The Distinction
According to the principles behind agile development, the traditional 'waterfall' method of designing and developing a website can be severely inefficient, keeping a website from reaching its full potential in a reasonable amount of time. But what's the difference?
The waterfall method has its benefits. Here's how it works, beginning with a project plan. Before any kind of web development can begin, designers must have a clear vision with an end in mind. The planning stage is upfront and quite extensive. As a result, waterfall web developers can usually accurately estimate the timetable and budget for a project. Developers can often provide extremely fast turnaround on projects - but only after the plan is complete.
However, where the waterfall method fails is in its rigidity. Should the project design need to be changed at any point throughout the process, the process will come to a complete stop. The developers must then rewrite the plan and rethink the entire project.
If one completed step of the project needs to be changed, it can be all but impossible to make the necessary alterations without disrupting the rest of the project. As a result, developers can rarely ask for feedback on the project until it's near completion. Should a problem arise, it can be incredibly difficult to respond - and if revisions are necessary, they can be time-consuming and potentially expensive.
Agile, on the other hand, is incredibly flexible as a methodology. Some developers describe it as 'freeform' project design. Using adaptive planning, agile web designers work on small chunks of a project at a time. Customers have regular input, and designs are constantly tested.
If requirements regularly change, or if the customer doesn't have a clear end goal in mind, agile web development can be a huge boon. As a result, designers can easily adapt and incorporate new ideas. As the project develops using an agile approach, the client will slowly but surely begin to clarify their needs. If you're working on an experimental design, agile development is a perfect approach. In fact, it can even cut the timeline for a design project in half.
The Scrum Approach
For many designers who use agile project development, the scrum method is integral to the process. The phrase is borrowed from rugby; during a scrum (short for 'scrummage'?), all team members huddle together to make a plan, and then break to go their separate ways. They still operate as a cohesive team, but each individual carries out his or her part. Anytime the ball goes out of play, or the play is otherwise interrupted, the team comes back together for the next scrum - quickly discussing what they need to do next and what changes need to be made to the strategy.
Agile web designers and other project developers use the same kind of constant communication at each stage of the project, often once or more a day. With agile, the team is self-organizing and highly collaborative, in that no one person is the team leader; instead, team members collectively decide on how to tackle issues. The client is an active participant and member of the team, referred to as the 'owner' of the project. The project owner provides guidance and direction.
Scrum check-ins keep clients informed about (and happy with) how progress is being made - and also keep designers adapting to change in real time. No one has to scramble to undo or redo a massive piece of work due to poor initial communication.
Final Thoughts: Will You Go Agile?
If you - whether you're a client or a web designer - are interested in working collaboratively and dynamically with a team of intelligent and interested people, maybe it's time to consider the agile method for bringing your next project to life. Once you go agile, you may not want to go back.