Wednesday, November 28, 2007

Couple of week back I was asked to be a part of an "IT start up" discussion as a silent observer. Though my role was a passive one, I was strongly drawn into it due to the intensity of the discussion. One person was seeing the start up as a way of making use of his skills to create wealth while other was using it as an escape route. I believe that the alliance would have never worked from the start. This may be due to the fact that, the result of the whole startup was different in each persons mind. However, just like most things, it kept me thinking.


Here a venture capitalist (VC) is offering these people a substantial amount of money for a period of six months to do research and come up with a software. Sounds good. Obviously, people may wonder about the catch. The most important thing is "there is no catch". If you are not able to deliver it in six months, everyone including the VC says hard luck and go home, thats all. But if you are making some way and there is even a distant probability ( please understand, it is probability not surety) that some software could be developed, the VC will fund you for another two years or so.

A layman would have wondered in which industry such a preposterous way of doing business will happen. Where else but the IT industry.

This blog is to all those programmers out there ( good, bad and the excellent). And it is coming from a disgruntled "unskilled" wanna be entrepreneur. I, coming from an entierly different industry could not digest how these people can give up a chance like this. I am sure that most of the people like me would have felt the same. For example one of my friend said she would like to start a boutique but the funding is so hard to come by. I know that she has the skills and the confidence to make her boutique successful and is quite willing to take the risk. Apparently starting such business requires large amount money for the infrastructure, stocks, employees and off course your time and skill. But all an IT start up need is a computer, Internet connection, may be some books and your time and skill. You can work from your room itself. The amount the VC is paying is to take care of your regular monthly expenses. But in the case of other businesses the money is only for the business. You may have to find another way to sustain life till the business breaks even.

Then why do the programmers in India, where each software company having an average of fifty thousand employees, would not take this route. The risk is minimum, and even if you are not able to come up with a successful software you will definitely get a job later. You lose nothing. While in the case of other businesses they will be neck deep in debt. May be the techie guys of Indian IT industry really don't know how to program. But I strongly feel that it almost time where the techies of Indian IT industry take a look down that path. Or start thinking about their capability in programming. As you are privileged to be in such an industry where there are people willing to bet on your brain and hard work.

Sunday, November 25, 2007

Defining Knowledge in KM

It all started with the question, How can you define knowledge? And how can you manage something you cannot define? Asked to me by a friend who have always been skeptic about the "MBA way" of managing. He was referring to this new initiative that everybody in the management circle have been raving about, "knowledge management". Incidentally, I just joined the KM department of a software company. Though the discussion went nowhere, this question made me thinking.

Instead of trying to define the knowledge I was wondering about the other streams of management like Marketing management, Strategic Management, Human Resource management, Financial management. In particular, about the marketing Management stream. Initially marketing was a part of sales. The stream of marketing management as a separate subject was acknowledged only around 1920. I was wondering about the difficulties with which the early proponents of marketing conveyed this concept. The first question they would have faced is how you can define a market?

Answers have been sought and several theories have been proposed. But the process of defining market according to segments (demographical, geographical, etc), competitors, mindspace, consumer behavior etc that we have taken for granted today came as a result of answering this basic question. How to define a market? A marketing plan starts with a product and then trying to define a market for the product based on the above mentioned dimensions. Now, how do marketing managers identify a segment and its properties or find out the consumers behavior. These are all taken care by another field known as marketing research. Marketing research is nothing but collecting data through series of surveys and subsequent statistical analysis of the data thus gathered. Armed with the knowledge derived from the marketing research, managers go on to define the market and then develop a marketing plan. Well, it sounds easy and practical. Practical yes, but its not easy as it seems. Marketing research is a tedious and costly process. But no marketing plan can be prepared without it. Even a basic step like defining a market cannot be done without the marketing research. Now, where Am I getting to?

By Understanding the evolution of marketing from such a vague concept to a well developed, well researched, well defined and a clear stream of management, we can look into knowledge management from a new angle. It is essential to define knowledge to implement the concept in an organization. Now, how to define the knowledge part. Just like each organization come out with different kind of products, Knowledge thats been produced by organizations also differs. Here, knowledge does not mean everything that is known to the people working there. But it is the knowledge that directly or indirectly constitutes the final output such as a product or a service of an organization. Through process studies we will be able to identify what all that factor in a knowledge of a particular organization. Now to define the knowledge a knowledge manager should conduct an extensive research through surveys and statistical studies.This help him in identifying the processes, knowledge generating nodes, knowledge gaps, and most importantly who are all the users and producers of such knowledge.

