Tuesday, November 2, 2010

I am DONE

Last month we were debating hard about Honoring the commitment in one of our Team Talk session. Since we felt that many of us struggle with the same when it comes to action. Honoring the commitment, ha? while it is easy to commit anything to anyone, it is hard to honor the same, since it requires a disciplined and determined effort to achieve it. One of the major part in honoring the commitment is, to know when we are actually DONE with our commitment. Without that we will never know if we have honored our commitment or not.

We have been suffering a lot recently with an off-shore development company to whom we have sub-contracted our Flash development work. The struggle was when they say the tasks are DONE, and reviewing their "so called DONE" tasks always surprises us with the half-done and half-tested code. We have shed our blood to mentor them on what to do. As a result, they added an extra care and effort, only to defend that the 60% completed is equal to 100% completed. Cool ha? Realistically, they did not know the meaning of DONE.



Many used to say, This issue is RESOLVED, but need to check the impacted areas; This code is 100% DONE, but it has to be tested; FINISHED the user story, but UI is pending; I have COMPLETED the task, but...; and much more to convey that they have finished the assigned task. Verifying this would only let you taste the surprise since you will witness the half-baked solutions or deliveries which are extremely useless (ie, 'done' followed by 'but' = incomplete). This has become a common habit now in the industry and dilutes the real meaning of DONE. In other words, DONE has simply lost it's identity.

It is quite interesting to know, why we do this. The reasons maybe,

Lack of experience (Thinking that the task has been completed, without knowing what is left).
Lack of planning (Skipping the checklist to finish the tasks due to the time pressure).
Showing off (To prove that they can finish faster).
Lack of confidence (Taking short cuts to keep the job).
Over confidence (as time flies, the steps are skipped in the process).
Ill attitude (No passion, doing work for a sake, does not care about what is being delivered).
or Simply they have no clue on what they are doing.

Whatever maybe the reason, as a result, we end up delivering a half-understood, half-coded, half-tested and half-documented solution which will only question the reason for our existence as a professional. Hence, before saying "I am DONE" it is important to know whether you are really eligible to say it or not. So, what DONE really means?

There were times, we used to release software to production in the middle of the week and wait to fire fight the issues over the weekend. If no issues are reported for a week, we call it as a successful release. Is this known as DONE? or feeling confident about the release even before it was released. Is this called DONE? or does it mean when...

All code has been reviewed and checked in? All ATs have been validated, bugs found and reported? The client has approved the features? The product is LIVE? All features are documented?

Actually, DONE simply means that at the end of any task it has been completed with no leftovers, no dependencies and simply the task will never come back to us or we do not have to work on that again. The task could be anything like requirement gathering, development, testing, R & D, communication, prototyping, deployment, documentation or even writing an email. There are different roles and responsibilities in an organization. DONE at every level will mean differently.

When a Developer says that a feature is DONE, he mostly means, that all the features are implemented and the feature is ready for further enhancement, refactoring and thorough testing.

When a QA tells that it is DONE, he means, that the features have been tested, bugs reported in bugtracker, tested the resolved bugs, handed over to UAT.

When a Customer/Manager hears DONE, he mostly expects that the product is ready to be released to production.

So, it is obvious that the meaning of DONE varies on a case by case basis and at a different level. Not only at a role level, also varies at an organisation level. Every professional is unique, they have different experiences and see the software development from different angles. This diversity can lead to have a half-tested, half-documented, half-optimized and eventually half-ready components for the release. Which results in a poor quality in the end product. Hence, there is a real necessary to define what DONE really means to the whole organisation with a checklist to follow. Say for example,

Developers should consider things DONE only when...
requirements are understood; analysed; suggested options to implement the best and improved usability; doubts clarified; tasks split in detail; estimated; unit tests written; coded; integrated; migration done; required languages supported; code reviewed; cross browser supported; unit tested; reviewed all the acceptance criteria for all scenarios; installation/uninstallation scripts written; checked everything into repository;

