agile project managmentIn the winter of 2001, a group of leading software developers convened at a ski lodge in the snow covered Rocky Mountains, and shaped a philosophy that would forever change the process of designing and developing software. This process became known as the Agile Project Management (APM).

This group of software industry thought-leaders, later known as the Agile Alliance, joined together in response to developers’ mounting frustration with the existing process of software development. Up to this time, software was developed using the same methods used for construction and engineering projects, the traditional approach sometimes known as the “waterfall method.” This method followed a sequential design process in highly structured environments and required extensive and advanced planning because making changes to the project later in the process was prohibitively costly.

The Agile Alliance wanted to find a way to make the existing development process more flexible and better suited to the unique needs of developing software.   What emerged from this assembly was a new expressed in a document known as the “Manifesto for Agile Software Development.”

Software developers found the waterfall method of was too bureaucratic and moved too slowly to meet the changing and dynamic needs of creating software. The Agile approach shifted away from focusing on the process to allow software development to focus on the values and culture of an organization. APM is “based on people, collaboration, and building the types of organizational communities in which we would want to work,” said Agile Alliance member Jim Highsmith.

APM as defined in the Agile Alliance manifesto works best for projects where: customer satisfaction can be achieved through early delivery of software; requirements can be changed in the later stages of development; working software can be developed frequently; working software is the principle measure of progress; and the pace of development is constant and sustainable.


You may also enjoy: Agile BPM: Agile Development and Business Process Management


APM works best in an environment that is collaborative and where contributors work together in small co-located teams. The developers write code in pairs to ensure quality control, the code is then tested on working modules, and the process is repeated. The small team guarantees open and robust communication and therefore requires significantly less documentation than traditional methods.

At the heart of the APM process lie several fundamentals that make it different from traditional project development approaches. These include:

  • Co-located teams – Co-locating team members leads to better coordination and communication.
  • Test-driven development –Test cases are often developed first then adapted to the project requirements.
  • Adaptive leadership – Project managers foster working relationships among team members rather than simply delivering instructions.
  • Collaborative development –Project teams collaborate on the design, development, testing and reworking of each incremental build.
  • Feature-driven development – The team focuses on one feature at a time.
  • Focus on value – Features are prioritized based on value, such as increased revenue or market share.

Software development projects are constantly evolving and subject to change, and this makes them ill-suited for management by the traditional waterfall method. Unlike building bridges or manufacturing aircraft carriers, the requirements for developing software can be changed later in the process as the project progresses.

APM allows software developers to use the flexibility inherent in software design to their advantage by creating the product in small modular units and then testing and improving each unit before it is joined to the whole. This flexibility makes extensive up-front planning less important to the success of software development projects.

APM’s flexibility and reliance on small, dynamic, co-located teams emphasize the importance of individual teams and reduces the need of the bureaucracy, exhaustive documentation, and excessive up-front planning of traditional .