Monday, September 29, 2008

Persuading people

After long time I found something to write on this blog. :)

While I have now kind of moved to full time management, it is essential that I persuade people about my propositions and convince them that they are good for them. Till now my motto is and will be to be as genuine in your intentions as possible. Be very true to yourself and to the person you are interacting with. This is the soul of persuading. I feel if this is not there no matter what I do, the person may not feel good about the choice he made in long run. However, even with good intentions, you need few techniques to save your time spent on convincing people. Here is what wikiHow tell us...

How to Persuade People With Subconscious Techniques - wikiHow

There are lot of related articles which are also interesting.

Saturday, April 26, 2008

Developing WBS - Effort vs Result

When we start working at a project we are very focused on the process that we follow. For most of IT projects following waterfall model, phases of the project are quite the same. Requirements, Design, Development, System Testing, Acceptance. Even in large projects, we have a time sequence in forms of iterations, phases and within each phase we follow similar patterns.

Estimations are done before hand based on the high level requirements. Which get refined after the details of requirements in first phase are done. But rarely adjusted for actual work. Glen Alleman writes about confusion between effort and results. This is a good article which explains how to move the focus from effort to actual delivery of the project. What he suggests is to create the WBS based on completing a requirement rather than for a phase of the project. One of the advantage of this is that you can actually get a pretty good view of how much work you have really completed. This also helps you work out the dependencies between various features.

My experience with project management suggests use of UML for requirements management. I used Enterprise Architect UML modeling tool for the same some time back. One of the great use of this tool is to be able to model the requirements and be able to map them with actual code components. This gives us a clear traceability between various components and requirements. So when a change in system is required it is much easier to find the impacted areas.

However, I do not agree with some of the exclusion Glen speaks about. Some WBS activities are required to ensure that the product is delivered and the people issues are also well taken care of. We do need to have a holistic view of the product in the early work. We can not break the WBS in set of features before we have addressed some key architectural issues. Also the tooling required for the project is indicated by the design. If the tool has a wider effect on the project, it needs to be considered in the WBS. But apart from these all other points are very valuable for delivering the product.

Friday, April 4, 2008

Resource Management - a TODO list

Quite some time back, I had listed various aspects of resource management on project. This was really in bulleted list format. But even in this form it is quite usable. Here it is:

Aspects of Resource planning & management

- People Management - Key areas

  • · Individual goals
  • · Work time restrictions
  • · Interpersonal relationships
  • · Handling egos & other emotional issues
  • · Distinction between long task and avoiding work
  • · Distinction between commitment and productivity

- Planning induction of resources in team

  • · Identification of resource requirements

o Defining skills required

o Soft skills

§ Client Communication

§ Client business understanding

§ Scope management

o Semi Technical skills

§ Configuration Management

§ Defect management

§ Build Management

§ Backups & BCP management

o Technology skills

§ User Interface

§ Usability

§ Look & Feel

§ Scripting

§ Core components

§ Data Access

§ Database

§ Architecture & Design

  • · Working with gaps in skills

o Impact on effort

o Impact on schedule

o Training needs

o Risks

Induction process

  • · Raising request for resources

o Within Account

o Delivery Center (DC) level

o Corporate level

  • · Assessing resources

o Identify assessors

o Provide clear req. to assessors

o Skill gap analysis

o accepting resource

  • · Inducting resources

o Core skill gaps training

o Semi Technical and Soft skills training

  • · Planning for identification to induction lead time

o Calculate the lead time

o Workout the latest date for inducting a resource

  • · Contingency plan for delays in getting resources

o Plan for backup resource

- Planning for resource activities

  • Project Core activities
    • Planned activities
    • Team meetings
    • Environment setup
      • Desk allocation
      • Hardware setup
      • Software setup
    • Configuration tool connectivity
      • Source Control setup & folder sharing
      • Initial checkout
      • Daily check-ins
      • Daily build & deployment
    • Client calls
    • Onsite team calls
    • Timesheet
      • Entry
      • Approval
  • Account level activities
    • Conducting Interviews
    • Meetings & trainings
      • Management reviews
      • KSS (Knowledge Sharing Sessions) & Generic trainings
      • Town hall meetings
    • Fun activities
      • Quarterly meets
      • Fun games and team building
  • DC level activities
    • Fire drills
    • Exhibitions, Road shows, Quarterly meets
  • Individual level activities
    • Visa applications
    • Claims, Leaves, Reimbursement applications
    • Goal settings and Appraisals

