Saturday, December 19, 2009

Planning & Re-planning

Someone has said, "What gets measured, gets done".

Very apt in the IT world.

A Project Plan is a roadmap for the project, it tells the team, what activities and tasks get done, by whom, the sequence and by when these activities have to be done. The project plan helps the Project Manager measure the progress made in the project against plan at any point in time.

Let's begin at the beginning....

Stage 1: The customer states the "Business Problem". The IT company puts together a team to provide a solution to the customer's stated "problem". The Business Analyst documents the requirements.

Stage 2: A Project Manager is appointed to implement the solution. Then the Project Manager analyzes the requirements, puts together a team to implement the solution.

Stage 3: The PM also makes a high level Schedule. This high level Schedule contains Milestones that lead to the implementation of the solution.

Stage 4: The team analyzes the requirements and comes up with a Design. The Design is a Technical Solution to the customer's stated and implied requirements.

Stage 5: Once the design has been reviewed and approved, the PM, makes modifications to his earlier schedule and adds details to enhance the Plan.

Stage 6: The development team starts implementing the design.

Stage 7: The PM tracks the progress made against the plan, discusses with the team on a periodic basis, understands the issues faced during development, analyzes the risks, modifies the schedule to provide a realistic picture about the project at that point in time.

The rest of the project gets done by repeating Stages 6 and 7.

Let's pay attention to Stage 3. This is the PLANNING stage. A plan is made with the available information. An important to thing to remember is there are a number of assumptions made in the PLANNING stage. But, why Assumptions? can't we clarify from the customer upfront? can't we take a decision on the direction to take on the solution? I agree, "assumptions are the mother of all goof-ups", yet, assumptions are an important part of the Project Planning stage. Each of these assumptions are documented and agreed with the customer. Each assumption is eliminated and a hard decision is taken as the project progresses. An Assumption is a "stand" taken by the Project Manager and the Customer on a problem which has no solution at this point in time. To move ahead, the PM and the customer take a "stand" and say, ok, let's assume at this point that A will happen and move ahead. Hence the assumptions.

Let me give an analogy...

I have to travel between Point A to Point B, a 100 kilometers apart. I choose to travel by car, my car can do a 100 kmph, so I need 1 hour to travel from Point A to Point B. My car delivers a mileage of 10 kmpl, so I will need at least 10 liters of petrol to complete this journey.

What else would I need?
  • I need my sunglasses (Assumption: I will be traveling in day time), 
  • I need some sandwiches or short eats and water (Assumption: No hotels on the way), 
  • I need some extra clothes (Assumption: I will have to travel back next day), 
  • I need some Music CD's (Assumption: I will get bored on the way)
I have made my plan and made some assumptions. I am now ready to go on my journey.

Now, let's do some "What-if" analysis just to make sure that my plan is robust.
  • My car starts at speed = 0 kmph, it takes 15 seconds for my car to go from 0 to 100 kmph. This means, I have to add 15 more seconds my planned duration of 1 hour.
  • The road will not be empty, there will surely be some traffic and some signals. There goes another 15  mins. I have already added 15 mins and 15 seconds to my Original Plan of 1 hour.
  • If I have to travel at night, then I will not be able to travel at the planned 100 kmph, then I will have to reduce my speed to 50 kmph, so the journey will take an additional 1 hour. This means, my planned duration of 1 hour will get extended by 1hr, 15 mins and 15 seconds.
  • The last time I had travelled on this route, there was an accident that had blocked the road, so I had to take a detour, this detour added 25 kms and 30 mins to the journey through a village.

So, I must be prepared for a journey between 100 to 125 kms and duration of 1 hr to 2 hrs, 15 mins and 15 seconds against the original plan of 1 hr.

After the planning and considering all the possible points, I set off on my journey.

While I am on the journey, I am traveling at a 100 kmph as planned, if I see a truck coming towards me at a 100 kmph, what am I supposed to do? a) I wait for the truck driver to react and go on his lane, b) I react first, slow down, deviate from my path and save myself.

I will most probably choose option b, because, this is in my control and option a is not. So, I better do everything in "my control" to save my project and my self. I will be set back by a few more minutes on my journey, but that is ok.

End of Analogy...

To end this discussion, I would like to re-iterate on the following points
  1. Planning gives the project a direction and serves as a map for the customer and the project team.
  2. Assumptions are important as they help answer some questions for which we do not have an answer as yet.
  3. What-if analysis is another name for Risk Management and helps identify issues ahead of time. The effectiveness of the Risk Management depends on the experience and maturity of the people involved.
  4.  The Project Manager and team must re-align with the goals of the project when they face issues, like the truck coming at me at 100kmph. This is only possible thru' a periodic RE-PLANNING exercise.

To sum it up, success of the project depends to a large extent on the Planning and Re-planning exercise and not just on the team's competency and experience.

Stages in Professional Life

I read somewhere a few years ago, that professional life goes thru' the following stages...


