Below images represent two of the many situations where your life is dependent on the software.
Image courtesy : Google images
Now imagine you know how this software was created, how many bugs were ‘punted’. Going a step further imagine you know the company which developed the software and their outsourcing partner in India. If you are a software engineer or somebody working in India’s software outsourcing industry, your throat might have become a little bit dry, you might have gasped a bit of extra air.
Let us imagine a fictitious scenario. Company XYZ developing the heart rate monitor decides to outsource the development of the software component to one of the top companies in India. They invite the Business development manger (position or title is immaterial, but his/her job is to bring more work, but let us call him BDM for brevity) and briefs him about their requirement. He comes out of the meeting understanding the requirements (at least he understands that i am going to bring some business to my company) and discusses the opportunity with his counterpart in India. Let us call this guy Mr. Sensible (for no apparent reason)
Imagine this fictitious conversation between the business development manager and the Sensible guy and his team in India (most of them are checking whatsapp or facebook in their phones during the call).
“Hey guys, we have this golden opportunity, Company XYZ is looking for outsourcing their product development to us.”
“That’s great news”
“yeah (thinking, Hey i have met my target :)) They are looking for around 100 people who has c++ knowledge”
“What, c++, we don’t have anybody who knows c++, and it is very hard to find people who knows c++”
“That is ok, we will train them in c++”
“That is a good option, but they might not be able to develop such a complex piece of software”
“Come on, what complexity you are talking, (thinking, this idiot will not let me meet my number and go on vacation), i was also a programmer 20 years back. I developed this software ….” (blah… blah…unleashes his verbiage which has been repeated 200 times).
“I feel it is too risky, these are mission critical software, people’s life will depend on the code that we write”
“OK, i understand your point (thinking, there is no way i can understand what you are saying). let me talk to your boss and my boss and let them decide”
Since there was a deadlock, the issue was escalated to the so called LT (leadership team) and a high level meeting was called. The bosses made it very clear, at any cost we have to get it done. Cost? which could be people dying because of the code you write?
“Come on we do test our code, is it? this company has strict quality procedure. And the company XYZ will also have procedures to ensure quality”.
And the sensible guy was given a last piece of advise, “There are two kinds of people, people who find solutions for every problem and people who find problems in every solution”
Eventually the outsourcing company won the contract, they hired 100 C++ developers from India (don’t ask me how) and developed the software for the heart rate monitoring device- Sales guy met his target went for vacation, bosses bought new cars, Mr. Sensible guy was given a rating of 4, (5 being “get out of the company now”) with the comment that “he is not flexible”- at which you are looking now from your hospital bed.
Outsourced call centers are another place, where similar conversations might happen, mostly. I am not so sure whether you have read about the @N incident? you can read a detailed account here. In summary a hacker duped a call center agent and stole the credit card information of the owner of @N twitter handle (from Godaddy or PayPal) and asked him to release his twitter handle (which was worth $50000 at that time) in exchange of the hacker giving back the changed Godaddy password. Call center agent at Godaddy (or PayPal) during the verification process let the hacker guess the last four digits of the credit card number by trying random numbers.
The moment i read the incident, the first thing that came to my mind was hmm, that could have happened through an outsourced call center, most likely in India. Why? the call center agent has zero accountability for the company (Godaddy or its customer). He/she might have been working in night shift and wanted to finish this damn job go back home and sleep. Does he/she really worry what consequences his/her action might have caused? Does he/she have to? Forget it, does he/she know what happened? most likely, no.
I suggest we change the name outsourcing to pimping, That is the closest analogy i can think of. Both involves two common factors, screwing and accountability. You screw customers, screw developers’ work life balance personal life and there is no accountability.