Monday, March 17, 2008

Follow up on competency

My colleague Deepak Sharma wrote two good follow up articles on competency building. The one I liked most was the can do/ will do analysis of team members. To quote from the blog

Here “Can do” refers to employee’s qualification to do the job and “Will do” refers to employee’s motivation to perform. The results are four alternatives:

  • Can Do/Will Do - Ideal Situation. The employee is fully qualified and doing the job as desired. The Manager should motivate and incentivize the employee suitably.
  • Can't Do/Will Do - In this case, employee is willing to put in the efforts but is ill equipped skill wise to do the job. This suggests a competency gap and Training will help in this case.
  • Can Do/Won't Do - In this case, employee has all required competencies to complete the job but still is not performing the job as desired. This shows a Motivational problem and counselling will help in this case.
  • Can't Do/Won't Do - In this case, the employee is lacking in both skills and motivation. Employer needs to weigh the options of counselling the employee versus the success of such counselling. The result could be Job in Jeopardy situation. As Kenneth Cooper notes in his book, Attitudes cannot be developed, only counselled.

It is interesting to note that Can Do/Can't Do dimension of this model is competency based while Will Do/Won't Do is not since it involves dealing with motivational attitude.

I am wondering how to counsel the Can Do + Wont Do guys.

Sunday, March 2, 2008

Thoughts on building technical competency

Often we are faced with challenge of building competency in our organization. These competencies are required at all levels. I will be writing more about IT industry here as I belong to this industry.

Last year, we started an initiative to build competency for our group. I had few ideas about developing competencies in areas of programming and designing. Our managers also were facing these challenges and they had approach to handle this. We clubbed these together and came up with a plan to tackle this.

In the first step, we collected data about our existing competencies. The way to do that was to identify three top most relevant competencies of each of our team members. This also included the project leads and middle management. The focus was on "relevant skills". This meant that if someone had worked extensively on a particular technology some 2-3 years back we may not consider it in top 3. We rated the skills on a level of E1 to E4. Then we also mapped the target levels of each of these competencies in the current project or quarter or half year. Although we collected data from the teams, it was validated by the leads to reflect the usable level of the skills.

Once we did this analysis, we started analyzing the data and listing the E3 onwards level employees. These were called as the champions of the skill area. This list is useful in few key business areas; recruitment, training, responding to proposals, estimation, solving problems of projects, knowledge management.

Alongside we also looked at skill gaps and came with a plan to enhance the skills in those areas. Our main focus last year was on conduction knowledge sharing sessions (KSS). For these KSS we had different types. These were,

  1. 1. Formal training/ presentation on a technology area
  2. 2. Workshops for areas like design
  3. 3. Hands on sessions
  4. 4. Project showcase to demonstrate the in-house skills and build a sense of pride

Today IT industry in India is a hot job destination. Not everyone comes here for the love of job/ industry. Many people also join this industry because of the good salaries. In such scenario, finding people with right attitude towards technology is always a challenge. Some typical trouble makers are people who work within the scope of given work at all times and do not go beyond allocated work. There are other people who want to avoid work, they pretend to be working but come up with some issue or the other at very late stage. The senior members then feel that they better solve the problem themselves.

To some extent this problem can be solved by making people involved and committed to work. This commitment would not come unless we make the job interesting. While this may look like chicken and egg condition, I personally feel that we can crack this by expanding the vision of the team members. Show them what other people at same rank are doing, build a sense of confidence and pride in the work they are doing, show them how technology is changing lives of people, expose them to intricacies of beautiful programs. Even though we may not get 100% conversion, we will definitely create greater interest in the work, resulting in more involvement if not commitment.

