Archive for July, 2009

They keep moving the cheese!

Thursday, July 30th, 2009

Just about a year ago, the economies of the world were steaming ahead at jet pace; today the global economy is slowing down and we are talking of a world wide recession. Less than a year ago, the cost of a barrel of oil was sky rocketing at $150; today it is down to around $50 per barrel in the global market. Times are changing & changing fast. We can deny its existence as much as we wish to, but the truth of the matter is that change is all around us. And no one, not even our projects is immune to its effect. I mean, forget the changes in the global environment, how many of us have escaped the clutches of changes requested in project deliverables while the project is in progress?

You are probably saying “Tell me about it! No sooner than I plan for one situation than one change request turns the entire situation over its head. As if life wasn’t difficult enough already!”. I couldn’t agree more. Here we are, following PMBOK’s guidelines to the T, armed with half a dozen plans of how to manage different process areas and one single alteration, one change request from the client turns the entire thing upside down! Now is that fair?

Probably not. Truth be told, many of us would probably prefer that requirements be frozen, that status quo be maintained & that we go about our projects in an routine manner. But where is the fun in that? Are we losing out on more exciting opportunities by pulling ourselves within comfortable and familiar surroundings? Would we really be glad if our projects followed a typical beaten path or are our intellects insulted by the absence of fresh challenges in the environment? Maybe…just maybe…

OK, so maybe, change is inevitable, change…well, it changes things and change is to some extent even welcome, but there has to be a way out! How do I keep my project from getting affected by any & every change that comes by? Will these pointers help?

1.Try & minimize change

Am I asking for the impossible? Not really. I am not trying to prevent change or ignore it. I am simply trying to minimize its occurrence. How do we do that? The Requirements gathering phase plays a crucial role here. The project’s success depends on the efficiency with which the requirements are elicited from the various stakeholders, analyzed & documented. These requirements form the basis for all future work plan, costs, schedule and quality parameters. So go all out during this time to ensure that every small need & whim is collected, analyzed and properly recorded. And ensure that you use simple & the right language in documenting these so that all parties involved agree that this is what the project is going to achieve & this is what it is not. Now is not the time to display your superior verbal skills.

2.What else but Plan…for Change Management

The Change Management Plan is probably one of the most neglected but of the most useful documents. Of the various important points that need to be recorded in this plan is the definition of a change, of a threshold change value beyond which the change management process will be triggered. Also included is the whys and wherefores of the change management process – who is authorized to issue a change, what are the response times required for the analysis, who will approve the change, how will it be carried out, how will changes be prioritized & integrated and so on. Lastly, a plan is only as good as its implementation and never before. So beware the tendency to mothball this plan into the closet; use it to realize its benefits.

3.It will arrive in the next train

Aside from the fact that changes are bound to turn up is their annoying habit of turning up when things are moving at full throttle. Analyzing and accommodating the new request at this time is probably the last thing you would wish for. Talk to the change initiator about how serious is the new requirement. Is it something worth jeopardizing the present deliverables? Is there a scope to complete the project in its present form & then add on the new request as an extra feature, if technically possible?

4.Use a tool, you fool!

More often than not, projects run with an ad hoc set up. Changes come in and are squeezed into the deliverables on hand simply by word of mouth based on the relationship between the different parties and never recorded anywhere. One can only imagine the confusion faced by a new entrant into the project trying to figure out where & how this change came up. There are multiple configuration management tools that are available suited for various project needs. Use of such tools not only simplifies the entire process but also makes it more transparent. And remember, a tool has no brains of its own, so use it wisely.

5.Give way

No, I am not asking you to give up everything & leave the project. Every project has a unique deliverable & you are the most informed of the same. Ask yourself well in advance “What is it that can change in this?”. And then build in some amount of flexibility to accommodate the anticipated change. Such parametrization yields great benefits! After all, if A can change to B today, what is to keep it from changing to C or worse, returning to A the next day? Parametrize and A can change to Z tomorrow for all you care, you will be able to handle it!

