|
Facts about Software Usage in
India
Pankaj Jalote
Professor
Department of Computer Science and Engineering
Indian Institute of Technology
Kanpur - 208016
The software industry in India has a unique distinction - the revenue from
domestic projects, as of now account for less than 50% of the total turnover
of the software industry. Though in this day when there is a heavy emphasis
on exports, this may sound good, it actually is also a potential source of
concern.
The reason is that the software industry is essentially a support industry.
The fundamental role of software is to to improve the functioning of some
organization in some form, or solve some problem which will be hard to solve
manually. The improvement may be in form of improved service, problem
solving capability, information management, efficiency, or something else.
In other words, the real success of the software industry should not be
measured in terms of how much revenue they have generated, but how much
enhancement they are able to induce in other industry segments. In this
light, the high ratio of exports to domestic consumption of software is a
disturbing trend - in exports the multiplying effect of the software goes to
some other country.
A main reason for the domestic consumption not being high is lack of
understanding of software, its processes, and its costs by the consumer
organizations. For a long time consumers of IT goods thought that software
is "free", and the main thing in IT is the hardware. Little was it realized
that hardware, without proper software is almost literally a piece of metal
and silicon junk. This mentality, unfortunately, was also reinforced by some
hardware vendors, who at the time of selling their machines, either promised
to "give software for free" or convinced the buyer that software is
something that the buyer can easily do himself. And this is as far from
truth as it can be!
BROADLY speaking, software can be broken into three categories - system
software, software packages, and application software. System software
comprises of operating systems compilers, editors, etc., which typically
come with the machine. Software packages like DBASE, LOTUS, ORACLE etc. are
general utility programs that can be used to develop applications in some
domain more easily. Application softwares are those that that are used to
provide a computer based solution to some problem of an organization. Some
examples of such softwares are, software for payroll processing, banking,
railway/airline reservations, inventory management, decision support system,
etc.
It is the application software that makes the IT investment useful to an
organization. Generally, a typical application software depends on the
needs, characteristics, and methods of the organization, and has to be
developed specially for the organization and cannot be bought as an
off-the-shelf product. And as things stand today, getting software developed
is not cheap.
Let us see the order of software costs from the view point of a client. One
way to estimate the size and complexity of an application is the function
points approach. By this method, a medium sized business application
requiring 10-12 reports to be printed, having 8-10 different types of input,
a few interface files, and a dozen odd different types of queries, will have
about 200 function points. Typical productivity in the software industry is
of the order of 10 function points per person-month. This means that this
application will require about 20 person-months to develop. That is, a team
of 4 software engineers will develop this system in about 5 months. As many
good organizations charge between Rs 6 - 10 lakhs per person-year, in terms
of money such an application will cost at least Rs 12 lakhs! And it can
easily run on a workstation or a system consisting of a server and a few PCs
costing about 6 - 8 lakhs! So, in India also, as the hardware costs have
fallen over the years and the salaries of software personnel have grown, the
reversal of hardware-software cost ratio has occurred. Only, many
organizations still do not seem to realize it!
Being ready to pay the cost of software is not the complete story. Another
reason for organizations not getting proper returns from their automation
plans is that organizations do not understand software, the process of
producing software, and software quality.
It is now known that to produce quality software, the developing
organization has to follow well laid out software engineering methodologies.
Unfortunately, there are many software organizations who will not follow
these methods and do a poor job of developing the software, but bid low for
a job. Due to lack of appreciation of software quality and software
development process, a consumer cannot understand why a company will charge
20 lakhs, while the team of boys out of school are willing to do it for one
tenth the cost. They find out the reason the hard way - when low quality
software with poor user interface and without proper documentation gets
delivered, which keeps failing, loosing data and records, and is not liked
by the people who have to use it. The other approach, which the more aware
companies will take, is to give the contract to some well known, reputed
company. They will get a good software but will probably be charged more due
to their inability to distinguish good from bad and effectively use
competitive forces to reduce costs.
Getting quality application software developed is actually not an easy task.
It requires sufficient knowledge about the software development process to
be able to distinguish between a "mature" software organization that has
reasonable software development processes in place, and an "immature"
organization, which produces software in an ad-hoc manner, and is therefore
more likely to produce a low quality software. Being able to make this
distinction is necessary in selecting proper vendors for giving the
contract. Furthermore, the customer organization also has to play an active
role during the development of software, if it wants the software to satisfy
its objectives - even the ISO9000 standards for software companies specify
that the customer organization play a key role during software development.
Unless the customer organization analyses the capability of the software
developers and plays its the proper role during software development, it is
likely to end up wasting its investment in computerization and IT.
--
Pankaj Jalote, Professor and Head, Department of Computer Science and
Engineering, IIT Kanpur 208016
Tel: +91-512-597619 (o); Tel: + 91-512-598501 (r); Fax: +91-512-590725/413
Email: jalote [AT] iitk.ac.in; URL:
www.cse.iitk.ac.in |
|