Sunday, February 10, 2008

Software Process Improvement in Bangladesh

Software Process Improvement in Bangladesh

ABSTRACT

There is no alternative other than improving software process to achieve high quality in a software development organization. Bangladeshi software companies have not experienced much in this particular area in comparison to its neighboring countries like India. For this reason, Bangladesh is loosing its software business market in a highly competitive global perspective. This paper focuses on the key issues in Software Process Improvement paradigm, in comparison to the current process practices in Bangladesh to those of the standard models used internationally. This research also suggests a software process model for Bangladeshi software companies that require collaboration and strengthening to transform their current perspective into inseparable global IT scenario. It is revealed from this research that software industries of Bangladesh are lacking in setting targets for software process and improvement programs, infrastructure problems, fiscal problems, knowledgeable human resource problems, lack of marketing channels and unstable political situations. This paper investigates the Bangladeshi software industry in the light of the
above challenges.

Keywords

Software Process, Software Process Improvement, Software Process Model, Software Development, Software Development Process, Software Quality, IT, Business.

1. Introduction

To build up a software product or system, it is necessary to step forward through some predictable steps, which helps to create timely, high quality results. More formally, a software process is a framework for the tasks that are required to build high quality software (Pressman 2005, p. 53). Therefore, software process defines the approach that is taken as software is engineered. Another reason why it is important is that a process provides organizational stability and more control to its activity. However, there are some common misconceptions in the industry about process. It is assumed that a process interferes with creativity, creates bureaucracy, useful only for large projects and implementing a process costs high. Although everyone in the software industry understands the importance of having motivated, quality workforce and the latest technology, we do not want to realize that even the finest people cannot perform at their best when the process is not understood or the process is not operating at its best. With offshore outsourcing and growing countries like Bangladesh is in a position of exporting their local Information Technology services. However, what is the state of Information Technology in Bangladesh? No documented cases of Bangladesh companies have the
maturity of CMM level 3 or above. What are the challenges faced by Information Technology companies in Bangladesh?

2. Current Scenario of Bangladesh in SPI

Bangladesh is one of the largest developing countries in the world with a population of more than 135 million. The software industry in Bangladesh has come a long way over the last few decades. In the last five to ten years, a good number of entrepreneurs and talented professionals have come forward to make the industry more dynamic and more vibrant. According to the BASIS (the Bangladesh Association of Software and Information Services), more than three hundred (300) registered software companies are currently operating in Bangladesh. From them, more than fifty (50) software and IT service companies are exporting their product and services to thirty (30) different countries in the world including USA, Canada, European countries, Middle East, Japan, Australia, South Africa and some of the South East Asian countries (Mashroor 2005). However, it is reported that not a single company has achieved SEI's (Software Engineering Institute at Carnegie-Mellon University, USA) SW-CMM or CMMI level 3, though some of them exercise PSP (Personal Software Process) to improve the quality of their development process (Hossain 2004, p.5). CMM/CMMI level three (3) is generally considered the minimum requirement for a company to be eligible to participate in global software industry. Therefore, it seems that software process and process improvement is not realized properly among the software organizations of Bangladesh. Recently, some
companies are claiming that they are on the way of gaining CMM/CMMI level 3 even one foreign company claiming, whose local office is in Bangladesh, it has already achieved CMMI level 3, and it is a good news for software industry in Bangladesh. This scenario would influence software companies to introduce Software Process Improvement program in their organizations. In this paper, we are going to conduct a study on the Bangladesh Information Technology industry and their adoption of SPI.

3. Literature Review

