01 March 2009

Productivity Loss - Keep a Watch

I am not quite happy with the way I read in my college. I managed to get first class with distinction without much of studying. When I reflect back today, I feel that I wasted a lot of time during my college. I was an average student until class ten and suddenly become above average in my higher secondary education. I spent lot of time in mathematics and spent many sleepless nights in working out the problems. Even in Chemistry and Physics, I preferred solving problems than theory. The two years in higher secondary passed like anything and I literally felt that those days vanished just like that. Yes, I was in the peak on my productivity. I never read something for the sake of exam and interestingly I never thought that I would get into Engineering colleges because of so many reasons.

I am grateful to my mathematics teacher Mr T. Velmurugan who inspired me. He is a person of hard work and he never delivered anything less than the best to me. Unlike other teachers, he used to solve unsolved problems (not the ones that is already solved in model sections). He had a sound voice and reaches till the last bench. I should say that my interest towards mathematics doubled after interacting with him. This is cornerstone to my career because it is this interest made to the person who I am today. If at all if I have some problem solving skills, the most of it should go to TV Master (that how we call him). He is the man of productivity.

But when I joined the college, I should say that it was a different environment and I never found anyone as engaging as my mathematics master or at least some one who creates interest. With some josh, I tried to secure college third in first semester but my performance and productivity was vanishing. Since I was away from home, I always found an easy reason not to work hard as there was no one to point out that I am doing something wrong. But again, due to my interest in mathematics, I engaged myself in doing some C, data structure programs, assembly programming and finally wrote DOS device driver too. That helped me to secure a place in HCL selection list during my campus interview. Now, I have 6.5 yrs of experience and again I have fixed feelings. I feel that I could have done more.

This is a general feeling that everyone gets as everyone's career is mix of ups and downs. If I look at my career right from my school days, I felt happy and satisfied when I was performing at peak without wasting time. Not only I felt happy but also felt that I was progressing in life. Along with performing at peak, when you make that daily improvement and spend a productive day, the feeling that blossoms is truly different and it propels us towards excellence. So, my learning about productivity and reflecting back helped me to see productivity not as short term factor but also as a long term elixir.

So, it is highly important that we make every second count by constantly watching where and how we are spending most important "TIME" factor. Ultimately, when we fail, we say "it is time". That is true, it is how we spent the "TIME".

28 February 2009

Does Outsourcing Look Gloomy?

A couple of days back, the United States President Mr. Obama delivered his speech at US congress. During his election campaign, he argued about stopping outsourcing to other countries. This has started to create slight turbulence in Indian IT industry. With the back drop of the current economic slowdown, another blow like this will certainly create a scenario of deeper and much stronger impact and longer recovery of Indian IT industry. If it happens, many "low risk taking" Indian IT compaines will take a heavy beating. These are facts and no exaggeration.

The mess does not stop here. While, many people may be thinking that he is standing by his election manifesto, the hard fact is that the outsourcing brings a net wealth of 1.14 dollar for every dollar that is spent on outsourcing to United States. The president may be thinking of bringing back the job market in US to normalcy by stopping outsourcing. While this may sound good considering the current climate, in a long term this is going to hurt the companies that gain by outsourcing. Also, stopping outsourcing, the developing countries will certainly review their trade policies as it leads to Win-Lose proposition. The entire world will go backwards by hundreds of years.

Let us hope that this is a temporary workaround until job market recovery. I feel, it is. Also, the companies that are outsourcing may use this opportunity to bargain on price which Indian IT industry is already started to review and reduce the price (happily).

27 February 2009

Building knowledge based society – A minute a day

The gap between rich and poor people is increasing widely in India. The rich is getting richer and poor is getting poorer (last year is an exception where rich people become poor due to financial meltdown). It is the poor people who are struggling to get access to basic life needs – food, clothing and shelter. Irrespective of the inflation (14.4% or 3.3%) or crude price ($140 or $45/barrel), it is the farmers who take the loss and price beating. The people in developed countries are eating as much as five times more than any developing nation. We can see people living in poverty line as a micro issue confining to individuals and families. But these individuals make states and India. These people have the ability to turnaround India and take India to next level – Super Power in the region, if not THE SUPER POWER. Yes, the poor people have that capability. It depends on how, we, the people of this country take efforts to erase the poverty line.

