Friday, August 04, 2006

Software Project Management

Software Project Management is a very well researched area and given the backdrop of globalization and IT revolution that has happened with India there has been a lot of studies as well as practice that has been made in this space. So I am not going to write about the same old story here.

Well for the beginners- Software Project Management is all about managing the customers, managing the technical developers/leads, and managing the necessary software development lifecycle (SDLC) processes to ensure that a particular project is immensely successful! At the end of the day, there are 3 objectives that a project manager should satisfy:
  1. Customers should be extremely thrilled with the execution of the project
  2. Developers/Tech Leads should have had a good challenging time in executing the project
  3. Process expectations for a project viz. Reliability, Risk Mitigation, Setting expectations, Scability and so on and so forth
This seems very simple when anyone reads about it and almost 60-70% of software projects worldover fail to meet expectations interms of effort, schedule and cost.

Why is that so? When things are so clear and when we all know that these are the areas that can make a project fail- Why is it so difficult to ensure 100% reliability?

Here is where Project Managers play a significant role in my mind and there are 2 aspects to this role.

There is a SCIENTIFIC aspect to project management and there is a ARTISTIC aspect to project management. The scientific part is reasonably simple:
  1. One needs to have clear specifications
  2. One needs to create a good project plan that can be tracked
  3. One needs to get the right technical people
  4. One needs to ensure that all the relevant processes are followed
There are still a few more to this scientific part that I have omitted as part of this blog is not to teach project management but to draw out perspectives on why projects fail and what can project managers do about it!!

The ARTISTIC aspect of project management is something that we all need to address as well:
What do you mean by artistic aspect: Things like:
  1. Do we know the one single most thing that can make this project fail? Are we able to sniff that beforehand?
  2. Do we have adequate relationship with the customer as well as the developers so that you can address conflict effectively? Believe me- this is the toughest part!
These involve a lot of intuition and instinct- This is what differentiates a successful project manager and an unsuccessful one!

Given the backdrop that we need to balance both scientific and artistic aspects of project management- How we do hone these skills and ensure that everyone possesses it?

Unfortunately there are no DO and DONT's for enhancing the artistic aspects of project management- Its like common sense! Either you have it or you dont have it!

But one thing can be honed- Project Managers can first identify that this is an issue and if they are able to consciously address it; they will be able to transcend the scientific boundaries that they have created and think more holistically.

This area is really tricky and it is the same as THINKING- I will write about this in my next blog.

I have seen numerous projects as a project manager, account manager, engagement manager, transition manager, program manager at Photon and I sincerely believe that project management as a discipline needs to be improved still!

Till then,


Keval Prabhu said...

Nice article. Simple and quite thought provoking. I understand that it is not completely new to the audience, but what you did mention is right on and is hardly taken into consideration.

Varun said...

Very profound article. Helps readers understand the intricacies of Software Project Management in a simple but lucid manner. Issues like the ones you've mentioned definitely need to be addressed.