|  | 
    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
 |  |