I saw a discussion on this topic in bangla ict and wanted to share with my blog readers. The original article is from The Daily Star newspaper.
Crisis in software development
Md Anwarul Kabir
The overall growth of software development in Bangladesh has not been as good as we expected earlier. The government in 1997 identified the software sector as a thrust sector for the overall economic growth of the country. Accordingly, a commission was formed under the ministry of commerce (later called JRC commission) to formulate some recommendations for the rapid growth of the software industry in Bangladesh.
The commission identified four problematic functional areas namely: fiscal, human resource, infrastructure, and marketing, and provided some recommendations to overcome the barriers in software development in our country.
By accepting these recommendations (however, some of these recommendations are yet to be implemented), the government had set a target to export yearly software worth two billion dollar (Tk 14,000 crore) by the year 2006. However the statistics (BCIT) reveal that the total earning from software sector during 2004-2005 was approximately Tk 88.34 crore. No doubt, this achievement lies far behind as it has been envisaged. This article tries to investigate the real causes that hinder the overall growth in this sector.
It has been argued that the quality of any product largely depends on its demand. Alternatively, demand of a product vastly depends on the quality of a product. This hypothesis is very much true for any software product. The very causes of failure in software development industries in Bangladesh can be identified as twofold: 1) Poor marketing efforts, and 2) Lack of quality products.
At this point of time, as Bangladesh software industries are not capable of producing quality software products, they are not succeeding in entering the ever-demanding global software market. Alternatively, as the software industries are not able to enter the global software market, the quality software development in our software industries seems to be impossible. In fact, software industries in Bangladesh are suffering from this dilemma. For the overall growth of software development in Bangladesh it is now very essential to find a way out from this Carch-22.
Poor marketing efforts
Precondition for accessing the global software market is the creation of internal software market. In fact, experience in software development for internal market can help much in developing software for the global market. Unlike other engineering products software products are dynamic ones. In fact, software development is a continuous and dynamic process. So, experience is a vital issue for producing a quality software product. And for acquiring this experience a sound internal market is a must.
But unfortunately the scenario of internal market for software products developed in Bangladesh is not favourable. Though the use of software in our industries, service providing organizations, and other commercial establishments is increasing significantly, the demand of locally developed software products is not accelerating at the same rate.
One of the major reasons of this is lack of any established national policy that can accelerate the creation of internal market for locally developed software products. Relatively low price of foreign (especially from the neighbouring country) software attracts the consumers in procuring foreign products rather than buying local one.
For instance, if an organization decides to buy a multi-user accountancy software from a local software firm, the minimum price it has to pay is approximately Tk 100,000, whereas in the market an efficient and proven multi-user Indian accountancy software like Accord or Tally is available from Tk 30,000 to 50,000. Moreover, locally developed accountancy software has no high profile as Indian products do.
So, why will the client opt for a local software? In this context, the question arises why the foreign software products are cheaper than the locally developed software products? The answer to this question lies in the very nature of the development process of software products. The cost of initial development of any software product is significantly much higher than its subsequent versions. Because the latter can be produced by merely copying the initial one.
Most of the foreign software products available in our market are their subsequent versions. So, the consumers in our country do not have to bear the initial cost of the development. Moreover, these software are more reliable as they already have established high profile. Many international commercial companies use these products efficiently.
On the contrary, most of the Bangladeshi software firms need to charge the initial cost for development for their clients although the reliability of their “to be developed” products is quite uncertain. So, naturally, the local clients are not interested in procuring local software products. To change this scenario, the government must take steps by imposing high tax on foreign software products and by implementing strict copyright act for the use of software products.
Apart from developing internal software market, we also need to target the international market. At present, as our software firms have no high profile in developing software products, we could not succeed in competing with other countries. Especially our neighbouring country India has already created high profile in the field of software development as it has been in the global software market for at least two decades. This long-time experience as well as availability of many high level IT experts at relatively low cost compared with the developed countries has made India capable of taking advantages of procuring software projects from the global market quite easily. Besides these, as India has professional immigrant communities in the US and in other developed countries who have succeeded in influencing the global market to procure software projects for India.
This is true, it would be very unrealistic on our part to compete with India at this moment to procure software projects from the global market. However, at least we should have a policy to gear up our marketing strategy to procure global software projects. Bangladesh government through its embassies/high commissions may open up a special software marketing cell in different developed countries. Besides our professional expatriates living in the USA and other developed countries may play an important role in this context. They may instantiate software firms to procure software projects to be developed in Bangladesh at low cost.
In the area of software development, timing is a crucial factor. If the end products can not be delivered in time, the clients will be lost. Our observation has revealed that some software firms failed to meet up the deadline decided with clients for delivering end products and subsequently clients cancelled the work order. Failure to meet up deadline for any software project may cause negative attitude towards our software marketing efforts among the prospective clients. So, estimating deadline for any software project must be realistic and software firms must pay especial attention to this.
For marketing, pricing of the product is an important issue. For developers one of the critical questions is: “How much should we charge for our software?” Asking too little price will be jeopardized because in that case developers even can not reach the break event point. Again, charging too much for the product will be a barrier to our marketing efforts. Though the software pricing is a complex phenomenon still there are some scientific economic theories in this regard.
These theories must be applied when the software companies fix the prices of their product. In this context, it must be mentioned that we being at the entry point of global software market, our profit margin should me minimal one so that we can easily compete with other software exporting countries. In fact, at this moment our objective should be to create our profile in the international market by producing quality software at relatively low price.
Lack of quality products
From the client’s point of view the quality assurance is of prime concern as the most of the systems are to be used in real time environment. Yet now, our software companies in general have not gained confidence in developing quality software. Right now we have over 200 software developing firms and among them only 20 companies have earned ISO 9001 certification but not a single one has achieved CMM/CMM1 level 3 certification. In this context it should be stated in terms of achieving ISO 9001 certification is not that important issue to justify the quality of software products. ISO only focuses the general aspects of development to certify the quality.
But achieving CMM/CMM1 (minimum at level 3 out of five levels) is the prime factor for defining quality software. One statistics has revealed that some of the software companies in our country could only pass the first level of CMM/CMM1. In this respect it must be stated that if a software product could pass at least level three of CMM/CMM1 then we can classify this as quality product. The barriers to achieving quality software on part of our software industries are discussed below:
Lack of expertise in producing flawless user requirements: To ensure the quality of software products, the developing firms must go through some defined software development steps as suggested in software engineering discipline. The very first step is to analyze the users’ requirement. Defining users’ requirement precisely is a crucial part as designing of the system vastly depends on this.
Ideally system analysts should do all sorts of analysis to produce user requirement analysis documents. Unfortunately, in Bangladesh, a few firms pay much effort to produce flawless user requirement documents. This is, in fact, due to lack of theoretical knowledge in system analysis and design. Production of high quality requirement analysis documents needs in-depth theoretical knowledge in system analysis and design. But many of local software development firms lack the expertise in this field. To combat this limitations software firms should consult academics in this field with a view to producing relatively flawless user requirement analysis documents.
Lack of expertise in designing the system: Apart from user requirement analysis, the designing part of the software product is the most vital part in the development process. The efficiency of any implemented software system entirely depends on its design. Again, availability of expert software designers is a real challenge to our software industries. In fact, as we have entered the software development area quite recently compared with other countries, a few software engineers could acquire required expertise in software designing. In this context, it may be pointed out that we have many entry level programmers or coders but the number of experienced and expert software engineers is till a handful.
In fact, our software industries are suffering from the lack of availability of resourceful persons who can guide large and complex software projects properly to produce quality end products. It may be mentioned here that sound academic knowledge in software engineering is a must for developing a quality software system. A bridge between industries and academic institutions can improve this scenario. The theoretical sound knowledge of academics may be exploited in industrial software projects. Besides depending on the complexity of the project, software firms may hire foreign experts for specific period to accomplish the project properly.
Lack of knowledge in developing model: Software development process must follow some specific model, depending on characteristics of system to be developed, available resourceful persons and other technical factors. Our empirical studies have shown that many of our software development firms do not follow any particular model in developing their software products. Without adopting any suitable model for development the end product can not be a quality one. So, prior to starting a software project, the developer must select model for the development.
Absence of proper software testing procedure: Quality software demands exhaustive test to check its performance. Some theoretical testing methodologies are available to check the performance and integrity of the software. Many developing firms, here in Bangladesh, hastily try to deliver the end products to their clients without performing exhaustive test which in turn keep many bugs in end products. In this context, it should be pointed out that fixing the errors after delivering the product (especially if it is on operation) is costlier than during the developing time. So, software developers must perform the test phase of the development before delivering the end product to the clients.
Inconsistent documentation: For software development documentation is a very important part. Though some of the software firms in our country put documentation for their products but very frequently the documentation is either incomplete or inconsistent. As the software is ever-growing product, documentation in coding must be kept for the future possible enhancement of the software. Besides, clarity of user manual is desirable for any good software products. Our software firms should pay especial attention to this.
So far this article has tried to find out the reasons behind our failure to enter the global software market. To combat the problem, it is high time, on our part to formulate some policies with a view to improving both our marketing efforts and developing quality software. To develop internal market for our own software products, the government must stop the easy availability of foreign products. Imposition of high tax on foreign products will significantly change the scenario. Side by side, to improve the quality of our own products both the industries and academic institutions should work hand in hand.
The involvement of academics in software projects run by the industry will contribute much to improve the quality of the end products. Besides, like many other developed countries students from different universities in this discipline can work for industries as internees. This will no doubt provide our young students an exposure to real time developing environment.
The author is Assistant Professor and Research Coordinator of Department of Computer Science of American International University-Bangladesh (AIUB)
© thedailystar.net, 2007. All Rights Reserved