Feb 7, 2012

The Project Manager

Big undertakings involving many individual activities and many individual people need some form of management to organise and direct the works.  Without this management, everything will just sit around and nothing will be accomplished.

What is needed is a project manager.  This  person’s job is to:

  • Ensure clarity of purpose – why are we undertaking this project?  What is the vision for the project?  What is it expected to deliver?
  • Identify constraints – is there a budget we are aiming for?  Is there a timeframe?
  • Determine what needs to be delivered and the activities required – what do we need to deliver to accomplish the purpose of the project?  What activities need to be undertaken to deliver what we need to deliver?
  • Determine the dependencies between activities
  • Identify what resources are needed to perform the activities – resources include skills, material, equipment, and so on
  • Procure the resources
  • Plan the activities – generate a work plan that respects the dependencies between tasks, respect the available resources, and when executed deliver the deliverables.  The result is a schedule of work.
  • Determine the risks that the project face, and plan countermeasures
  • Determine how much the project will cost
  • Determine the cash flow requirements of the project – how much does the project need on a monthly basis?
  • Execute the plan
  • Monitor and control the plan

This list of activities is roughly linear, but they will be performed in an iterative fashion because the activities depend on each other.  The plan determines what resources we need, but what resources are available determine the plan we can have.   The target timeframe determines the schedule of work, but the schedule of work determines the timeframe as well.

Feb 2, 2012

The Essence of Agile

How much of Agile practices can you remove before it becomes no longer Agile?

I was having a discussion that other day with another project manager, and this fellow was saying that he didn’t think you could do Agile without having a card wall.  Now, I’ve done Agile development before using just an Excel spread sheet instead of a card wall to track the progress, so I know for a fact that you could do Agile without the card wall. 

So I said I disagreed and we left it at that.

A little while later, I thought about the matter a bit more and decided that I haven’t changed my mind.  It is not the card wall that determines if you are doing Agile or not.

Let me give an analogy.  The other week my 6-year old son and I were playing basketball.  We weren’t in any basketball uniform.  I was in jeans, and he was in his civvies. We were still playing basketball, weren’t we?

We also were not following basketball rules: each time he makes a shot, it’s worth 50 points. Each time I make a shot, it’s worth 1 point. We were still playing basketball, weren’t we?

Also, he didn’t have to dribble: he could run with the ball as much as he likes. We were still playing basketball, weren’t we?

Lastly, we were not even using a basketball ball. We were using a soccer ball (our basketball ball was too heavy for him). We were still playing basketball, weren’t we?  I believe so.

My point is that there is a core in Agile that represents the essence. The card wall is not an essential part of it.

The idea of the card wall originated from the concept of ‘kanban’, a Just-in-Time (JIT) system developed at Toyota many years ago (as far back as the 1930s would you believe it?).  I’ll write about what kanban is in another post, and explain the big difference between it and how the card wall is used in Agile development. 

The important thing is that in Agile, the card wall is simply a reporting tool.  It give you a synoptic (‘at a glance’) view of where things are.  It is not part of the essence of Agile.

The essence of Agile is constant feedback and constant adjustment

The card wall, the daily stand-ups, even the sprints, are merely communication and administrative techniques.  You can replace each one of these with completely new techniques (potentially better) and still be doing Agile!

Jan 31, 2012

A quote on failure

A great quote on failure and its implications:

 “My great concern is not whether you have failed, but whether you are content with your failure” – Abraham Lincoln

Everybody fails some time.  Olympic champions fail, the most brilliant scientists and engineers fail, the most astute and experienced businessmen, the most competent professionals, the greatest actors and actresses, everybody.

The only ones who don’t fail are those who don’t try. 

The great differentiator is what they (and we) do with failure.