The challenge for software development enterprises is to find a path to apply SPI technologies to realize their company's improvement goals. The most pressing
requirements for improvement paradigms are that these SPI technologies are not only effective but also realize tangible results quickly, which can be implemented
incrementally. Scott et al. (2001, p. 182) discusses important requirements for software process improvement that should be built on developed and proven SPI technologies like CMM, SPICE, ISO 12207. However, as these models are built actually for large companies, they may not be appropriate for SMEs, where they have short deadlines, are dynamic projects and have tight budgets. They have also implemented a process framework to improve software process improvement in a Sydney-based company ‘Allette Systems’. They have chosen ISO 12207 standard as a guide to improvement, because to them ‘it serves as a well-defined process model with an emphasis of good documentation’ (Scott et al. 2001, p. 186). They have proposed an approach of their model of process
improvement as noted (in Figure 1), Understand, process model, process improve, process guide, execute the projects, measure, and iterate the process.
Another paper of Kautz, Hansen and Thaysen (2000) has investigated the suitability for IDEAL model for small software enterprises, though it was actually based on the experiences of large organizations (p. 626). IDEAL model was developed by SEI. This model, as originally conceived, was a life-cycle model for software process improvement based upon the Capability Maturity Model
(CMM) for software, and for this reason, this model uses process improvement terms. IDEAL model defines five phases: Initiating, Diagnosing, Establishing, Acting and Learning. The Authors implemented this model in a small Danish company named ‘NP’ and deployment of IDEAL model took 10 weeks for them, ‘one week initiating, three weeks diagnosing, and six weeks establishing and acting in parallel. Leveraging, respectively learning, took place throughout the whole period’ (Kautz, Hansen and Thaysen 2000, p. 628). Here, researcher had to tailor the model for ‘NP’, though little advice they had received for tailoring the process from research community as IDEAL was for large organizations. After 10 weeks of experience, they finally implemented the model in the company. The Authors learned three lessons with ‘NP’ experience; they suggest those for small software companies: ‘It makes sense to use a structured model to organize the process…it makes sense to adjust the model to particular conditions of the organization,…it makes sense to perform the improvement activities as a project with clearly assigned and documented roles, responsibilities and resources’ (Kautz, Hansen & Thaysen 2000, p. 628). According to Kautz, Hansen and Thaysen, IDEAL model was suitable for tailoring. They also suggested that
when applied in the right context with appropriate adjustment, IDEAL is flexible for the organization of a software process improvement implementation in a small
enterprise and support smooth performance of all respective activities (2000, p. 633). Guerrero and Eterovic (2004) have conducted a research on initiating SPI activities in a small Chilean software organization, ‘Link’. To accomplish Link’s
strategic goal as cited, ‘to sell their software development services in the global market’ (p. 30), the company was considering ISO 9001:2000 standard as service-level agreements. ‘Link’ first focused on SPI alternatives and motivating software development personnel. Inspired by Kautz, Hansen and Thaysen (2000) study on IDEAL model, the authors choose SW-CMM as standard to improve software process and IDEAL model to guide the project. The company conducted a self-assessment against the chosen process model and created a five-person
Software Engineering Process Group (SEPG). The company management formed a technical work group and had the responsibility for a specific SW-CMM key process area. SEPG handled the design and rollout of the process improvement of Link. They also hired a consultant, who figured out some non-compliance issues at the end. Finally, after 10 months the company formally
assessed at CMM level 2, involved 20 software development personnel, one external consultant, 2,100 person hour and US$ 50,000 (Guerrero & Eterovic 2004, pp. 30-31). In literature, Guerrero and Eterovic (2004, p. 32) focused on top ten success factors of Link’s environment, which are: 1) Management commitment, 2) Process relatedtraining, 3) Developers’ involvement, 4) Maintenance of momentum, 5) Cultural awareness, 6) Group focus of
SPI, 7) Separation of process and product concerns, 8) Presence of champions, 9) Frequency of process assessment, and 10) Visibility into the SPI process.
McGuire & McKeown (2001) showed how an ISO 9001 certified company adopted CMM level 2 first and later adopted level 3 (p. 430). The authors pointed that ISO 9001 had similarities with CMM level 2; however,
differences were more pronounced and profound with CMM level 3. McGuire & McKeown placed a UK-based software company’s example in this regard and examined that it takes five (5) steps to adopt CMM in an ISO environment, which are: 1) Establish a SEPG to change the culture of the organization, 2) Perform a gap analysis between ISO 9001 practices and CMM key practices, 3) Make a plan, schedule and detail the specific tasks, target a timeframe, 4) Provide training that address the CMM specific roles, and finally 5) Measure the improvement. Saiedian and Carr (1997) found that adopting CMM for establishing effective software process improvement in a small organization is costly. SEI estimated it is $1 million to proceed to level to another, in addition, “nonproductive” time spent by organization associated with assessment process (p. 4). The authors then approached to make a tailored model for small software companies that combine CMM for process improvement with another SEI’s Personal Software Process (PSP) for selfimprovement for software engineers. Because they found that 12 Key Process Areas (KPAs) out of 18 KPAs of
CMM were adapted by PSP. They called their model ‘…scaled-down CMM combined with a scaled-up PSP’ (Saiedian and Carr 1997, p. 5). The authors finally discussed CMM goals and key practices that were not addressed by the PSP. As mentioned those are: 1) Requirement management, 2) Software project planning, 3) Software project tracking and oversight, 4) Software subcontract management, 5) Software Quality Assurance, 6) Software configuration management from CMM level 2 key process area. From level 3 key process area, 1) Organization process focus, 2) Organization process definition, 3) Training program, 4) Integrated software management, 5) Software product engineering, 6) Intergroup coordination and 7) Peer reviews (Saiedian
and Carr 1997, pp. 6-11). Fuggetta (2000) described software process to have
certain contributions and concepts, like: 1. Software Development Technology is the technological support including tools, infrastructures and environments are used. 2. Software Development methods and techniques are the guideline for using technology and accomplish development activities. 3. Organizational behavior is the core of managing organization and people. 4. Marketing and Economy is the real customer needs in the specific market setting. Furthermore, Fuggetta (2000, p. 28) also suggests that viewing software development as a process helps the organization to establish effective practices. In addition, as software process has motivated the research community and software process is a complex entity, Process Modeling Languages (PMLs) have been
developed, which represent software process features,
like: 1. To achieve the process objectives which activities have to be achieved.
2. Role of the people in the software process. 3. The structure and nature of the artifacts, which is going to be created and maintained. 4. Tools to be used Fuggetta (2000, pp. 28-29). To ensure reliability, functionality and performance,
software process model needs to be used, for example, SEI-CMM, ISO 9001 standard that defines the requirements of an ideal company. Along with this, an
improvement model needs to be used, like SPICE, IDEAL that suggest the steps to be accomplished to improve the quality of the built software. Finally, process
assessment is required to determine the degree of maturity of the established process, like CMM (Fuggetta 2000, pp. 28-29).