QA should consider things DONE only when...
requirements are understood; analysed; suggested options to implement the best and improved usability; doubts clarified; written acceptance criteria; smoke tested the features in QA; acceptance criteria checked; boundary values checked; impacted areas checked; usability checked; translation checked; security checked; performance checked; cross browser compatibility checked; reported bugs in bugtracker; verified the resolved issues; demo is done; handed over to UAT;

Managers should consider things DONE only when...
objectives set for sprints; priorities set; analysed; designed; coded; integrated; built; installation tested; code/data migrated; features tested; change requests logged, communicated and recorded; communicated delays; risks analysed; contingency planned; issues fixed; ensured quality and value addition; reviewed by stakeholders; accepted by the customer; harvested the sprints/project; features and future enhancements documented;

Like the above example, every professional must have a checklist to tick it off before they say it is DONE. It should be a built in quality in every professional. Even if any one of the items in that checklist is not ticked, the task is considered incomplete. You might come across few missing items in the checklist during the project execution, it is recommended to add that to the relevant checklist as you go by, so the next time it will be taken care.

Partially finished features results in hidden costs to the company with an enormous and unpredictable amount of work. This screws up the release planning efforts and prevents from honoring our commitments. Partially done work often becomes outdated before it's finished, it always gets in the way of other work.

How many times you have hacked (temporary fix) the code and never visited again to fix it for good? How much time you had spent in reviewing and cleaning up your code before submitting to the client? How many times you have worked all the night and in the weekends to complete something and still not satisfied with the delivery? How many times you felt ashamed when the client finds out an obvious issue in your delivery? How many times you had to lie and be dishonest to yourself and the client about your awful planning and delivery? These are the questions that tells us how wasteful partially done work can be.

So to qualify ourselves as a professional, we must always ensure that when we say or consider that something is DONE, mean it and ensure that the checklist defined by us or an organisation has been taken care of, nothing is left over and ensure that the completed task will never come back to us again. After all, we want to deliver quality software to add value to the customer.

Sunday, August 9, 2009

The SIR syndrome

The security guard stood up from his seat and said "Good Morning, Sir", when I walked into the office (where we have outsourced our work). It was almost like a military salute to the commander. I was surprised with that reception and I stepped into the office to meet the team, most of the team members followed the security guard, but without a military salute and very few called me by name. I thought it was due to me being a client for their organization, but when I observed the other projects going around in that organization for various other clients, I realised that it was not just the clients who they call "sir", they call their bosses as well "sir". I was a bit shocked to see this practice still alive in India, since I thought it would have been resting in the grave a while back.

This is one of the trigger for initiating the hierarchical environments at the workplace. This continuously reminds us that the hierarchy is not dead, but it has merely changed its form. Whenever I hear employees call their bosses(managers/leads) "sir" or see the employee being subservient while addressing seniors in the company, I see barriers in the communication, indirectly is a barrier to the growth of an organization. This is just one of the many hierarchical practices that are holding back the attitude growth. It is bold given that in India this represents the culture in nearly 90 percent of the companies, despite many IT companies having dropped this formality for years.



Hierarchical work environments are now outdated in IT industry. If an organization wants to grow their business rapidly, they need to create such an environment where everyone is respected and treated equally, rather than just letting people boasting themselves or their seniors instead of the core business. They need to work for themselves not for anyone, ie, work for yourself and work with everyone. This has been discussed enough in the previous post already, so moving on.



This SIR-ing continued despite of me requesting them not to do so. This continued from a car driver to a colleague in the office. Some listened to my request and tried to implement, but that effort lasted only like a minority government of a democratic country, since they were demanded to SIR in the other areas of the organization. It is one of the practice which should be avoided when the teams are built in India, considering the demands of the traditional social environment.

Why SIR? What is the reason behind SIR? thinking about it, it was mostly used to respect people. People's designation, job, money, financial status or age. Saying so, the respect for a person should be based on their values, not by anything else. Very importantly, this respect should be earned, and not demanded.

