Can Project Management be Agile?

This item was filled under [ Agile, Project roles, software development ]

I am surprised by all the different viewpoints I have seen since I posted Does Agile Project Management Exist? There are those who say that Agile Project Management is an oxymoron.  There are those that say it is simply management of Agile software development projects.  There are still others that consider it a philosophy or set of values, but not a methodology!  Please understand that I am not an Agile-hater.  My projects these days are mostly IT infrastructure.  I was a software developer for many years  and a project manager of software development projects.  I am not clinging to Waterfall or the “old ways” of doing development.  I just think Agile has been over-hyped and everyone has an Agile something if they are in IT.  Now project management can be Agile; or so it would seem.

Let’s start with the PMBoK definition of project management: “…is the application of knowledge, skills, tools, and techniques to project activities to meet the project requirements…”

This is a broad definition that goes way beyond Waterfall vs. Scrum.

Here is the manifesto from agilemanifesto.org:

Manifesto for Agile Software Development

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.

Notice that this is specifically directed at software development, not project management.  Software development can be done outside the bounds of a project and not all projects are software development.

The only thing that might be seen as conflicting with project management is the statement “Responding to change over following a plan.”  Even this is accommodated by change control.  Some might say that this is saying that change should not be controlled.  I have seen many systems fail because of uncontrolled change, so I don’t think this is what was meant.  Being too rigid and preventing change at all costs is a bad idea.  This may be practiced in some places, but not many.  It is not something that is considered “good practice” by the PMBoK or related standards.

What this manifesto describes sounds a lot like what we did a long time ago, before projects were managed.  There were a lot of problems with this, but that is a topic for another post.

Here are the twelve principles (my comments in red):

Principles behind the Agile Manifesto

We follow these principles:

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Good idea for software.  Can this be applied to a tangible product?

  • Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

This works for software, but does it work for tangible products like a bridge or even a house?

  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Incremental and iterative software development was done before this manifesto was written and since.  Still trying to see how it would apply to a tangible product.

  • Business people and developers must work together daily throughout the project.

That is ideal if you can get the business people to do it.  Not a conflict with any existing PM principle that I know of.

  • Build projects around motivated individuals.

That is ideal if you can get them.  Most PMs I have ever known would love this and try to get it.  No one says, “Give me some apathetic resources and we will get this project done!”  It is hard to maintain high morale in an economic climate where you can lose your job any day.  This principle does not tell us anything new.

  • Give them the environment and support they need, and trust them to get the job done.

If you have a competent and mature team this works great!  I always try this until I find out that they do not have the skills or experience needed to get the job done.  This is not often a problem.  This is what I would call a general management principle, not even a PM principle.  It has been done this way for at least the last 10 years in the organizations I have worked at.  None of them claimed to be Agile.

  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

This is very true and is understood by every project manager I have met.  This is the reason for meetings that project teams often dislike.  Sometimes it is not possible however because of geography or people moving on to other jobs or projects.  Some documentation is also needed to retain knowledge.

  • Working software is the primary measure of progress.

This is a way of quantifying physical percent complete.  This has been used in many projects with tangible results like construction for a long time.  Measuring software is trickier though, so work percent complete or schedule percent complete is often substituted on software development projects.

  • Agile processes promote sustainable development.

Agile has processes?  This is not what some of its advocates say.  I believe that this relates to the next principle.

  • The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

This is where Agile Software Development ceases to become a project.  A project must have a beginning and definite end and is a temporary endeavor by definition.  None of the customers I have met in my career would agree to this at the beginning.  It may wind up that way in effect, but usually not without pain.  This is the only principle that is incompatible with project management.  Software development becomes a business operation, not a project, when this is done.

  • Continuous attention to technical excellence and good design enhances agility.

This is a good software development and engineering principle.  It does not conflict with PM, but is not a PM principle.

  • Simplicity–the art of maximizing the amount of work not done–is essential.

The KISS principle of engineering right?  No one wants to do unnecessary work, and PMs don’t want that either.

  • The best architectures, requirements, and designs emerge from self-organizing teams.

This is often true in software development.  Sometimes the self-organization is painful however.

  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

This is done at the end of the project or between phases on most projects.

Pasted from <http://agilemanifesto.org/principles.html>

My point here is that there is nothing new to project management here but there are a few things new to software development management.

Share
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

3 Comments on “Can Project Management be Agile?”

  • Dylan
    2 May, 2012, 19:19

    I haven’t read any of your other posts, so perhaps I’m replying out of context, but my understanding of Agile methodologies is that they were developed with the express goal of making projects that involve intangible products work better. Nobody (that I’m aware of) tries to assert that SCRUM would be a great way to go about building a bridge or a house.

Trackbacks

  1. Tweets that mention Can Project Management be Agile? - Project Management Tips and Techniques - PM Technix -- Topsy.com
  2. ¿Hay futuro para la administración de proyectos en la metodología ágil? « Mejores Proyectos

Leave a Comment