Thursday, April 17, 2014

Moron Vs. Oxymoron


I had the luxury of working with insanely smart people.
I had the misery of working with mind numbingly inane people too.
I had the luxury of working for morons and reporting to oxymoron.
The moron are okay, they don't know any better. They can be educated.
The oxymoron's they do know better. They purposefully want you to swim against the currents just to prove a point to nobody, not even themselves. They cannot be reasoned with.
I would totally run from these!! And I have.

I am a Bitch

The Circle of Office - 
I am a Bitch (not in general)
I am my boss' bitch.
My boss is their manager's bitch.
The manager is the vice president's bitch.
The VP is the CEO's bitch.
The CEO is the bitch to all the stake holders.
Instead of bitching about this situation, I try to be the best bitch I possibly can be (excuse the expression).

When it comes to working in an office, we are confined to cubicles physically and to the manager’s invisible boundaries. Learn to live and learn to grow.
If you signed up to swim in a pond, do not complain that it is not as challenging as swimming in an ocean. If you signed up to swim in the ocean, do not complain that it is not as predictable as a pond.
Do the best you can. Learn to use the currents. Do not work against them.
If you do, you will fail and a new swimmer can replace you.
One should be replaced for sucking at ones job, not for trying to make a work place better.

Update - Well, this is what I thought, till I worked at Amazon and Porch. When I worked with a great boss, I was myself and it felt great. I was happy. 
No, I don't want to be a bitch in any sense. Not anymore.

Friday, October 25, 2013

The Hot Air Balloon

Ever work in a company where the upper non-technical management made all the decisions, and the IT team had no team say in making the decisions. Why does that happen?

A man saw a hot air balloon and starts to float. He enjoys the ride. After a while he looks down and realizes
that he does not know how to get down to the ground and also that he is not in a safe place either. He hurriedly looks for civilization and finds a woman strolling.

He yells to get her attention and he gets it. He asks her if she can get him down to the ground? The woman thinks for a little bit scanning the premise, she then replies - "Your balloon is 40 feet from the ground. 20 miles from the city. The air balloon cannot last for more than 1 more hour. ...." and she went on.

The man in the air balloon interrupts her and asks her "You are in IT. Aren't you?"
The woman replies "Yes, Yes I am. How did you know?"
The man says "Well! what you explained to me is probably accurate, but it is not helping me get down!!!"
The woman thinks for a little bit, and asks "You are in upper management. Aren't you?"
The man replies "Yes, Yes I am. How did you know?"
The woman answers "You get your self in a hot air balloon without much prior knowledge about it and just expect others to fix your issues magically!!!"

Now, is this an ideal situation?
Shouldn't the people making the software make the decisions about its dates and features and all?
Well, that would seem like the ideal way to do things, but there is a catch.

Parkinson's first law - Work expands to fill the time allocated for completion. (Developers write enormous code that doesn't add value to the quality of the application.)

Parkinson's second law - Expenditure rises to meet the income. (Employees trying to create work to keep each other occupied rather than really work for the organization.)

Parkinson's third law - Expansion means complexity. (Once the budget is increased, more changes and resources are added to a project irrespective of necessity.)

Parkinson's fourth law - The number of people in any working group tends to increase regardless of the amount of work to be done. (Family junk expands to fill the attic.)

So, is the hot air balloon good for the projects and good for our work prioritization?


Monday, October 14, 2013

To Process or not to Process

A long time ago, there was a land lord who started the tradition of throwing a huge party for all of his town folk in his huge backyard once a year. Right before the party began, the land lord would get his men to catch his pet Cat and put her under a wicker basket and then put a brick on top of the basket. Right after this event, the party would begin.
The landlord passed away and his eldest son took over the family house and the traditions. The eldest son did not have a pet cat. But every year at the time of the party he would instruct his men to get a cat. He would then put the cat under the wicker basket and then put a brick on top of the basket.

This tradition was as important to this landlord’s family as having a real turkey or a fake tofurkey on Thanksgiving to most of us Americans. Nobody had any issues with this process, so they went on carrying out their practices.

Now, let’s try and understand about why the landlord originally used to lock his cat right before the party began?
  1. The landlord really loved his pet and did not like to restrict her freedom. 
  2.  The landlord liked to devote his time to entertaining his guests at the party.
  3.  The landlord was afraid of his cat hurting other kids or even worse someone stomping his cat by mistake.