How to stop this? this habit was tattooed deeply in many minds by the traditional hierarchical structure, this has almost mixed in their blood, hence it is not easy to unplug them from this habit. So, how to stop this? I jokingly started calling my colleagues "sir" as well, in return to their call. Yes, if "sir" was used to respect people, let us respect each other by calling everyone "sir". After all, we should treat everyone equally with respect and obviously we only hire people with good values, so everyone deserves that respect. This counter strike shocked them, but as time went by all got used to it. At one point everyone in the organization called each other "sir". Well, what does SIR mean now?

"By calling everyone as SIR, We all respect each other, we treat everyone as Equal"

or

"If everyone is a SIR, there is no meaning for SIR, the meaning of SIR is negated"

Either way, the goal was achieved by counter striking the SIR (like, shutting down the fire with a counter fire). Calling "sir" and having a flat structure might sound contradictory, but it for sure broke few barriers and the risk of the hierarchical fear. Most importantly, respect for all the employees regardless of the role or title is critical and we could able to promote an environment to challenge anyone's (including the management) views regardless of the title or seniority.

So, Enjoy SIRing with proud (only as a counter fire to shutdown the SIR fire) and without being paranoid about creating a hierarchical environment.

Sunday, February 15, 2009

Dance like nobody's watching

Dhoni is a young and enthusiastic chap, sincere, committed & talented. He was admired by our team for his energetic attitude. He influences our team without a doubt when he is in action. However, he had a habit of updating his team lead often, very often about his work, even when it was not necessary or not asked for. Yes, on what is done, what is left, how quick he can finish the work etc. When his team lead ignored his updates, he started updating his lead's boss.

Yuvraj, who always answers "Yes, I know", "Yes, It's already done", "Yes, I've already tried this", "I just thought about it, you said it" etc. He always pretends that he knows the solution for all the problems. There were even times, where he answered "Yes, I know" to my question and went and googled for the answer later.

..and there was Zaheer, who always says "Yes, I agree" to whatever his boss or his favorite colleague says. The answer from him would be the quite opposite if the same point was mentioned by others. Zaheer also pretends that he is listening to others, but actually he will be in his own world. When he comes back asking for the same information, the team will be puzzled.

Then there was Nehra, who always toggles the window when people walk around his desk. He wastes most of the time in observing who is watching him or who is talking about him.

Do you know Dhoni, Yuvraj, Zaheer and Nehra? I can see you nodding. You're right, we can find them in us and around us very often. Deeply thinking about what is common between these behaviors, it is their motive, which pushes them to practice these habits, which makes them as slaves and diseased... at the end which spoils their career and themselves before they even realise. Yes, the motive of trying to do things to please someone or prove something to someone.

Many people believe that progressing in their career or life will happen by just pleasing someone or by always trying to prove something to someone, however by doing that they fail to realise the fact that,

they are only fulfilling others wish than their own;
they only spend time and get stressed in thinking about others than themselves;
they mostly do things only to dodge from others words or views;
they arrest the freedom, individuality and creativity;
they don't add value either to the organization nor to themselves;
they work for the boss, not for the organization;
Simply, they are slaves to the people who they are trying to please;


The above mentioned facts are not the qualities of the people who are on a mission to achieve their own vision. Visionarypeople need a clear head and cannot afford to waste even a minute in doing some unnecessary stuff, because just 24 hours a day is not enough for them. Actually, it is a lot of effort to do things to please someone, which will stress you out and blocks your progress in career and life.


While there are infinite things left to learn in this industry, one of the fact I came across is that the industry has played a considerable role in contributing to the people's attitude. One of the way the people have been brought up by the industry is by promoting the hierarchical culture which encourages the egoistic and self boasting attitude (few people are exception). Hence even the young professionals are cultivated with the same culture, which is a shame.

When you do the right thing, Your colleagues might rub their bad mouth on your back, your boss might watch you with his half visioned eye or even your friends might fire at you with a double barrel gun. All you have to do is...

Be honest and open, always stand up for the right thing;
Do not do things to please anyone or prove anything to anyone;
Be as you are, pour in your uniqueness in whatever you do;
Own the tasks as if it is yours, enjoy the ownership;
Treat everyone as the same in the team, including your boss;
Do the best you can to add value in whatever you do;



I won't say that nurturing this attitude and environment in the team helps you to achieve the following 100%, but at least to 70%...