Implementing a knowledge management initiative without such research and defining knowledge for that organization is like launching a product without studying the market. The probability of failure will be on the higher side. unfortunately most of the knowledge managers that I have came across does not really care or deeply analyze the Knowledge management this way. Most of the time they are happy to say that we have a KM system in place. For most of them, discussing about knowledge management is enough rather than even trying to make it a success.

Saturday, June 30, 2007

Manager on UNIX

This piece is not about Unix. It is how I felt about Unix.

I am a "Manager" by industry nomenclature. I have noticed that managers mostly use the Windows operating system including me. We managers are expected to analyse topics within the context of rigid boundaries. Due to this "training" we come to expect boundaries in everything. Perhaps this is why we prefer Windows, for it too expects the user to stay within boundaries and enforces them quite strictly.

But when the real problems occur, good managers look beyond these boundaries. This is because most of the time solutions lie outside those walls. But when that happens our beloved Windows fails. This is because it does not give you choices to explore. The Choice to see your applications in a different way, choice to install what you want, choice to change programs according to your need. To choose any of these means you have to step beyond the boundary wall of windows. Then the "gate keeper" will ask you for the license. In short you have to pay a hefty amount for all your trips beyond that wall. Even then, you get a "package" of their choice, not yours.


Then I stumbled upon Unix-UBUNTU 7.04-(aptly tagged Linux for human beings). Until I used Ubuntu I thought Linux was only for computer nerds. But the experience made me think otherwise. Since I have loaded only ubuntu in my laptop I was forced to work on it. The turning point happened when I was trying to install some plugins for the default movie player. I searched the net for downloads and all I got was a single line which looked like this "sudo apt-get install gstreamer0.8-plugins" and the instruction read - go to the terminal and type this line. By now I was sure of one thing, that what ever I do in Ubuntu the system wont crash or I wont be getting any error message saying " You have done some thing illegal and the program will be closed" ( I hate that message, what is this illegal all about?). So I bravely followed the instruction.

I typed that line in the UNIX terminal and hit enter, then "voila" the system came alive. The screen was showing a series of lines. I read each of those lines and was surprised to find that I was able to understand what the system was doing. First the system was searching for some website, then it found the site, it identified those plug-ins, it downloaded the plug-ins, it installed the plug-ins and then again searched for the updates. The whole process was taken cared by this single command. In windows on the other hand I would have to do each of this step myself. The time it took for the whole process to complete was just two to three minutes.


Mesmerized by this I spent next three hours in searching the Internet for more programs and application. Now I have a whole lot of simple, brilliant, well thought and most useful software's in my laptop and that's too for free-Then it hit me. The difference between Windows and Unix is simple. For windows you are its slave and for Unix you are its master. When you use Windows you follow its instruction, you change yourself to its way of functioning and you are restricted by windows inability to expand those boundaries. On the contrary Unix is your slave, you tell it what you want and it will give you that. You change it according to your preference. Here Unix's Capability is restricted only by your inability to explore.

What you get from UNIX is the choice to change the whole system. To customize it according to your need. It gives you boundary less operating system that gives you what ever applications you want. When I searched again I understood that if you need some application or plug-in which has not been created yet, you can get it programed by one of your programming friends or put a query in the community websites. You will get it in days. You need not have to wait for any kind of next editions or versions.

What UNIX gives you is freedom. The freedom to use your computer your way. But freedom does not comes in packages. It is you who have to go and claim it. Search around and explore the freedom. Then you will find that there is lot more capability lying out there for you to take. On the other hand Windows gives you a lot of applications but, with in boundaries. According to me its a cage, a golden cage, but a cage nevertheless.

Monday, May 28, 2007

Explaining concepts through writing..

Explaining a concept is not easy. Writing on a concept well, extremely difficult. My last blog about standard Deviation was an attempt to do just that. I tried to explain the concept through writing. During that process and upon seeing the result I came to the above conclusions about explaining and writing. What went wrong?

Frankly, I was trying to be simple, funny and less technical. But in the end the blog looked complex, technical and dull. It was meant for a layman. But now even a person with a mathematics background may need to read the blog twice to understand it. What frustrates me most is the amount of time and energy I have spent on it. The fact is, I thought I could easily pull it off. I failed. Considering the fact that I referred several books to write the blog, it looks bland. Now not only have I understood the difficulties of a text book author but I admire them ever more.

