Thursday, August 27, 2009

Knowledge Acquision Plan

Extracted from my 2005 trip report, but still relevant, I think.

Knowledge acquisition policy is one of the most basic business strategy building blocks of every high-tech company. In fact a “knowledge acquisition plan” specifying which knowledge is produced internally, and which is purchased from outside and in which form, should come before any other “acquisition plan” including furniture, computers, training courses, and hiring. Only by having a clear understanding of which knowledge constitutes the company’s core competence and which mission-critical supporting functions must be performed in-house, a conscious decision about how many employees of which skills are required could be made.

Every high-tech company spends substantial amounts of money on books, training courses, conferences, mentoring and consulting services, hiring subcontractors, and outsourcing certain projects. Even though our Knowledge and Learning Centers, IT and Finance departments provide a wonderful logistics support for these activities, having a clear long-term knowledge acquisition plan is still a would to be achieved goal. Hopefully this paper will contribute to making this goal closer.

What’s the Difference?

In order to have a cost-effective knowledge acquisition strategy one needs a clear understanding in what way are consultants different from subcontractors, trainers and mentors, and what could be an added value of each form of service.

Consultants are usually experts in some specific technical area: testing, project/product management, software engineering. Even though good consultants could (and usually should) be good trainers and mentors in their area of technical expertise, their main added value comes from a different source: general systems analysis and problem solving. In order to better understand what’s the difference let’s briefly consider each type of service.

Subcontractor

A subcontractor is a person or a company, who does possess particular skills and/or knowledge about a subject, which are not mission critical for the company business, and do not belong to its core competence. However developing products using these skills and knowledge cannot be outsourced due to some logistics, intellectual property rights or contractual limitations. For instance, developing an auxiliary special-purpose tool could be sometimes effectively subcontracted.

Subcontracting is an effective cost management tool since it allows benefit from a certain set of professional skills without establishing long-term employer-employee relationships.

To sum up, subcontractors bring particular knowledge and skills and by themselves apply this knowledge and skills to particular company’s projects.

Trainer

A (external) trainer is a person or company, who provides a (semi-) formal education in from of frontal lectures and generic exercises on a subject, which is mission-critical, but does not belong to the company’s core competence. For instance, software engineering practices might not belong to your company core competence, but still be mission-critical for your business success and thus demands a well-defined external training program.

To sum up, external trainers bring to the company particular knowledge and skills in general without applying them to any specific project.

On the other hand internal trainers and mentors usually help newcomers to acquire knowledge and skills, which do belong to the company core competence or established practices.

Mentor

A mentor would be the same (or another) person or a company, who provides training follow-up services for the employees day-to-day activities. For example, an instructor, who helps software engineers to apply the Test-Driven Development approach to developing their programs, would play a role of a mentor.

To sum up mentors help the company to apply particular knowledge and skills to the company’ projects, but (ideally) do not implement these projects by themselves.

Consultant

Although a good consultant is sometimes engaged in training and/or mentoring activities (or whatever is required to make a meaningful progress), that would not be his/her primarily contribution. A good consultant seldom solves problems, but rather helps the company to solve its problems by assessing the current situation and evaluating available choices.

When utilized wisely a good consulting service helps the company management to better understand which problems need to be solved, which would be better to ignore, and which external help in a form of outsourcing, subcontracting, tools, training, mentoring, or whatever else, is required in order to solve these problems.

In particular, world-class consultants are savvy general system analysts capable of finding problem root causes and conscious evaluation of realistic solution choices available at the company’s disposal.

Human factor plays a major role in all but the most basic technical problems, and a good consultant needs to be experienced and skillful enough to handle even the most bizarre situations caused by broken interpersonal communication, incongruent behavior, self-imposed constraints, automatic “survival” rules, poor emotional intelligence, incoherent reward/punishment schema, or sometimes just outdated and ineffective company structure. When the root cause analysis task is taken seriously, dealing with these “dark” sides of the company life is almost always inevitable.

With this regard external consultants have a certain advantage over internal ones. First, as Jerry Weinberg says “the fish is the last who sees the water” and the most challenging part of each problem is to acknowledge the problem. External consultants are by definition independent, (supposed to be) not scared of or emotionally engaged in anything and thus could see the situation as it is rather than how the company employees and/or management want it to be. Also, an experienced consultant has already seen more than one company, and since very few problems are really unique, could supply a basis for reference and information about which choices are available.

On the other hand, internal consultants are more familiar with the company business, so sometimes a combination of the both types could work the best.

We all are consultants

The modern high-tech business is turning out to be a more and more challenging business, with the ever increasing weight of human factor, where having a good consulting tool kit starts to be a matter of survival. In a sense we all are playing a role of consultant under different circumstances. To be a successful vendor we have to provide good consulting services to our customers. To be successful managers we have to be able to be good consultants to people how are reporting to us. To be successful technical leaders we have to be good trainers, mentors and consultants to our teammates. Even in order to be a good subordinate one needs to be a good consultant to his/her manager.

The Best Advice I Can Give You

Having said all that the best advice I can give, as an experienced consultant, is "never take consultants too seriously". This is a kind of vaccination you have to make before you start working with consultants. All consultants are humans and could have their own blind spots. But this is not the main reason. The main reason is that sometimes companies take consultants too seriously and involve them too deeply in strategic decision making. This is dangerous because consultants normally do not have to loose as much as the real stakeholders have. The latter makes the whole world of difference. Decisions should be made only by those, who have a real stake in the matter. Good consultant should know where and when to step aside and not to push too hard. Making decisions in principle is not the same as making decisions in real and we all have to be aware about this.

No comments:

Post a Comment