4. Research Design Methodology

The data for this research paper was collected from Bangladesh by sending emails with questionnaires directly to the company’s managing directors, project managers and senior software development professionals. Researcher also arranged interview sessions over telephone with surveyed company’s personnel to know the actual process capability of the company. A set of open-ended questions were initially prepared and later a set of specific questions on software process were prepared as data gathering techniques. Researcher asked the same set of questions during the phone interview as well as email sessions. Question sets were related to software process familiarity, organizational structure, financial matters in adherence to a software process and their intension for future process improvement etc.

5. Software Industries in Bangladesh


It not long time since software sector has emerged as a national level industry of Bangladesh. The recent trends in the industry indicate that the industry has certainly reached in a ‘take-off’ stage and in the coming years in position for high growth (Mashroor 2005). In his online article, Mashroor (2005) indicates that total ICT (Information and Communication Technology) market of Bangladesh is approximately Tk. 1,100 crore (near US$ 170 million) per year and from them software segment is only about Tk. 170 crore (near US$ 26 million) per year. A survey conducted by BASIS (Mashroor 2005) points out that software products and services developed and maintained by the software companies are mostly back-office automation like accounting/finance, ERP (Enterprise Resource Planning), Human Resource (HR), inventory, billing etc. type. However, Rahman (2003) described that most of the software business was data entry. The results show that data entry service is 34%, which is still significant but not the most. Survey also shows that local companies are developing high valued customized applications like CRM (Customer Relationship Management), SCM (Supply Chain Management). Front-end business application development like web application, e-governance application, e-commerce, POS (Point of Sales) are very significant from the companies. The major client/buyer of local software is textile & garments sector and pharmaceutical companies. This is because textile and garments sector is the leading export oriented industry in Bangladesh and many internationally recognized local pharmaceutical companies are well established there. Then comes government; educational and financial are the biggest clients of local softwares. This is a good sign for the software industry that government is buying a significant number of locally developed softwares that will help in establishing longterm domestic industry capability (Mashroor 2005). On the other hand, though domestic software industry is growing significantly, exporting the software product and services is not significant for Bangladesh. Mashroor (2005) presents, software export has been increased rapidly over the last four years in Bangladesh. It is noted that in fiscal year 2004-2005, growth is 122% within five months (fiscal year starts in July). It is also pointed in Mashroor (2005) that more than fifty software and IT support companies are exporting their products and services in some thirty different countries. In 2003, exporting companies were 20-30 and most of them were working as a service provider and as a subcontract basis for their foreign clients (Habib et al. 2005, p. 16). The major export market of Bangladesh is the United States. Software firms are regularly attending the Comdex exhibition both as visitors and as exhibitors in US (Tjia 2003, p. 4). To streamline this export process in May 21 2003, Ministry of Commerce in collaboration with World Bank has opened its own marketing office in Silicon Valley, California, USA (BASIS 2005). Some of the big companies are in the process of opening their own marketing office in North America and Europe. The local companies that are aiming to export software also working for gaining certifications as international requirement and some of them are focusing on process/quality improvement as well (Mashroor 2005). According to a study of Habib et al. (2005, p. 15), some companies in Bangladesh having excellent work force that capable of developing international standard software are failing to export software only for lack of distribution channels for marketing purpose compared to other developed countries. Even the neighbor India has more than 300 marketing offices in Europe, especially in UK (Tjia 2003, p. 4). Carmel (2003) introduces a four-tier taxonomy of software exporting nations, where tier-1 nations are major software exporting nations and tier-4 are infant stage software exporting nations (figure 5, p. 3). The position of Bangladesh is in tier-4, because tier-1 nations have export revenues more than US$ 1 billion, tier-2 have US$ 200 million, tier-3 have US$ 25 million (p. 2). However, in 2005, Bangladesh has only US$ 5.59 million (though some millions just within 5 months). In a recent survey conducted by BASIS, shows that there are about 5,500 software professionals are working
in its more than 300 registered companies. However, it is estimated that the total numbers of IT professionals are nearly 25,000. Most of them are working in IT sectors of different government, non-government organizations and many small & large private enterprises (Mashoor 2005). Fifty-five (55) surveyed (conducted by BASIS) software companies having more than 1,100 technical staffs profile shows that 42% of them are programmer. Only 7% of them are project manager and 8% of them are working as testing/quality assurance purpose. BASIS survey of 55 software companies shows that 85% technical staffs have a minimum of a graduate degree. 42% of them have no IT degree (both graduate and masters). In Bangladesh, there are a total of 66 universities including 17 public and 49 private universities in Bangladesh (ISRT 2005), where most of them provide 3/4 years computer science and engineering degree. It is estimated that in 2005 more than 2,500 IT graduates will pass out from the universities and another couple of thousands from Diploma and other certificate courses (Mashroor 2005).
Bangladesh poses some advantages regarding software development, which is very important to compete in global arena. One of them is low labor cost. Tjia (2003) reports that cost per programmer is much lower in Bangladesh, which is more than 50% including overhead compared to India (p. 6). High programmer productivity and wide spread of English have significant influence in software industry of Bangladesh. About 54% of the workforces are graduates with master degrees from non-IT subjects and diploma/certificate courses in IT. Generally, they are trained in professional IT courses from different internationally recognized IT institutions established in Bangladesh like APTECH, NIIT, New Horizon etc., and from some local IT training institutes. Almost all of them later joined as a programmer. Even in most cases, after graduating from Computer science or engineering graduates enter in a firm as a programmer to gain industry level experiences and they usually posses a very good command in English. Another important advantage is cultural difference with other client countries had no major difference so far (Tjia 2003, p. 1).