When we were kids we should have heard a story of this sort. There were number of doves flew to specific part of the country for food. The owner of the farm wanted to catch all the doves and so hired a hunter. The hunter put a net in the field to catch the doves. Somehow, the doves came to know about this and strategize to escape from this. So, they masterminded to fly taking off the ground simultaneously and in coordinated fashion. We need something of this sort right now.

One of the asset and trump card for India’s growth is our human resources. However, many economist and researchers have pin pointed that though we have abundance of human resources, the amount of skilled worker is very less. While theoretically it may be possible to put forth some policies and allocate funds, the implementation is going to be a very biggest challenge. Also, if we are going to dependent completely on government, the vision will be very far from achievable.

It may be sound simple and even foolish to some people. If you can spend five minutes per day for the sake of this country, for the prosperity of the future generations, for achieving the visions of visionaries, to fulfill the dreams of many freedom fighters, we can create a knowledge based society. We need second freedom fight. On 15th August, 1947, we got freedom from slavery. But we are yet to get a freedom for creating equal society providing equal opportunities for both rich and poor. It is 5 minutes a day and if we sum up, it comes around 30 days per year. Go to a school or college where people are in need of your knowledge. Share with them, discuss with them, and try honestly to make the gap between the knowledge level rich and poor narrow.

When we do this, we need to keep in mind that we are creating a knowledge based society and suddenly on one fine day, the poor people may be poor in terms of wealth, but they will be wealthy in terms of knowledge. When the have that knowledge, they acquire the skills on their own or with the help of others. How about this? All the students who are graduating from colleges get a job or become entrepreneurs. When we reach such state, the consumption of India alone drives our growth as everyone will have buying potential. So, the knowledge based society is such a powerful idea (coined by many visionaries including Dr. Kalam).

When we have that, the gap between rich and poor will be narrowing and after sometime the gap becomes meaningless. It is easier said than done. We have two options now. The first option is blame the politicians, blame the government and not doing anything. The second option is to do things slowly but gradually. The incremental change can be a transformation.


21 February 2009

Distributive Leadership – Leadership rediscovered

Many of the modern day management concepts, tools and techniques have been discovered more than a decade before. The concepts primarily revolve around increasing the shareholders’ value, increasing the productivity of the employees and more or less everything drill down to revenues, net margin and profits. All the companies have strategies to reach their goals and achieve it quite fairly. Though, the ultimate reason for doing is business is to get material prosperity, however, it may not be worthwhile to think everything in terms of business/materials.

If your organizations or business unit is quite big, due to its size, the number of decisions made on an each given is enormous. If your organization is ultra big, obviously the number of decisions made in a year may not be infinity but may be close to that. The quality or quantity of business you do depends much on your strategy that you set for your people and decisions your people take on day-to-day basis. When your organization takes those decisions in huge numbers and the outcomes certainly shape the future of your company.

Few of the leaders and management teams have understood this and are trying to improve the decision making capabilities of their people. Few more companies are merely copying the good ones, doing something without knowing what they are doing. Is it enough if you give people the mantra of decision making? Is that sufficient to “make your company a truly world class”.

From my perspective, any organization is world class if it satisfies only one condition. If the organization has the ability to connect with its people by putting forth a vision and if the employees connect with the company through its vision, and if the vision connects the employee and its customer, it is truly world class. When the employee connects with the vision, whatever decisions they take automatically boosts the bottom line. When so many employees get excited by a mantra, there will be an absolute resonance and believe me, you will not have any competition and your people will make you truly a “blue ocean” company.

In my definition, the distributive leadership is the ability to bring a resonance in your company’s decision making process and it appears to others that the decisions are taken by its CEO.

16 February 2009

Pushing the performance – Is it easy?