This still looks more like an emotion and passion. I am sure most skeptical managers will get back to you and say, "Yeah! This is all fine but then show me how to measure this increase in skill level and how do I show tangible results to top management!" Essentially they are talking about KPI at all levels. There are many ways to show this. The simplest measure is to show how much more business you did with same number of employees. There are lot of ways to estimate size of the software that you produce and there are as many people who will tell you that we can not have a real universal measure of productivity. But this number (Business/Team size) is simplest to demonstrate to management. We measure it a little in detail in form of cost budget and account for the seniority of team members based on designation.There are some more simple metrics which can demonstrate the progress. I mentioned earlier about top 3 skills each individual team member has. We can also track progress in this. Others being industry standard like cost of quality, defect density, quality of peer review etc.

When more and more people get excited about learning new things there is one more challenge. To provide right number and quality of opportunities to these individuals. If the organization has a strong Knowledge Management system, it is an immediate beneficiary. Asking people to blog, create reusable components, frameworks, present technical papers and rewarding all such activities and publicizing the achievements are key drivers.

We started this initiative last year. It slowed down due to various communication issues. For example, many of our team members were working on client network and we did not have a common web site where we can put up all the collected resources. Also the response from team leads was not so enthusiastic. Probably they were more skeptical. This year things have improved on communication front. Whatever we did last year has definitely shown some results and now more and more people are realizing the worth of such exercise. We are putting our bitter experience in a positive mind set and taking this forward. I am sure it will be more rewarding.

Tuesday, February 19, 2008

Anatomy of a personalized web portal - Part 1

My team is currently working on a personalized portal for a large technology company. We worked on the complete design of the site on top of a proprietary content delivery platform. Although the content delivery is already take care of, a lot of stuff was remaining in terms of designing a personalized portal on this platform. First of all the platform is designed to serve static pages. This posed the first challenge in terms of how different content is delivered to each user. All the optimization in the platform is geared towards serving more statically composed web pages than a personalized content. I will be jotting down some of our design experience and the path we followed for designing this site.

First of all we looked at the different parts of the pages that are being composed. Each page has a common header with very little personalization. Mostly it contains the greeting message and list of different pages the user would create or the page navigation bar. In almost all views this would be constant per user and will not be changed so frequently. Remaining header is constant across the site. We have to consider theme-ing the site though. Next comes the footer. This part is really simple static text. The main component of the page is the middle area where the users add different blocks, gadgets etc. This section is the real personalization. However if we look more into this section we would find that there is even one more level of commonality that can be abstracted. Each of the block has common border with a fixed set of context menu. This also can be taken out of personalization. Lastly the arrangement of these blocks on the page made the layout. It was decided that we will have a fixed set of layouts rather than allowing the user to add any arbitrary number of columns in the page. Most of these layouts are combinations of different column numbers and widths.

As a result of this analysis we short-listed following set of components

  1. Header text (Localizable)
  2. Greeting message (Localizable)
  3. Navigation tab (User defined count and text)
  4. Static Footer Text
  5. Theme (Mostly images and styles. Not localized)
  6. Layout (No. & widths of columns. No localization required)
  7. Boxes and context menus (Localizable for titles & menus, titles can be clickable links and a small image/ icon to identify the module)
  8. Content modules (As per the independent gadget or content developers choice)

In the next article we will see how this can be taken further and what were the other design considerations.

Tuesday, February 12, 2008

Three companies

The challenge

Recently three IT companies were in news for job related issues. Due to the appreciating rupee most of the Indian IT companies are under margin pressures. The way these three companies are responding to the situations shows their character and the underlying message they want to give to the industry and the investors.

Actions

TCS in response to the challenges decided to cut VA of its employees. In addition to that it asked 500 of its non performing employees to look for jobs elsewhere. While responding to the question related to similar condition, Infy replied that if you want to retain talent you need to pay more. While IBM without much noise, conducted tests for its junior staff and removed the under performers. It did not give any number and responded that it is part of their regular appraisal process. TCS also responded that the job cuts are part of regular process.

Response

