Agile Development is a very interesting method of developing information systems. The idea is to develop the system in iterations (the action or a process of iterating or repeating) over the space of 1-4 weeks. It revolves around 4 main concepts which I will outline later. The need for Agile Development stemmed from poor strategies being used when developing IS for customers. It was found that any breakdown in communication between the customer and the project manager could ultimately result in a failure of the project altogether. In the end, the success of a project would all come down to project scope, project planning and sponsor involvement. However, these aspects of the project are often hard to keep in clear perspective and because of this; agile development can be adapted within a project.
Agile Development revolves around for main concepts;
1. Individuals and Iterations; over processes and tools
Here, managers will work to create a close working team who will be working towards the same goal together rather than working as individuals which could result in poor execution of the project when various elements are brought together. Emphasis should be made on the importance of human iteration and the sharing of ideas and helping the other members of the team. This was the project can come together as a whole much more efficiently and effectively.
2. Working Software over comprehensive documentation
Paperwork should always be kept to a minimum in agile development and the hours usually spent doing that paperwork should be put into further development on the project. The KISS (Keep it Simple Stupid) concept comes into practice here as the fundamental basics of the project should be concentrated on. Constant test runs should be run throughout the process in order to rule out unnecessary breakdowns in the system and to remove any small problems which could become an issue in the future.
3. Customer Collaboration over ridged contracts.
Clear contracts should be drawn out in order to rule out the possibility of not having the right concept or drawing up the wrong plan for the project. This way the customer must know what he/she wants upfront and hence, conflict over deadlines and confusion for the project manager can be reduced if not avoided completely. It reduces the communication barrier. This also means that prototypes can be given to the customer regularly with their requests to make sure it is what they want and any changes can be made mid process rather than waiting till the end when the project is completed.
4. Responding to change over following a plan
The contracts need to be drawn up as to allowed change during the projects. The team must also be willing to make the changes where they feel needs be. If something does not work or could be done better through other means than which are set it needs to be said. The team concept plays a major role in agile development.
Agile development is a very efficient method of developing a project and is being adapted more frequently by both customers and project managers.