Pushing the performance of others is difficult and it is even more difficult to push one’s own performance. Many of the managers/leaders (mid-level, so far I have seen) have a blurred vision on pushing the performance. I could see that in many informal chats across organizations. First, they are poor are in setting objectives and poorer in tracking those objectives and poorest in measuring the results. When people are so poor in many important aspects, it is quite natural that the end results are devastating and shocking. How come a guy who passed degree in distinction underperforms not in comparison with people across board but rather to his abilities? Also, people are so unmerciful to say “he/she is having attitude problem”. Here are my thoughts on creating a high performance team.

I don’t really see that this is a generation gap between “Gen-X” and “Gen-y”. It is more a sort of inability in leading a team. The guys who are managing team should understand that team building, pushing the performance and creating a high performance team is a long-term process. High performance teams cannot be created in silos. High performance team is an outcome of trust, understanding and constant urge or thirst to excel.

Trust is a core term that brings understanding among teammates and the understanding leads to collaboration, then creates a thirst to excel. Finally the thirst reaches “The Tipping Point” and from then on it is contagious. It is easier said than done. Because, it takes a lot to reach a tipping point. That is why, the trust, the understanding and the thirst are important.

People need not be given promotions, people need not be given salary hikes, people need not be given incentives and bonuses, and people need not be recognized, if you can make people to realize their potential and it would be great if you can constantly do that. When you do something that you never done before, it excites you. When you can create an excitement everyday, believe me, your folks are going to have festivals and they will enjoy the work. But many organizations are not doing this and that is why employees feel that they are in uninspiring organization. Once you make people to realize their potential, it creates a bond between you and your team. This bond, over a period of time matures into a “trust”.

Still the trust is mutual between two entities. But for the external world it may manifest or may not. Also, though trust is good, sometimes it is very rough. Though trust is superior, it is blunt sometimes. So, the next level “understanding” blossoms once the trust is built. Once you have the trust and understanding, the team becomes a positive battlefield, a healthy competition comes out of each teammates. This is the tipping point. Once the tipping point is reached, it is sure that many of your teammates will accept other’s and whole heartedly work towards the team’s agenda. They put team before their personal likings. Then the team becomes a “super conductor”. It is quite challenging but it is worth doing – for the sake of mankind, your organization, your team and you.

If you are focused on building a high performance team it is easy to create not just one but numerous provided you understand what it takes to create a high performance team and it is takes time.


15 February 2009

Getting back on track

It has been 4 years, I appeared or rather prepared for a certification. Four years back, I prepared SCJP (Sun Certified Java Programmer) and it helped me a lot to learn intricacies of Core Java. I remember that all the three certificates I earned was because of hard work. That is why, I felt that these certifications a lot of opportunities to learn and at the same time those were thrilling experience. After completion of these certifications, I always felt that I accomplished something and so was my leads/managers. But these days, the views on certifications has changed a lot and I can see people who cram exams, just by rushing through the book and probably read "Test King" or something like that. What is the level of knowledge they will have after the certification?

After four years, I feel that this is right time for me to do PMP. I am planning to have a systematic study and want to have deep insights on basics project management. After learning the basics, I want to venture deep into project management. Hence, I feel, getting a PMP will be helpful. I don't see PMP as certification but rather a long term course on project management - like a university exam. In order to get my focus and help other folks who are preparing PMP, I am planning to log my thoughts, views on project management topics and study methodologies.

05 February 2009

Supporting Ego :-( Vs Respecting Opinions :-)

Being an egoistic and sensitive person (and the fact that I am trying to change myself), for the past few months, I have been learning on "Leadership". Much of the credits should obviously go to my team. In my case, I somehow have a feeling that my team is making me a good leader. I also have feeling and doubting my teammates whether they are leadership coach (Tip: Leadership coach is a very costly affair. They charge around 200-3000 dollars. And the news is that it is for one hour). I feel that my teammates are adding "so much" value to me than the value I add to them. I have been waiting so long time to register by understanding on leadership. After leading a team for almost a year, I want to write something based on my experience to share my views and at the same time get it validated. This is the first one. Here it goes.

Each human being will have opinions that are biased based on their moods, emotions, experience and knowledge. It is quite reasonable to say, there are at least "N" opinions for a problem. Sometimes problems overwhelm us and sometimes solutions overwhelms us. Whether it is good or not-so-good solution, the team needs to respect the opinions of the others. It is easier said than done. If you find a team where the people are mutually respecting each other, please remember that the team has worked really hard. A leader has a great deal to play in building the environment which foster mutual respect. Based on the personal traits, if a leader tends to support the ego, it backfires sometimes immediately and sometimes after two months with great intensity.