ASSOCIATE >> INVOLVE >> SUPERVISE >> MANAGE


Initially, I read this again and again to understand more, but was unable to understand the concept. When I read each word independently, it made sense, but when I put it all together, it was more complex than the individual words. After many hours of thought, I was able to decipher the meaning of the words when read together and it all started making sense.


Here's my understanding...


My company makes creative content products. When I joined this company as a Manager, I was not having a deep understanding of how the product was made and the kind of effort that went in to deliver a product that the CEO was so proud of, the team was thrilled developing and customers loved it (the Forums section in the company website talked all about it).


How am I to get an greater understanding of these awesome products? I thought.


The only was for me was to ASSOCIATE with the product development life cycle. So, I talked to each member in the team to understand how the products were developed, I documented each stage, created a workflow, defined the quality control processes, got these documents reviewed and approved, and published this as a handbook. I was proud of this document because this helped me understand and was used in all the induction programs in the next 5 years. To achieve this, I had to ASSOCIATE with the process, I had to spend time to understand what the team was doing and not worry about how it was being done.


The next stage was INVOLVE. Another tough one. I concluded, to INVOLVE means to CONTRIBUTE. I had to make a contribution to the Product Development Lice Cycle. I did not possess the skill required to develop the product, I was supposed to Manage this team, so the skill was not important, I had planning skills, but this was only appreciated by the Management and not the team. This set me thinking again, how to I CONTRIBUTE? I looked thru my Process Handbook again to figure out how I can make that contribution. I got my answer, Quality Control, this did not need any special skill, but an eye for detail, I could do it, so I started my discussion with some of my senior team members, to understand what an error is and ways to catch it. I got started with testing each piece of creative content, each time I had a doubt on an error, I would take that up for a discussion with the senior team members and they would confirm if it was actually an error or a special effect. 500 animations later I was acting independently, logging bugs with animations and team members would accept these bugs as "bugs". From the team perspective I was CONTRIBUTING, from the management perspective, I was contributing with the production plan, schedules and status reporting.


Now that I had passed thru' the ASSOCIATE and INVOLVE stage, I moved naturally to SUPERVISE stage. I could talk the team's language, I could understand when the CEO described the new product, and could teach a bunch of new joinees how to test the product and catch defects. In short, I was able to earn some respect from the team, new team members would respect me because I had interviewed them and also trained them. I had demonstrated my potential to the management of my company.


After having gone thru' the ASSOCIATE, INVOLVE and SUPERVISE stages with multiple teams, it was time for me to MANAGE. I was managing multiple teams and processes, I was orchestrating the delivery of multiple products simultaneously...... finally, I was the MANAGER.


This is not the end....


After a few months, I realized that I was performing at the SUPERVISE stage and the MANAGE stage at the same time, I was having issues with meeting my goals and targets. I thought, I am the Manager, so why should I supervise?


I had 2 choices to solve this problem: 1) go to the management and complain that I need more resources to do the Supervise role and 2) train up one of my current resources to take on that responsibility.


I chose option 2 because, it was easier for me to elevate someone from within the team instead of hiring a new resource and have him go thru' the ASSOCIATE, INVOLVE and SUPERVISE stages. Now, I can get a resource within the team, who has already gone thru' the first two stages, so I have a ready made solution on hand. This results in one more problem, loss in productivity. To resolve this, I can hire two new resources at the bottom of the Pyramid. Each of these new resources will contribute 50% of the lost of productivity and will cost 1/3rd the cost of the more experienced resource. This is results in making up for the lost productivity completely at a net saving of 1/3rd the cost of the experienced resource.


This worked well for me as well as the company.


Every professional/employee must go thru' these stages during his/her career. This is applicable to every individual from a trainee to the CEO.

Performance Vs Potential

I have had some serious discussions with my team members and my seniors on the topic of Performance Vs Potential.


In short, the agreed definition of "Potential" is the capability of the individual, something to do with future, for example: "This person has the potential to be a Manager in 5 years". "Performance" is something more "real", an evaluation of the past, what an individual has achieved in the past.


Candidates are hired based on the potential because the performance cannot be judged in a few minutes or hours, but then this is where the importance of "potential" ends. When the candidate assumes the role of an employee, then it is "performance" all the way, little weightage is given to "potential".


Employees are appraised to evaluate their performance for the past months, to evaluate the plan and the achievements against those plans, and then rate the employee whether he/she was below expectations, met expectations or exceeded expectations. A feedback is provided and areas of improvement are identified, targets are discussed and the employees' feedback is received on the team and the organization.


One of the most expected outcomes of an appraisal is the "raise". Gone are the days when people used to take the feedback constructively and try and get better in what they do, enhance and align their skills to the company's objectives. It is unfortunate that the appraisal meetings are now reduced to a marketing gimmick, where the appraisee is trying to present a "larger than life" picture of his/her achievements and the appraiser is trying to the punch holes in this picture, telling the appraisee that he/she is not as good as he/she thinks - sad, but true.