More satisfied team members and an excellent work environment;
Improved product quality with suggestions and ideas;
Do the right thing and feel proud;
Focus only on the end-user, no one else;
Work with everyone, not for anyone;
Freedom, Individuality, Creativity promoted;


So guys, simply,

"Start the music, and get yourself moving, warm up and imagine you are hosting the party. Remember that you are not dancing to prove anything or please anyone, you are dancing because you feel so. It doesn't really matter if you are not a good dancer or if someone is watching you, all that matters is that you make an effort with the right attitude and have fun. On the dance floor, boss, sub-ordinate, peer, anyone and everyone is the same."

Monday, June 30, 2008

Version your vision

Recently I was talking to a young chap working in Saudi. He was quite interesting in many ways, one thing inspired me was his honesty, ego-less attitude and a fresh mind. Even though his English was not very good, he was speaking from his heart. While I was chatting with him, I asked about his vision, he answered "I have no vision until now".

I have seen only few (as the young chap above) who admitted that they do not have a vision. Honesty ha? Most of the time, I have seen people making out the vision instantly when asked, because they are paranoid of being judged inferior if they do not have a vision (yes, I was one among them 9 years ago ;-)).

Actually, as time went by, I realised that there is no need to be paranoid or nervous about the vision. Many will go in search for a vision only because they need to have one for the namesake. To be honest, it doesn't work in that way, vision is something which... (re-iterating again)

Pushes you constantly to achieve your goals.
Makes you personally satisfied.
Makes you happy in whatever you do.
Makes you to define your own meaning of life.
Never lets you to sit down and worry about the silly issues in life.

Having something for a sake does not resolve the purpose of a vision, or anything for that matter. One will only fail in achieving the same. Instead, it is better to be visionless.

There are few people in this world, who have a vision, but very shy to speak about it. Actually, if one cannot share their vision, they cannot share anything to the world. There is nothing to be ashamed or to feel shy about. There is no size or rate for the vision, for every individual their own vision is big and better. It cannot be or should not be compared with any other vision. Remember, if sharing stops, learning stops and evolution stops. Soon you will be a generation behind before you realise.

There are few people in this world, who will be searching for their vision, a vision which is defined once for all. In the process of finding an ultimate final vision, they end up finding none. Vision cannot be or should not be frozen. It has to evolve as you grow in your life and career and it is inevitable. It has to be reviewed, redefined or refined now and then. It is not a bad thing to redefine your vision periodically. However, at some point the frequency should be reduced.

Saying that, I have revised my vision several times whenever I review myself every year. The version 1.0 was very primitive (rudely saying 'immature'), but as the years progressed, it started to evolve and got better and better (if you think otherwise, please say). I am at version 5.4 now and still believe that there are more versions to come. However, every version of the vision is the best I could think of when defined at that period of time. Even though the versions change, the underlying foundation stood the same.

My vision (version 5.4):
"Living a happy and joyful life, with physical fitness and enough wealth to survive and support, in a like minded society which treats everyone as equal, where the real strengths are explored and encouraged, where sharing and learning is nurtured, patriotism felt, values not compromised, simply where the quality attitude is promoted".

Note: My vision is being refined every year only because of the learning from my friends, colleagues, mentors, relatives and neighbors. So, a BIG THANKS to them.

Monday, June 23, 2008

Are you Visionary?

Me: Good Morning Diran, how is it going?
Diran: Good Morning, I am good.
Me: I understand that you have completed your aptitude tests, how was it?
Diran: It was good.
Me: I mean, how did you do it?
Diran: I did it well.
...
(long conversation on technical things)
...
Me: Cool Diran, my last question, what is your vision?
Diran: -1.5 in my left eye, 0.5 in my right eye.
Me: ?#$#$$$%%
....


Diran(not a real name) was a fresher who we have interviewed for a software trainee position in our organization, who scored very high in the technical interview. Diran is not alone in this world, surprisingly, there are many experienced candidates who we have met are in the same position as him. Sometimes, we have even given time for them to think about their vision and get back to us to proceed further. Guess what, the turn around ratio was very poor. Hope they have not gone to the EYE foundation to test their vision ;-).