In many instances, when something was discussed in our meeting, the team was open to share their opinions. The team never supported or objected other's ego. When an idea or solution was put on the table, based on their expertise, the team would share the opinions. The person, whose ideas/solutions get reviewed, gets a feeling that he is in fact getting honest opinions. If the idea involves a team work, he is also confident that he will get team's support. The team not only gives respect in words but also on emotional level.

If you do not give deserved treatment (of course with respect) and simply support the views to support the ego, over a period of time, the team will certainly know that you are playing and the results will be devastating. The team will no longer have high regards for your praise neither for your reprimand. Irrespective of the experience, when you respect the team, it percolates to each team member and on one fine day, you will see a team who has a lot of fun, who takes the challenges positively and there will be perfect synergy.

So, supporting ego may yield some results in short term and often works in suck-up environment (Suck-up environment is an environment when sub-ordinates suck-up so nicely and the supervisor supports the ego. Generally, they do not see the merits of the opinions). But in longer term mutual respect wins. It makes sense to create an environment for mutual respect not because it works well in longer term but because each human being deserve equal respect in this society. Mutual respect and professionalism is such a wonderful thing. Once you do that, the rest will be history.

Catch you in later

02 February 2009

Open Source Solution Series

When I was a schoolboy, we used to buy fruits from a lady almost for 10 years. Over a period of time, she won the confidence of many families and become loyal to each and every family. She used to sell fruits, some times vegetables, chillies, groundnuts and many other things. Most of the families in the campus bought things from her not only because she was loyal but also because of open business models. Whenever, she brought things to sell, she would give the specimen and only then would disclose the price. She had a simple and successful business model of making things open. She did not give something as free to sell her goods, she also thought that it was buyer's right to buy right and good things. There is no question on why this business model as successful. You can find similar business people in your life too.

This makes me to think and correlate with Open Source and the success of Open Source business models. When you are selling a software, how can you ensure that the software is good. And secondly, how will you convince your customer that you are infact giving them something good not crap. At a very surface level, you can do this by exposing your bug backlog, the bug trend, the reports from your dev/test team. However, this does not give enough information to your customers. This question is not about the confidence you have on your product. It is about the confidence of the customer you win. When make we the software open, we can see it in at least two perspectives - any can view/modify the source code and secondly we are open for comments.

By being open for receiving feedbacks gives us opportunity to correct something which is not good. The customers will be getting better things. The success of open source is not "free of cost" but "open for improvement". This should give confidence to the users that there is a community of developers who are working on making things better.

In this blog, I am planning to share my experience on Open Source Software, particularly quality enterprise class software which are much better than any proprietary software. I am also hopeful that in down the line, we will be discussing solutions from Open Source solving particular problem rather than software. This will give you a good picture about Open Source and its quality and innovation. This journey will also give me a learning by trying some open source solution which I never tried.

Hoping for the best

29 January 2009

Technological Innovation - How simple is it?

This is the time, when so many companies are sharply cutting back, the creative thinkers and innovation managers talk about continuous investment in innovation. They argue that the companies should look for opportunity to cut back on operations but not on innovation. Their concern seems to be valid. While many companies are giving a bleak outlook, there are very few companies growing even in the tough times. Are those companies well managed or do they happen to delight the investors just by mere coincidence? Whatever it is. The innovation is going to be a key differentiating factor. Many companies say that they are "most innovative company". But the real fact is that they aren't. No one other than the company says that they are innovative. They speak "Greek and Latin". Without understand what is innovation and simple way to move forward, most of the companies are going to be in no man's land. Is there are simple way to identify where the market is going? It is simple to say "Stay Abreast".

Innovation is doing things in a way that no one has done before. Innovation has clear business results both for the producer and consumer. For example, consider the case of Edison. He had so many inventions and he marketed all the inventions.  He produced so many products and sold them (obviously for a profit) and the inventions changed the quality of life of the consumers. Business results are key to innovation. All innovations must have Win-Win proposition.

