AGILE PROJECT MANAGEMENT
"On February 11-13, 2001, at The Lodge at Snowbird ski resort in the Wasatch mountains of Utah, seventeen people met to talk, ski, relax, and try to find common ground... What emerged was the Agile Software Development Manifesto." (www.agilemanifesto.org)
The precursor to Agile project management was the brainchild of Dr. Winston Royce. Introduced in his 1970 treatise, “Managing the Development of Large Software Systems,”1 Dr. Royce presented a 5-point rebuttal of the sequential development Waterfall Model, which had been the status quo for project managment.
The waterfall model views a process as a series of steps cascading downwards as shown in the ...view middle of the document...
His treatise called for modifications to the sequential model which he deemed vital for systems development. His disdain for the sequentia model can be nearly summed as, "it does not compute."6
"We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processs and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more." (www.agilemanifesto.org)
As far back as the 1970s, software developers began to migrate away from hierarchical system design and their project management styles followed suit. By the 1980s, object-oriented programming incorprated the benefits of structured programming to streamline code and break large systems into modules. Out of this activity came Rapid Applicaion Development (RAD), Extreme Programming (XP), and various flavors of fast, flexible project management protocols. A detailed description of these is beyond the scope of this chapter. Perhaps It would be sufficient to say that as technology evolved, one project management methodology emerged as the the most popular and widely used today: Agile
The fundamental principles of Agile are centered on the division of a project into modules and distributing the modules across teams to be developed independently, tested and modified in an iterative process, and then linked together to achieve the desired goals. This a direct contrast to the traditional sequential approach. where the first phase of the project would be finished before the next phase, and so on, continuing in order until the last step is done. Inherent in Agile is a rebuttal of the notion that a software development team has to gather all the requirements, compile an analysis, and write code based on a detailed systems design. Instead, development occurs in short timeframes with multiple iterations as the modules are fine-tuned and additional requirements brought into play.
The assumption behind Agile is inherent in its name. Modules are constructed with an emphasis on functionality and flexibility. It was Dr. Royce's observation that if a project took too long from start to finish, the resulting system would already be obsolete. By creating the modules as adiditioal requirements are determined, the time from conception to market is reduced. This not only enhances a team's efficiency, but allows stakeholder feedback in a timely manner. A module may undergo several iterations before reaching a mature state without slowing down other modules of the project. According to the Agile Manifesto, "it is a conceptual framework that promotes foreseen interaction thtoughout the development cycle."7
The nuts and bolts of Agile project management are clearly laid out in
THE 12 AGILE PRINCIPLES