Me: Well, I asked about the goal in your life?
Diran: I want to become a CEO of a company.
Guran: I want to become a Project Manager.
Saran: I want to become a Business man.

Most of the people in the industry, well even in this world think that the goals are only for work, not for life. Even worse, most of them do not even have a goal or vision. They do not know why they are doing certain things. They do not know what is the reason for their existence. They do not know the meaning of their life. Basically, they are lost. Well, I was one of them, but that is a history.

Many (including me) have married their work at their young age and love their work like they have never loved anyone before, they will even divorce their wife but not the work from their life ever. Well, work and the money it gives is interesting, exciting and amazing, however, there is so much beyond just work and money.

One needs to step out of the box they are in and look at things with a bird's view(eagle would be preferable). One needs to think on where he wants to be in his life, one needs to think on who they want to take along with them in their journey, one needs to think what contribution he/she can make to the society, one needs to search for the purpose of their existence, simply one need to define the meaning of their own life...

Yes, The vision.

Vision, is a positive look at the future, filled with hopes, promises and excitements. It is something which should make you run to achieve your goals and won't let you stop for any silly happenings in life. Vision is more about defining a meaning for your own life, more than the meaning for your work. Your profession could be anything, but that is a medium which helps you to reach your ultimate vision.

It is mandatory for every living being in this world.
It should be big enough to flush away the sillies in your life.
It should not die with you.
It should be never ending.
It should have a social cause.
It should be the reason for your existence.
It should define the meaning of your life.
It should evolve you.


While we are all visioning, I would like to remember a great leader, Martin Luther King, Jr.

Martin Luther King, Jr. was under a lots of pressure due to the face of economic hardship, constant threat of assassination, attacks on his family still burned deeply into his mind, but nothing, literally, nothing stopped him, only because he was running towards his vision...

"In a country where segregation was the law of the land, and racial hate was rampant, a world with people where they would no longer be judged by the color of their skin."

...and do I need to say anything about Mahathma Gandhi's vision? ;-).

So, sit back, relax for a while and think about your vision. If you find yourself visionary, please share your vision with me, otherwise reach out to your mentors to have one.

Thursday, June 19, 2008

Mth Dimension

"I have always found him arrogant and rude, I cannot work with him"
"I have no time, sorry cannot help you"
"I am so stressed, I am lost"
"As soon as we can dump him, we should"
"I know others get this much salary, why not me"
"It's your fault, not mine"
"Between you and me, he is an idiot"
"I got a promotion, but no pay rise"
"Do not you question me ever"
"Yes Boss, you are right"
"I am tired of explaining things to this guy"
"I do not feel like I am working in a partnership"
"I quit"
....

All these years, I have grown up in my career hearing the above and much more from all kind of people at all levels in an organization. Trust me, it may sound very light, but in reality it is not. These have been a cause for the teams to fail, organizations to fall, values to stall and personality prostitution. I myself have tooled some of the above and been a victim for all of the above. It was a pain to go through, pain, which many cannot bear.

Alright! Alright! is there a vaccine, cure or a medicine ?

I was one among the many who researched for the same. I have tried many individually and in a group, but none worked out. Maybe I have not been following the suggested course properly, or not fit enough to take it yet.

Is there a better medicine? Is there an instant cure? Is there a vaccine to protect?

"Time passed, One fine day, Eureka!! I found the medicine, cure and vaccination. It will be the solution for all of your pains caused by the above adversities, conflicts, egos and what not, it will save your team, organization, values and personality. This is an ultimate cure for all of your problems. Take it and never suffer."

Well, I wish I had said the above, but... practically it is not a miracle which happens in overnight, it requires time, it requires a team, it requires an effort, it requires practice, it requires patience, it requires passion, most of all...
...it requires a different view... Yeah...

The Mth Dimensional view.

This initiative is to create a network to program our minds to have a Mth Dimensional view on things to find a medicine and cure for the pain or even a vaccine to protect ourselves.

Here you go, the first line of the program has been written, join me to code our minds further or debug ;-).