The reality behind — Software Development Life Cycle — what Pressman did not know !!
In the late 90s there was really an IT boom in India; The companies in the west started exploring the possibilities of computer technology and they realized that the skills set in their own land is costly when compared to that in India. In order to work in software industry all you need is logical thinking (which most of us Indians have) and aptitude. Even if I have done Mechanical or Civil engineering, I will land in IT, as there are a plenty if high paying jobs and less of people having those skills. It is a status symbol back home. ‘My son works in IT’ has become a feeling.
It was always been a challenge to explaining the software development life cycle to a normal previous generation parent, who has no idea about what we do — they think that a software engineer can fix anything on a computer or any electronic gadget. I still remember the day in which i was struggling to set a ring-tone for a Motorola phone for one of my neighbor. The below is conversation between me and father sometimes in 2000s. My father is a high school educated, retired govt servant.
Father : What exactly is the kind of job that you do?
Me: the question is very well valid…hmm…<i started thinking>
Father: I see all these software engineers, you work in a air conditioned office, on chair with wheels, you guys are highly paid,even freshers get more than 25000. what kind of job you guys do?
Me: <i started after a little pause> There are many people or corporations who want all the work to be done in very faster mode. They always wanted to be sitting at home. To get that done faster, they are even ready to pay any amount.
Father: ok, then?
Me: there are many corporations, banks, etc in USA and Europe. “I am ready to pay, could you please complete it ASAP”.. We call them Client.
Father: ok, then?
Me: to find such clients, companies in India has appointed lots of sniffers in these continents. We call them Pre-sales consults, Sales consultants. These are the people meets the client face to face. The clients will never agree to pay money at the first instance. They ask too many questions. Can you do like this? can you do like that? why it cannot be this way? etc. etc ..and the sales guys job to say “Yes” to all these questions.
Father: what is these people education qualification?
Me: MBA or MS like that there are many other degrees they must have taken?
Father: To just say “Yes”, do they have to study till MBA?
<that question was like a check-mate>
Father: so when these sales consultants talks with client, do they give money immediately?
Me: No way, you see every company has similar guys and they all are good in talking. They will say that we will finish the work in 50 days even if it actually takes 500 days, it is like an auction. Who ever gives the fastest delivery timelines, lowest cost generally gets the money.
Father: so how will you complete 500 days work in 50 days. Even if you work day and night it will not be possible.
Me: Here starts our tactics and smartness. When we says 50 days, you actually get him into the bottle. But what he expects in delivery in 50 days we do not know, most of the time he also does not know. On 50th day we deliver something which we term as project. Client will start screaming looking at what we delivered. “this is not what i wanted”…
Me: then we say that this not part of the agreed requirements, you needs to raise a CR.
Me: CR, the change request. Meaning we have completed all the work that you have paid for, if you need something more you will have to pay more. Like this the 50 days agreement, we drag till 500 days.
Father: But will the client agree for this?
Me: He does not have much options here. It is like going for a hair cut or shaving. Can we withdraw hair cutting after the half of the hair is cut. He must have already spent a significant amount of money by then and if he does not complete it he will be answerable to his management and stake holders. In most of the cases he do not have a choice.
Father: So where do you start when you get a project?
Me: Yes, i was coming to that. We make team first and appoint a “project manager” or “delivery manager” for the project. He is the person responsible for success or failure of the project.
Father : So he is like supervisor, he will know what you guys are doing…
Me:.. No no .. unlike traditional manufacturing industry, project manager will have no clue of what we are doing.. generally his job is to ensure that no one is screwing up the project status.. most of the time you find this guy in tension.
Father: .. poor guy
Me: that's correct, he struggles between the practicality of execution on the one side and over ambitions from company leadership on the other side. Whenever we have any problem we will go and highlight to him
Father: So he solves the problems for you?
Me: No.. no… he does not solve any problems .. he will listen to our problems, and tells us “i understand it .. i understand it”…
Father: Like i talk to your mother ..
Me: Exactly, below the project manager, there will be a technical lead, module lead, developers and testers.
Father: when all these people work together, it would be possible to complete the project faster, is it ?
Me: If they all work….. there are 2 types in the above category developers and testers — these are the only working class. In that developer is the most valued one. They get a “ghar ka lakshmi” status always.
Father: whats the roles of testers?
Me: “finding fault in others”, just like your mother find faults in everything my mother does. testers would say, this is not correct .. that is not correct …this fight goes for a while; sometimes project managers has to play the umpire role here.
Father: strange, some get salary for find fault in others? ..so will these people work? Will they finish on time?
Me : Never, if they finish their testing on time, they will have some guilty feeling back home.
Father: Wont it client question about the delay?
Me: Yes — definitely he will question. Irony here is he can only question. towards the end we will create a a big drama as if that we have created something gigantic. We will give training to client and ensure that they don't understand anything. We just do not do any documentation. We will ensure that he is scared and confused to accept the software system delivered to him.
Me: He has no choice other than asking for support. Then we create a Maintenance & support team on a head count basis for N number of years to support him.
By this time the sales guys would have put some other client already into our pipe line. Project team moves to the new project and the cycle continues.
Now client will understand giving software project to an India offshore company is like marriage. Just completing the wedding is not enough, we need to take her for honeymoon, need to buy cloths, cosmetics and jewelry, take her to places, will have to born her costs for ever …
Father: Now i got it .. what do you call this ?
Me: software development life cycle .. for more information refer to chapter 3 “software engineering” by Roger S Pressman.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -
for my next article on similar genre — please click here
other genres — please click here
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Best Regards — Anu Sadasivan
Pictures courtesy — sentientit.com, corbisimages.com
Disclaimer — story line is not fully original, collated from various forwards and joke forums.