Agile is an adjective and means being able to move quickly and easily. An agile project is a way of working in an iterative process where the entire team takes a big responsibility for all tasks to be delivered.
In 2001 a group of independent thinkers (The Agile Alliance) gathered to talk about software development and agreed on the Manifesto for Agile Software Development:
Read the manifesto a few times and you will quickly realise that one of the most important things to understand when working agile is that it means great demands on both the customer and supplier in the participation and understanding of the project in order to reach a successful result.
In short you can say that an agile approach means to prioritise what the task to be accomplished is, and to make sure that the whole team understands what is being delivered. If we use an online project as an example, the task goes in a circle between interaction design, art director and development several times before the task is completed. When the task is approved by the customer, an evaluation of the results and how the work was performed is done by the group and the customer. All parties share their experiences and chooses which improvements to implement on the next task.
An agile team sets a high demand on all participants, both in terms of flexibility and readiness to deliver and improve together. This means that the group should, as far as possible, avoid putting titles on each other. The idea is that this should incentivise team members to select tasks based on ability rather than role. For example it can be someone who usually call themselves ‘front-end developer’ that instead choose a typical backend task because they know they can accomplish the task. The result will be that one’s own knowledge will be developed and the team as a whole will work more efficiently.
For an agile team this means demands on everyone to be very open and responsive, and an high degree of social capacity to work together with logic and common sense.
There have been many successful projects not using agile methods and there have been many successful projects using agile methods. In fact, there are almost as many opinions, studies and reports on what the best method to use is as there are implemented projects. What it all drills down to: A weak team with the best method cannot succeed at all. It is the human factor that makes the difference.
If you want to dig deeper into different studies here are two tips:
Whether you should choose an agile or waterfall methodology for your next project is up to what you and your team feels most comfortable with. However, don’t be scared to test and alternate between both methodologies. Regardless of what you choose, you need to look at it as a method with inherent flexibility and not as a set of rules written in stone.
What is your experience regarding an agile way of working?