The idea of writing such a piece has been with me for a long time. Especially writings by Gregory Mankiw and Philip Greenspun made me think in that direction. Mr. Greenspun's "Philip and Alex's Guide to Web Publishing" gave me a different view on how a guide should be written. Reading it was a real pleasure. I followed it sentence by sentence and tried to do what ever he advised when I used to do Web programming. His explanations were funny and simple. They were educational and entertaining.

Mr. mankiw's "Principles of Economics" was a revelation. Till I read that book I never thought that such a complex subject like Economics can be taught or written like that. Before mankiw I have tried several books on Economics. I have found them all very boring. Invariably every one of them starts with hundreds of definitions of Economics, then goes straight into Keynesian theories and graphs. But Mankiw was an entirely different experience all together. The book begins by pointing out similarities between economics and managing a household. Then he goes on explaining concepts in simple terms and examples.

From my experience in writing the blog on Standard deviation and on analysing Phil's guide and Mankiw's book. I noted following points

1. It is always better to write about a situation that people can understand or relate with first. And then ask the question why. Your explanation of the concept should be the answer of that question.

2. The author should be clear about even the smallest of the concepts. For example in my blog I have wriiten

"This value depends on the number of observations. That means higher the sample size higher the sum of squared errors. This wont give us a correct estimation. To overcome this problem the easiest way is to divide the value by number of observation."

It can be explained better if i could explain the concept of division. Sounds childish, but it will really make the difference.

3. What ever is written, should be done by keeping the audience in mind.


I am on to my new blog on Standard deviation.

Sunday, May 20, 2007

Standard Deviation is a measure of how well the mean represents the data. Seems like a bunch of jargon's which does not make sense, isn't it? I will try to explain each of these jargon.

Take the word "data". In statistic parlance, data is any collected information that represent a particular parameter, attribute or measure. It can be anything like performance rating of an employee, temperature of Chennai for the last five years, top twenty most watched television series last year etc. Data will look like a bunch of numbers or words. In order to make some sense out of this data several analysis were designed.

Lets take an example. We are given a project to find the amount of petrol used in 100cc Bikes in Chennai. Obviously, it is impossible to meet all the 100cc bike owners and get the information. So we take a "sample" from the whole "population" of 100cc bikers in Chennai. Notice the words "sample" and "population". In statistics, population means the whole universe of subject in consideration and a sample, is a small part that represents the population. We decide on the sample size, which is the number observations to be considered. There is a proper procedure and methods to calculate sample size but we will discuss it later. Lets consider a sample size of 10. Now that means we will be collecting data from 10 people who owns a 100CC bike. The data that we collect will be the amount of petrol the 100CC Bike owners use in their bikes on a day. To do a proper analysis we need more data like gender, area of residence , income, mileage of the bike etc, but for the purpose of explaining Standard Deviation one parameter will do.

Now we meet 10 bikers and collect the data. The data collected is given below:

Litres of petrol used in a day:- 1,4,3,2,5,7,1,4,3,6


Now we need a model to find the amount of petrol used by 100 cc bikers in Chennai. The simplest model that can be used is the Average or the Mean. By finding the mean of the sample which represents the population we would be able to say the mean of the population. The mean of the above data is calculated by adding all the numbers and then dividing it by the number of instances.

That is (1+4+3+2+5+7+1+4+3+6) divided by 10 which gives you 3.6.

Now this means that each person we interviewed uses 3.6 litres of petrol in a day. Now lets see how much this mean represents the actual data or in other words lets find out the "fit" of the model.

The first observer had said that he uses 1 litre of petrol in a day. But the model says he uses 3.6 litres. So there is an error from the observed data and the calculated mean. The difference is -2.6. If we take each observation there is a difference. To find the total error we add up these differences

(-2.6)+(.4)+(-.6)+(-1.6)+(1.4)+(3.4)+(-2.6)+(.4)+(-.6)+(2.4) = 0


Now, here the total sum of error is zero. This suggest that there is no error in the model. Obviously that is not the case. The answer is zero because the negative and the positive signs cancelled each other. One mathematical way of solving this problem is to square the figures and adding them.

Sum of squared errors =

(-2.6)2+(.4)2+(-.6)2+(-1.6)2+(1.4)2+(3.4)2+(-2.6)2+(.4)2+(-.6)2+(2.4) 2

= 30.8



This value depends on the number of observations. That means higher the sample size higher the sum of squared errors. This wont give us a correct estimation. To overcome this problem the easiest way is to divide the value by number of observations

