So, when I heard about strategic industrialization of software services industry - my blood boiled.
I have been in meetings where we go with an estimate of x number of guys working for y number of days and x*y being the total cost. The estimate is arrived at assuming that we can use our fresh catch of resources to get the things done fast by leveraging our prior experience and reusable artifacts. Then the client asks - "can you do this thing any cheaper and any more faster?". Thats another occasion when my blood boils.
A computer is a machine that we invented to execute a know set of logical steps repeatedly, at a speed that has been growing over the years and produce a repeatable result. But the logic itself needs to be arrived at with sufficient optimization built in in order to produce a decent result. And this requires a capable mind.
Agreed that past learnings and best practices can be leveraged, combined with a certain level of ability on part of the person creating the logic - we can get a good product that can be fine tuned. But, people forget that
- The learning required and the amount of time needed to come up with a solution to a problem differs from problem to problem and cannot be put into s strict mathematical equation
- A certain amount of intuition and common sense are needed along with ability and leverage to be able to produce a workable result
- What works once will not work everywhere else
- And finally, the human element involved here is a big factor that affects the final result
Software development, testing or for that matter maintenance cannot be compared to a car assembly. Even a car, which has few hundred parts, after being assembled with precision instruments and coming with extensive manuals on how to maintain it, and with suitable tools only runs as good as the owner and the mechanic are. A bad mechanic can screw a perfectly new car, and a bad owner can screw it much easily if he does not pay attention or run it properly. Software is a much more complicated piece of work and more easily prone to the error of the human element.
IT cannot be industrialized.
The industry has come down to a level where the vendors, based wherever they are in the world are charging the lowest possible to get projects done and still make a margin. All of them are quoting in the same range of price and soon will not be able to go anymore low. They are losing their price differentiation.
They will then start looking at the new differentiator - productivity. This depends on experience, expertise. And this is where the kinks in the armor will start to emerge. Not everyone can learn at the same rate. Not everyone will be able to get the same amount of work done in the same amount of time. Some will just not get it. Some will pull their hair, smoke a few cigarettes and go mad. After all we are human.
So from the crowd will emerge those who survive - the fittest. And when Darwin's theory shows itself in the IT industry, there will be a rush, a competition for these fit and productive men and women who can deliver what is needed in the time that is there. And sadly they cannot be cloned. They cannot be cast into reusable entities that provide the leverage to run IT businesses at a lower cost. And thus the cost will increase. We can no longer mass produce software at the low cost.
Well we could stop going lower or trying to find a new differentiator and stay with the current situation reaching an equilibrium - but thats not what the vendors got into business for - they would rather shut shop and exit.
So it is destined that we walk down the path to our doom.
Someone said somewhere that quitting when things are good is not s sign of being a loser.

0 comments:
Post a Comment