Innovation can be classified into two types - blue ocean and red ocean. In the case of red ocean, you primarily focus on improving or redefining existing things and few of your competitors are doing the same. Blue Ocean is all about creating new markets. In the current climate, it is difficult to create new markets in realistic terms. However, you can be the first to swim in a red ocean.  

Innovation is catching up with the trend and moving along with trend. The nature spawns so many species but only very few species survive. The same is the case for innovation. When there are so many technologies, the fittest one survives. However, for someone who is innovating, the probability of identifying the right one is very low and hence there has to be a portfolio in innovation. One should try so many things and only then he/she can innovate few things (Darwinian law). But one can increase the probability of innovation just by observing the developments consistently. Who believed that "Web 2.0" would be a big success. But the companies who had Web 2.0 in their portfolio where successful.

How to spot on the developments? Simple. Just subscribe to lot of newsletter services and do a data mining at a simple level every month. At the end of few months, you can see where the world is going. Once you see the trend in a specific direction, maximize your energy and focus on high traction area. When you do this, the probability of uncovering something new and solid (with tangible business results) is more. Innovation needs a lot of hard work and never comes that easy.

Are you asking me, did you try it? My honest answer is "No". However, I wanted to try this approach towards innovation and get my idea reviewed by you :).

28 January 2009

Copyleft and Disclaimer for Tutorials

This is an attempt to document my experiences on technology, programming languages and operating system (on software in a much sensible/broader term). I offer this tutorial to those who are seeking the knowledge. I strongly believe in "Freedom" in the spirit of Open Source. While, I have taken efforts to verify the steps, methods and code, I cannot be held responsible for losses of any form. Please be aware that these tutorials come to you without any warranties. Until, I find a suitable Open Source license (more open for being open and less open for keeping it closed), the readers are advised not to modify. If you modify, you have host the modified and full version of the tutorial for free to all your readers. Bare minimum, maintain a copy of the modified tutorial via a website which is accessible publicly. Spread the goodness to the world like Open Source. We deserve Freedom and so is the entire world.

I would like to dedicate this work (and the series of works) to those teachers who constantly spread the knowledge to fellow beings generations to generations.

What is Creational Pattern?

As name suggests, the creational patterns are used in object creation. Any object oriented programming language will give you an infrastructure to create objects and perform whole lot of operations. One of the important and primary operations in any application is creating object. For example, in Java, you can create objects of any concrete types using "new" operator. However, the Java compiler or JVM do not know, are you creating objects in right way.  The way we choose to create objects decides many aspects such as reusability, maintainability and flexibility. Though we create objects in an application, we will creating objects for so many reasons. For instance, in the case of Singleton it enforces creating only one object for a class (type). As the purpose and scope of the objects vary, the way in which they are created should also vary to reap full benefits of Object Oriented Programming. There cannot be single solution for whole a lot of problems.

Let us consider a real world example. Assume that a car manufacture is planning to manufacture new brand (assume Swift by Maruti). While designing the car, the designers will focus on individual aspects of the car. There will also be a mechcanism to customize any model or to add features to the car. The extra fittings or specific model (Vxi, Zxi) will have its own assembling mechanisms. The dealers or the customers do not need to worry about how the car is made. They just give which model they want and the car is delivered to them. Internally, Maruti will have its own processes and standards to manufacture car hiding all the manufacturing details. It may choose to manufacture the parts or procure it from a different vendor. It is all internal Maruthi and the user does not need to know too much of details. It is all about exposing needed level of abstraction to the clients - not more and not less.

Also, as a developer, it does not make sense to fill your code with lot of "new" operator. By using "new" operator in lot of places makes the code to break maintainability and flexibility. When few more classes are added to the package or namespace, the developer will face a nightmare maintaining the code and quality of the code is also degrades.

So, the creational patterns helps to create objects in a better way rather than using "new" operator. When you use creational patterns (or any design pattern), you will be programming to an interface and not to the implementation. When you program to interface, your code becomes flexible and maintainable. In the next series of posts, we will be discussing creational patterns one-by-one.