Agile project management is based on a set of ideals that have been adopted to overcome some of the shortfalls of traditional project management. The ideas behind Agile have been developed over many years based on academic studies and real world experiences. The main focus of Agile projects has been the information technology and software sector. In the late 1990's academics studied many large software projects that had been unsuccessful, especially those implemented by government agencies. Research from the Harvard Business School found that it was not possible to plan extremely large projects, and that it was impossible to make changes to the project in the later stages. This can be seen in many government IT projects where the implemented system is often over budget, years late, and does not fulfill the original needs. The Agile movement came into being to address these flaws. In an Agile project the project teams are often small but highly skilled, the timelines are very short, and changes to the original requirements are dealt with quickly. The trademark of an Agile project is that allows flexibility in requirements, but delivers the end product in very short timeframes.
In the past, the planning and projects, especially in the information technology sector, were giant undertakings. Enterprise resource planning (ERP) or materials requirement planning (MRP) projects could take a year or two to be implemented. Over that period of time the requirements could have changed, but due to the size and complexity of the project, it was impossible to incorporate more than the bare minimum of changes into the finished product. It usually required a further project or projects to then incorporate the changes the original project could not deliver.
Today, the speed of change in the information technology work is so fast that is impossible to let a major project take the time that is used to. Ne developments are made every day and the inability to incorporate these new technologies would mean that any delivered products would be obsolete before it was implemented.
The Agile methodology changes the way in which projects deliver results. The project uses an incremental and iterative approach to producing results, where the customer, internal or external to the company, can have more direct involvement. The project is reduced to number of smaller deliverables which are rapidly developed and delivered to the customer. In this way the customer can see the results and can modify their requirements quickly, if needed, rather than waiting to the very end of the project.
This methodology is very flexible, but requires a number of elements to be in place to achieve the results. The speed in which results are developed and delivered to the customer depends on having the project team being in close proximity and having some degree of cohesion. Some tradition projects can create global teams spread over continents and never having worked with each other. This introduces a time delay in getting a functioning team, as well as in build delays due to time zone differences.
Agile projects also differ from traditional projects in the way in the responsibility of the team members. Traditional projects often have layers of project management that require decisions to be made by a number of people who each need to spend time understanding the requirements for the decision. This builds in a time delay before the decision can be made. In an Agile project the team members have to responsibility to make decisions rather than have to wait for team leads and project managers. This speeds up development and is vital to the rapid delivery of the product to the customer.
As well as having developers who are empowered to make decisions, it is important in Agile projects to have knowledgeable users, or customers, as part of the project team. Developers can reduce the time making decisions when they have instant access to users who are familiar with the process and can answer any questions that arise. In traditional projects there can be lengthy delays when the project team cannot get access to users who can provide the correct information.
Successful Agile Projects
The most successful Agile projects are where there is a project team that contains both users and developers located in a single location where quick decisions can be made. These projects tend to have requirements that can change as the project progresses, rather than a static set of user requirements. The typical Agile project will have developers with a high level skill and knowledgeable users who are able to quickly respond to developers questions.