Now, here comes the tricky part. The idea of finding the mean of the sample is to find the mean of the population. Here we are assuming that the mean of the population is 3.6. By estimating the accuracy of this model we are trying to estimate the accuracy of the population mean. So instead of dividing the sum of squared errors by number of observations, we divide it by number of observation minus one. Now the reason for that is a concept named "degrees of freedom".

Its a very difficult concept to explain. Lets take an example. In a standard football formation there will be 11 positions such as central midfield, left back, goal keeper etc. So when the first player arrive, you allot a position to the player say central midfield. Now one position of the field is occupied. Now when the next player arrive you have 10 positions to choose from and you have the freedom to choose which position the player can be allocated. However, as more players arrive, you will reach a point at which 10 positions have been filled and the last player arrive. With this player you don't have freedom to choose where he plays. You have only one position left. Therefore in this case there are 10 degree of freedom. That means for 10 players you have some degrees of freedom of where they should play, but for one player there is no choice. The degrees of freedom is one less than the number of positions.

So in our case what we are trying to find out is how much the error varies within each observation. Since we have assumed that population mean is 3.6, we will keep one observation as the mean. So out of 10 observations one will be kept as constant. Then there will be one less observation which are free to vary hence the division by number of observation less one.

By dividing sum of squared errors by number of observation minus one that is:

30.8/(10-1)= 3.42

This value is called as the "variance". Since we squared the errors the value we have now is also in squares. To bring back the value to same unit we take the square root of the variance

That is square root of 3.42. The value will be 1.84. This value is the standard deviation.


Saturday, April 28, 2007

Dance floor phenomenon

Recently, I was attending one of my organization's "award functions". Typically every sales organization or an organization's sales department conducts these "meets" regularly, usually with an underlying purpose of retention and motivation. I am not going to discuss whether these meets should be held or not. But, I will be discussing about a certain phenomenon that occurs during such meets.

The meeting, which I attended, was exclusively for my department. Almost all of our senior managers were there. To throw in some designations, our national head (NH), zonal heads (ZH), regional heads (RH) were there. As typical of any organization's functions these days, the award ceremony was followed by cocktails, dinner and of course the "dance".

The phenomenon, that I mentioned earlier, usually occurs in the dance floor. If you had been sober enough to observe the dance floor, you would have found that there would be several groups scattered along the floor. When one of the senior managers comes to the dance floor then this phenomenon occurs. With in seconds of his arrival the whole floor will be empty except the place where this "senior" is dancing. He acts like a “magnet”. Now, it is not that he dances like Micheal Jackson or looks like Brad Pitt. It is his position that acts as a magnet. The "magnet" not only attracts the dancers in the floor but also the people standing outside the dance floor.

While observing this phenomenon I always asked myself, why would the people do that? Obviously the answer is to get noticed. Then I wondered whether this gimmick helps to get noticed or not? The answer is a no. The dance floors are typically dim lighted and the dancers would be high on alcohol. The probability of remembering the face of the person dancing next to you is relatively low. Other reason is that.. these managers are experienced people who have been in the same situation before but on the other side of the table. They are bound to understand what exactly is going on.

Now if you need to get noticed, and the dance floor is the only place available, then you better learn some " cool moves". That will make you stand apart from the crowd. Otherwise it is a just waste of time and energy

Monday, April 9, 2007

I was reading this book “Agile Software development” by Alistair Cockburn as part of my “training” towards entering the IT industry. It talks in detail about the new methodology “the agile” way of software development. Mr. Cockburn gives an excellent explanation of most topics citing examples from his experience. But for me, who has never seen a software development project, found it bit difficult to understand the total picture. Like what is the meaning of refactor or usecase? Fortunately my friends who asked me to read this book were kind enough to understand my situation and were more than willing to explain those in simplest terms.

One major concept he described in the introduction of the book really got me thinking. He talks about the three level of learning following, detaching and fluent. In order to understand the concept he cities an example of designing CRC Cards, I don’t have a slightest idea what it is. But I believe it applies to anything you learn, be it learning programming, calculus, musical instrument or driving a car. When you learn something new, you try to follow the instructions without any change. This is because for you it’s the only way of doing it right. For example starting a car; here you are asked to check whether the gear is in the neutral. If it is not, put it into the neutral and start. Once you have done this basic learning and get more experience, you will try to detach from the normal route to make the process easier. For example before starting the car you find that car is in the first gear. Now instead of putting it to neutral you know that you can start the car in the first gear itself by pushing the clutch. As you move up the learning curve the total process gets internalized and you confront and solve most of the issues without even thinking. Then, you have reached the fluent level. In the example of the car you won’t even remember that which gear it was when you started the car.