So, in order to take care of all the three issues, the land lord used to lock his cat up for her own safety and convenience of the guests. He used a wicker basket because he had them in abundance at his house. He used to use the red brick to weigh down the wicker basket restricting the cat to tip over it and run loose.
His son had observed his actions and followed the actions, but did not try to understand the purpose behind the actions.


What is a process?

Process is the practice of executing related tasks in a certain way to accomplish a goal.
1.       This practice could be executing tasks sequentially synchronized.
2.       This practice could be cataloging tasks in a certain way for easy identification.
3.       This practice could be to identify certain annoyances and take care of them.
4.       This practice could be to have gate keepers at certain locations.
5.       Etc.

Example of a process –
Waterfall  
Agile 
Scrum
  Etc.

Q. When to follow and not follow a process?
Many companies and projects like to implement the text book version of process without first understanding if the process will work or break with their core. And this is not necessarily the best way to implement anything.
  1. Process for the sake of process does not add any value to the team and the company.
  2.  Ever revised process will help the team to be efficient.
  3.  Understanding of why to do certain tasks in certain way makes for a better process.

Process is good. Following a suitable process is as effective as epilating regularly (it is less painful with fewer surprises and leaves few chances for public embarrassment). Keep revising your processes and make sure it works for you. 

Friday, October 4, 2013

Digital Fast

 
A very good friend of mine recently used this word in the sentence “I was on a digital fast, so I could not reply back to your email immediately”. My friend was on a digital fast by staying away from all social media like Facebook, LinkedIn, Twitter, Google+ and even emails (in certain cases).




We are over stuffing ourselves with all this social media, texting and constant information update. It would be nice to take a break from all of that and go on a Digital Fast to clear our schedules and minds. It would be like tasting food and appreciating it after a food fast.

It would be kind of impossible to shut down everything we use on a daily basis. But we can cut down on one digital media one day a week.


(I would love to blabber about the pros and cons but you know yourself with your media better)

Tuesday, August 6, 2013

Testing without Requirement


I have tested without requirements loads of times. I had no other choice!! I worked for companies whose software applications were older than me. So, how did I go about testing them?
I looked at the login page (the gate way to the old world). I poked around it. I found fields for username and password and a button login. I clicked on the button. Nothing happened. I mean not even an error message. That was my first bug. The username and password fields allowed me to enter more than one thousand alpha numeric characters. Few more bugs.
At this point, I was warned by my experienced colleagues that we do not need to test in those ways because the user
would at most type in 20 characters only. I thought, may be my experienced colleague has a point to it. Maybe I should not spend time on doing basic software testing. I should do real functional testing; I should learn to use the application just like everybody else. Thinking so, I decided to end my test and hit on the button Login button (to finish what I started). The application suddenly closed and instantly took down all the users that were using it too. I crashed the backend. My first reaction was “I am so fired for this”. My next reaction was “Could I log this bug without getting into trouble because it looks kind of critical”.
I found more bugs without referring to a requirement. When I use the requirement, I can certainly get to the places I might not know about. But if I limit myself to testing as per the requirement, I will certainly miss out on exploring the application for what it is and to figure out how better it could further be.

Sunday, June 16, 2013

Test the pencil

(Not to be mistaken for the pencil test)
 If the requirement for a pencil was to write 10 pages, and during testing the pencil ended up writing 12 pages.
What should the testers do? Pass it or fail?
Should the testers PASS the pencil test because the result was better than expected?
Should the testers FAIL the pencil test because the result was not per spec?
May the testers ask for more specs regarding the weight and thickness of the overall pencil?
May the testers ask for more specs regarding the weight and thickness of the lead core?
Should the testers re-test the darkness of the writing?
Should the testers use other kinds of paper for executing re-testing?
What would you do as a tester?
Why should you do anything else besides testing and giving a pass or fail?



Possible defects – 
  1. Longer pencil than mentioned in spec
  2. Thinner lead core than mentioned in spec;

Possible concerns – 
  1. More money is being spent on the pencil
  2. Less return of investment may be the result.

A few opinions I collected over the years - 
  1. Need more clarification and information
  2. It is a FAIL because the company could be losing its return on investment.
  3. It is a PASS because more the merrier
  4. When the requirement was to test till 10 pages, the tester should have stopped testing at 10 pages. The extra testing is exhaustive testing. We should limit our tests to the resources we are provided only.
What would you suggest and do, if you faced such a situation?

Why you should not delete Tickets

I am old school. Back in the day, logging a ticket was not everybody’s job. Prioritizing and removing tickets from the queue was also handle...