In most of the capitalist world job cuts are a regular affair and investors take it positively, as a measure to cut costs and increase efficiency, In India everyone has taken it pretty negatively. Investors feel that this is a sign of bad times ahead. The employees affected by these harsh measure have vehemently posted their replies on the various websites. Many of the TCS' past employees reiterated the reasons for leaving the company. Interestingly enough, many of them could not write their posts in decent English. Indian media, specially business news teams, gave many of these news as headlines or breaking news. One channel went on to interview failed employees of IBM and reported that the employees complained that they were not given enough time to prepare etc.

Analysis

Now when one analyzes the actions of each of these companies and tries to read between the lines, it shows the character of these companies, their management and employees. Let's take one by one. TCS' message is loud and clear. All employees are part of the performance and if the performance is bad all are equally responsible. The VA cut is informed to be same percentage across board. About two years back, TCS paid additional EVA to its employees but only the high performers. TCS also first time publicly declared that it had asked its non performers to leave the company. Although it says that it is part of their annual process and goes on to explain that this is just 0.05 % of it's total strength, the message is clear that the non performing employees no longer have place in the organization. TCS traditionally being known as "government like" company, this message is very important. Infy on the other hand is known to be a modern company. It has risen from scratch. Employee retention has been a major challenge for Infy as it is for most of the new companies in Indian IT. TCS on the other hand has enjoyed very low retention rate for years. So it is highly important for these companies to retain their employee base. The statement from Infy is therefore not a surprise. For IBM it is business as usual and it has not given importance to the media or the reports in media.

More about TCS

Me being associated with TCS, has to talk more about it. In last 3 years, TCS has grown to raise it's employee strength to 4 times. This means that there are at least 3 new employees per a seasoned TCSer. I am assuming it takes about 3 years to be mature in an organization and talk about it as your own company.

Now this poses a great challenge for any management to enforce the same values and principles in the organization. Over these three years the recruitment criteria for TCS has also diluted due to strong demand for resources. When you open the gates for all, then obviously there will be all sorts of people coming in. There has to be either a strong filter or a regular review of the intake.

Recruitment today is a very tough task. Due to the lucrative pay package, all sort of people want to join and IT company. Choosing a real good candidate is like finding a needle in haystack. There are already enough filters in the recruitment. Also when you induct such a high number of fresh graduates, it is not possible to strengthen the process any further. For lateral hires this is possible to some extent. However the cost of such filters today is also very high if you consider the loss of business due to opportunity loss. When we look at this, one will realize that applying the filter to the new joinees on a regular basis may be the best option. This indicates that the quarterlies (quarterly appraisals) for new joinees have to be taken very seriously and this process must be strengthened. Today this is left to the project where the new employee has joined. But it may require intervention from HR/ senior management. From this perspective asking non-performers to leave should be a more regular activity in an organization like TCS and it can pick up few things from IBM in this regards.

Continuing on the same lines, the VA in TCS has been stable and assumed to be constant part of the salary till date. Going forward, this should really be a variable. Cutting VA also giving a message to non performers not to assume things. This is kind of a shakeup. In terms of amount, TCS senior management will be the most affected set of people as the percentage of VA in their pay is bit higher than the junior. It will be interesting to see how these people respond to this corporate action in coming quarters. But it is the not so junior employees who will be impacted the most by this decision. Many of them must be recently married, have had purchased a home and car and may be paying heavy loan installment. A lot of these people actually go overboard and take loans more than they can repay. VA is also taken into account while taking loans. Now there is a good chance that many of them will seek better opportunities, whether they like TCS or not due to such financial constraints. This also indicates that there could be a gap in the lower management and these positions have to be filled by someone senior or junior. Will the top management will be able to drive profitability through junior management? Will the middle management be able to take up this additional work? Answers to these questions will decide the future of TCS in coming quarters.

Story of two salesmen

There is one short story about marketing which is relevant in this context. In a candy store, one of the two salesman was always flocked by children. The other guy was hardly selling anything. The manager asked the first one, do you have some magic that attracts the children towards you? The salesman responded, I don’t need magic. What I do is I put less candies in the balance and then top it up for correct weight. The other guy adds more candies and takes out some to adjust the weight. This give the children a feeling that I give more candies than the other.

PS: As this post is getting published, TCS CEO announced that the annual pay hike in TCS would be around 15% despite the cut. Hum ...