Preventing that domino effect of individual delays

Thursday, July 23rd, 2009

This piece of code was supposed to be developed 3 days ago. Delay in code delivery has resulted in delay in testing & all subsequent phases.

I had no idea that this piece of work has started and that my task was to follow its completion. No one ever tells me anything!

Why bother completing this piece of work today? I still have 2 days before the scheduled deadline.

Sound familiar? As project managers, we have all encountered situations where one cog in the entire wheel of operations gets stuck resulting in the complete project coming to a grinding halt. Prevention is any day better than cure, so is there any way that we can avoid getting into this messy situation? The good news is yes, it is indeed possible and has actually been done! Wondering how? Read on.

Ours was a typical software development project with the usual phases of design & specification, development and testing. Despite being a co located team, we frequently battled with delayed deliverables. The domino effect was irrepressible – one small delay in one step and the entire block came tumbling down. So what did we do to overcome this ripple effect?

Who’s next in line?

Imagine a relay race. Each runner after the first sees his partner approach him with the baton. He is well aware that his partner’s round has come to an end and that he has to carry the baton for the next leg of the race. So much so that he gets ready by getting into the running position so that minimum time is wasted before he takes off.

We applied the same principle to our project – Forewarned is better prepared. Based on the project schedule, we knew the dates when each step was to be completed. A few days before the completion of a particular step, a mail would go out to the individual(s) responsible for the next step informing of his imminent task (this was carried out using a tool, but can well be achieved using less sophisticated means). Such prior information served two key purposes – one, it gave the individual sufficient time to wrap up the present task that he was engaged in & free himself up for the upcoming activity. This is in keeping with the philosophy of Critical Chain Project Management – Focused effort on the task at hand is better as compared to multitasking. Secondly, it also allowed the individuals to prepare themselves for the new task by seeking out relevant information and also carrying out some tasks that are independent of the completion of the previous task. For example, preparation of test data for a piece of software code may be completed even before the development is complete.

Beware the student syndrome

We have all been guilty of this at some point or other as students and probably even as professionals – the tendency to keep at a particular task until its due date even though it can well be completed before. You may ask “Where’s the problem in this if the task is getting completed on its due date?” The answer again lies in Critical Chain Project Management which advocates that projects be leveled at “50% probability” duration and that buffers be used only for critical chain activities. Student syndrome not only provides a gap where other distractions can sneak in but also eats into the buffers built into the task estimates. And no one can deny that if finishing a task on time feels good, finishing it before time feels great!

So how did we achieve this in a practical scenario? At every meeting – formal or informal, early completion of tasks was encouraged. Team members who finished their tasks early were recognized and a special mention was made in all team gatherings. Also these individuals were encouraged to take up other tasks in the time that they have managed to save. This allowed them to pursue activities like training, paper writing etc. that may not be directly linked to the project but necessary for career development.

OK, the worst has happened!

It’s not as if all was hunky dory by the use of the above methods. Despite our best efforts, things still went out of hand and individual tasks still slipped up. To prevent this, we borrowed a concept from our manufacturing counterparts. A status mail would go out every evening to all team members and project managers highlighting any task that was dangerously close to slippage. The response to this was varied – while some team members took it seriously and worked hard to ensure that they did not miss their due date, others responded with reasons as to why the task had missed its due date. Whatever be the case, this ensured that immediate attention was focused on this task & all efforts were made to bring the task back on track. Also the relevant stakeholders could be easily informed and any action needed from the client’s end was arranged for.

So did these steps eliminate all delays in our project? YES! We went from a team notorious for delayed deliverables to one that was recognized and commended for its consistent on time performance! In addition, by minimizing the cascading effect of problems in one area on others, these steps allowed us to focus our attention on other important tasks. Further team members not only co ordinated better but also found the incentive to complete their task earlier and use the additional time for non project related important tasks. This effect on team & individual morale was an added bonus!