6. Results

Our study conducted a survey of Bangladeshi companies to know about their software process implementation and process improvement program using a set of questionnaires as a data gathering technique over a period of two months. Two sets of questionnaires were sent to six software company’s managing directors, project managers and software developers separately, where the researcher has familiarity. Among them three companies responded to the researcher that include one CMM level 3 (as they claim), one is CMM level 2 company (approaching to CMMI level 3) and the last one has ISO 9001 certification but no CMM or CMMI certification. Three companies are medium-sized companies having human resource from 50-100.
6.1. First Surveyed Company (TigerIT)
The name of the first company claiming CMM level 3 is ‘TigerIT’, which is a BASIS member. It has two fully integrated technology centers, one in Northern Virginia's Technology Corridor and the other in Dhaka, Bangladesh. Dhaka office is an offshore developing of TigerIT, Virginia. A project manager in the US is assigned to work with the client, and serves as the primary interface to the Technical Lead and technical team at their campus in Dhaka. Through TigerIT’s ‘TigerClient’ web-based project management tool and a US-based project manager, they utilize the internet to remove many of the obstacles of working with remote resources. Though TigerIT, Dhaka is an offshore center it has more than 60 developers and technical staffs and most of them are from top 2% of the graduating class from local universities in Bangladesh, where Virginia office has 20 developers and technical staffs. TigerIT is the first foreign company whose offshore developing center is in Dhaka regarding industry scenario. A senior software developer of TigerIT, Dhaka responded to the researcher with the answer of the questionnaire and researcher later arranged a telephone interview with that person. According to the interviewee, TigerIT is the first company in Bangladesh having CMM level 3 certification though they (Dhaka office) are the offshore development center. In an interview session on 7 October 2005, Mr. Mizanur Rahman mentioned that they had a disciplined management control and they provide extreme quality to their clients. They have combined IDEAL model with CMM to guide their software process as mentioned in the study of Guerrero and Eterovic (2004) and XP (eXtreme Programming) for quality development process. They follow all key practices areas of level three and goals for each KPA’s rigorously. He added they are now working on CMMI capability level 4 to improve their current software process. He continued gaining CMM certificate were not difficult for them because TigerIT is a US-based company and have a sufficient flow of money unlike other local software companies in Bangladesh. Answering in a question, he replied that their company does not release software in local (in Bangladesh) market. Mr. M Rahman personally believe that for small software companies like in Bangladesh should focus on the local market and they need to sell their product to local vendors with marginal profit as local companies have a tendency to go for high price. However, further investigation from TigerIT’s website, showed that the organization did not have up-to-date website materials. It seems that a CMM level 3 certified company has no updated news in their website.
6.2. Second Surveyed Company (Millennium)
Second surveyed company, who are in CMM level 2, is ‘Millennium Information Solution Ltd.’, also a BASIS member. Millennium is an extremely dynamic as well as high growth company of Bangladesh. It has established itself as a consistent and reliable software solution provider and offshore software outsourcing company through its commitment and dedication towards quality, innovation and customer satisfaction. A telephone interview with Millennium’s database administrator cum software developer, Mr. S. Rahman informed that when it comes to quality, they rigorously follow their Quality Management System (QMS). Through their internal Software Engineering Process Group (SEPG), QMS goes through periodic revision to facilitate innovation in quality management that helps them to accommodate changing business need of customers. They use Rational Unified Process (RUP) for quality development process and assurance. Millennium combines PSP with CMM for the improvement of their software engineers. However, Mr. S. Rahman replied, sometimes it is hard for them to follow all KPAs of PSP. They are now on the way to achieve CMMI level 3. In this regard, Millennium has recently passed away another milestone. The company has completed the gap analysis of SEI’s CMMI level 3 under an internationally recognized overseas consultant and they are expected to gain certification by 2006 (M. Shafiqur Rahman, pers. Comm., 14 October 2005). Millennium also has recently achieved ISO 9001:2000 certification in recognition to their continuous strive towards organization-wide quality improvement. They have a good number of repeat clients in US and Europe and have a long list of local clients including Bangladesh Air Force, Bangladesh Government, Siemens (BD) mobile, World Health Organization (WHO), and British American Tobacco (BD) Ltd. They outsource their noncore software development like prototyping, testing, user interface design. In a question Mr. S. Rahman replied, he heard that their company has to spend a lot of money for achieving CMM level 2 certification; however, he does not know the exact amount. He wonders that money would be a factor to gain CMM certification for the small companies in Bangladesh. Moreover, researcher also has gone through their web site and found a very resourceful and up-to-date site, which a CMM certified company should have.
6.3. Third Surveyed Company (Technohaven)
An ISO 9001:2000 certified company; ‘Technohaven Co Ltd’ is the third surveyed company who started their journey in 1986. They claim that they are the one of the leading independent ISO 9001 certified software companies of South Asia.
Technohaven’s senior software developer (web), Mr. Mizan Uddin has responded the email, who is also a close friend of this researcher. He said, ‘…regarding software quality, they mention that their quality assurance procedures are in strict compliance with ISO 9001, 2000 version (equivalent to CMM level
5). We have elaborate coding, documentation and testing standards conforming to ISO 9001 guidelines but specific to software engineering methodologies and processes adopted by the company and enhanced through years of practice. We have our own in-house ISO auditors to ensure quality assurance compliance at all times…’ (Mr. Mizan Uddin, pers. Comm., 18 October 2005). In a question regarding CMM’s process maturity, Mr. M. Uddin replied, their company have years of experience in software development and they have developed their own process that matches with their culture. They do not bother about the costly CMM/CMMI process maturity and capability certification as they have long list of corporate clients, which includes many Government institutions, Bangladesh defense, international agencies like USAID, Asian Development Bank (ADB), local United Nations (UN) offices, multinational companies like British American Tobacco (BAT), Unilever (BD) Ltd. He continues, in 1994 they have developed the seat reservation & ticketing system of Bangladesh Railway and operated this on behalf of the client until April 2002. Mr. M. Uddin said, as they are only focusing on serving local software markets are not facing any problems regarding CMM/CMMI or other certification issues. However, he believes that outside market focus will not be a factor for them because they have long time experience in this field. He also added, gaining some levels in CMM/CMMI does not always mean that a software company would always produce high quality software within time and budget. In this regard, he mentions example of neighbor country, India, where many questions have arose regarding CMM and CMMI certification of some companies because of their failure of timely product delivery, poor infrastructure and inexperienced management.

