Agile is a set of principles. There are many project management methodologies that are incorporating these principles. Scrum is currently the most popular.
When to Use Agile Approaches
Different Agile approaches are tailored for different types of projects. Many of the Agile principles are sound business management principles and should always be followed. Others are unique to specific situation.
The Agile principles are spelled out in the Agile Manifesto. This document was prepared at a software development conference in 2001. It has been used as an impetus for the development of a number of project management techniques – most of them are focused on software development. The Agile Manifesto states:
“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 processes 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.”
The Agile Manifesto was written in reaction to the frustration that many people had with the prevailing project management methodologies. However, the principles of Agile are not new. They characterize project work prior to the 1900’s. It was done by small groups of people, often with close collaboration with the customers, and high levels of flexibility to find something that worked. However, the advent of scientific management, made popular by Fredrick Taylor, advocated for standard processes and technical expertise.
This reduced uncertainty and improved the overall quality of project results; but it led to bureaucratic processes that are not closely tied to the rapid changing customer requirements of the software industry. By the 1990’s, new project management methodologies were being introduced. The outcome of this effort was the Agile Manifesto.
Since the Manifesto was issued, many Agile methodologies have been developed. Some of these are narrowly focused on software development. Others are applicable more broadly.
- Extreme Programming (XP) is a software development methodology based upon rapid releases.
- Personal Software Process (PSP)/Team Software Process (TSP) is a software development methodology relying heavily on data and personal responsibility.
- Test Driven Development (TDD) is a software development methodology that starts with a test requirements and then writes code to meet that requirement.
- Dynamic System Development Method (DSDM) is a methodology with broad business applicability that is based upon rapid iterations using time and money constraints.
- Kanban is a methodology that has borrowed an inventory management name from Lean manufacturing. It is an approach with broad business applicability and relies on visual control, pull scheduling and capacity planning. It is particularly well suited for upgrade or refurbishment projects.
- Scrum is a methodology with broad business applicability that is based upon rapid iterations and reprioritization of customer needs.
While some of the elements of this course will apply to many of the Agile approaches, this course will specifically focus on Scrum.
Hints and Tips
- When adopting an Agile methodology for projects that are not software development, a little creativity may be required to apply the elements to non-software related tasks and activities.
Lesson notes are only available for subscribers.
PMI, PMP, CAPM and PMBOK are registered marks of the Project Management Institute, Inc.