Professionals must think objectively on the "performance" and not on the "potential" because it is the performance that helps build a career.


Managers must also be more objective while appraising their team members. Today, the managers are governed by trying to fit the performance of the team members to the "Bell Curve". A quota for the number of people in the team that can get an "outstanding", numbers who can get an "exceeds expectations", number who can be assigned a "meets expectations" and finally the number who can be assigned "below expectations". The Manager's point out the personality issues rather than focus on the performance of the individual. Managers must identify the potential in the team members are try and maneuver their careers thru' a discussion and by counseling. The Manager's responsibility is to help build careers.





Career

One question I always ask myself when I think of my Title & my role in the company, "Why am I, where I am?"

The answer: my company hired me by evaluating my skills and my experience. They brought me onboard to execute some responsibilities and contribute to the organization's objectives. They brought me onboard because they felt I was the right choice for the role.

Now the ball is in my court, I must deliver what I was chosen for. This is the difficult part, but not impossible.

Primarily there are two types of companies that I have come across, a) those that have clearly defined goals for each role and b) those who don't have clearly defined goals for various roles.

The first type of company is more mature and their expectations from the employees are clear, example: established large organizations. The latter type are a little lower on maturity, example: start ups. When I say "maturity", I mean maturity of the organization and not of the people. The maturity of the people does not depend on the maturity of the organization and vice versa.

I have worked in both types of organizations and have had some difficulties in the latter type. The difficulties, more or less, were self created and not the fault of the company or it's management. It was I, who did not understand the expectations and was expecting the goals to be in black & white, where it was not possible.

Large organizations have most of the business processes streamlined and hence the exposure of the individual is more focussed and within his/her role. In start-ups, the business processes are not yet mature, hence the people are required to perform on a cross functional level rather than a focussed set of responsibilities, hence resulting in a much bigger exposure to the employees.

It is important to ascertain your strengths and weaknesses, identify what is important to you and what is not, from the career perspective. Example: in my case, my strengths are communication, process definition & implementation, team building and leadership. My weaknesses are software programming and software design. Things that are most important to me are "Planning and executing", "getting the job done with maximum efficiency", "learning", "application of knowledge", "finding new solutions to old problems" and "variety of tasks & multi-tasking" to name a few.

The key is to en-cash on your strengths, work on your weaknesses and get what you want in a career.

One mistake most people make is linking "the job" with "the compensation". The problem with this mistake is that it gives you the results (good or bad) after a long time.

For example, a programmer in Visual Basic decides SAP is the way ahead based on the money his friends are making by working on SAP. When one of my team members comes to me asking for a change in "platform", I acknowledge his/her request and the need for a change, but I also try and figure out why the person is asking for a change, most time, the reason is compensation. It is difficult to get this out of a person, but cross examination often gives me results. I don't try and change this person's mind, because there is not point, I would be "the enemy" in no time.

I always ask them one question, "if I buy a brand new car, and if you ask me to let you drive this new car, would I give it to you?" Most people say I would, then I ask them, "why would I give the car to you?", for this they reply, "because you trust me". Then I tell them my answer, "I won't let you drive my brand new car, because I don't trust your driving skills". By this time, the person is confused, and is wondering what point I am trying to make. I explain, "analogy of the car situation is the change of platform situation, I am not in a position to allow you to work on a new technology unless I am sure you are good at it".

This is how the people react:

a) Some people buy this thought, take it positively and work towards earning a change without compromising on their current responsibilities and become more efficient in the process. This improved efficiency gives them a lot of time to spend on learning a new skill.

b) A few others, think I am wrong and start seeking a new job just to show me that they were right and I was wrong. In this bargain, they start losing focus on their current assignments, lose interest and ultimately they become desperate and lose out finally.

c) Some give up, and get back to the job.

Building a career is not a joke, one must be careful, cautious and do some analysis before one makes up his/her mind. This may take time, be patient. I have taken almost 15 years to make my career. In these 15 years, I did not once compromise on my current job, I gave it my best each time, getting better at it and feeling good about it. I chose to do my job because it was earning my bread & butter.

A career is what you make of it. It is an individual's responsibility and not the organization's! The company has hired me to do a job and I must do it. My company will invest in a training for me if it enhances my skill and ability to perform my current tasks. For a C++ programmer, the company may invest in a OOAD course, as it is will add a design skill to the programmer, it will give him/her the ability to perform at a higher level. If this programmer, tells the company that he/she needs a training on Astrophysics because he/she loves the subject, will the company invest. The answer is "NO", it will not.

It is the individual's responsibility to build one's skill, ability and competitive advantage. Once you have these qualities, the boss will give your request an ear and try and do something for you because you are worth it. If you are the best in a skill, and continue to deliver consistently, the company will not think twice before giving you more responsibilities and investing in you, hence building your career, but you have to make that beginning.