7. Conclusion

From this study, all interviewees agreed that implementing software process is not a very difficult task for software companies of Bangladesh as long as they adapt a software process model. However, as a developing country, it has to deal with other factors like poverty, illiteracy, and economy. Having all of those factors, government of Bangladesh is trying its best to make Bangladesh a next destination of software outsourcing nation like India. Bangladesh has started from the scratch and it has a long way to go. However,
software process improvement is both expensive and time-intensive process. There is no doubt that Bangladeshi software companies want to adhere to a software process like CMM/CMMI; however, it is taking more time for them to implement a process among software companies because of some other factors, which Bangladesh cannot deny either. Bangladeshi software companies have to exploit the advantages of having no major cultural differences with other client countries as have reflected so far. Moreover, it is not enough to adopt a process model in a company, the process has to be assessed and measured for further improvement to achieve the business goal. Software process and process improvement is the key to success for a software company in software business.
Without a process, a software organization is not capable of producing high quality software. Without defined and measured software process, a software company fails to determine its business goal. Software companies of Bangladesh are facing the problem of adaptation of specific software process model. Our research has identified some problems. These are listed below:
1. Lack in target set for software process and improvement
2. Infrastructure problem
3. Fiscal problem
4. Knowledgeable human resource problem
5. Lack of marketing channel.
This paper is a quantitative study and is based on questionnaires and interviews of software companies’ personnel. The study is exploratory. The results are not conclusive at this stage. Further studies are required. Moreover, we would like to develop a tailorable Software Process Improvement model for developing countries like Bangladesh, where political conditions may cause failure of a process other than internal factors in a company.




Written By Shovon
















2 comments:

Azim Charles said...

hmm bujsi shob ee..........
but think ato boro arcle porbo kokhon.

kom kore likhish...............

Azim Charles said...

AMR ta koi???????

tara tari post kor......