Software Development Practices and problems in Malaysian Small and Medium software Enterprises: A Pilot Study Malek Ahmad Theeb Almomani, Shuib Basri, Ahmad Kamil B Mahmood, Amos Orenyi Bajeh Department of Computer and Information Sciences Universiti Teknologi PETRONAS (UTP) Perak, Malaysia
[email protected],
[email protected],
[email protected],
[email protected] Abstract. This paper presents an empirical study that investigates Software Process Improvement (SPI) current practices amongst software development Small and Medium Enterprises (SMEs) in Malaysia. The empirical study determines the current practices of adoption of SPI and related problems. Six Malaysian software development SMEs were involved in the empirical study. The results of the study showed that the level of adoption of Software Process Improvement in Malaysian software development SMEs is still very much at the low level. Other organisational, software development and project issues were identified as contributing to the low level of SPI adoption in Malaysia. Keywords— Software Process Improvement (SPI), Small and Medium Enterprises (SMEs), Software Development Processes, Agile Methodology,
I.
INTRODUCTION
Nowadays, software quality is emerging as one of the primary research areas in software engineering and it is considered as an important goal for software companies to deliver their software products with high quality. The community of software engineering has recognized that high quality software development processes will produce high quality products [1] [2]. Therefore, the continuous improvement of software development processes is vital to reach high quality process. Several software quality models have been proposed to help companies in managing their software development activities in order to gain a high quality product. Notable quality models are the Software Process Improvement and Capability determination (SPICE) [3], Bootstrap [4], International Organization for Standardization ISO 9000[5], Six Sigma[6] and the Capability Maturity Model Integration (CMMI) [7]. Although these models have developed to guide the software development improvement process in organized manner, unfortunately they were proposed to be adopted in large and very large companies [8] [9] [10]. Some earlier studies [11] [12] have reported that all of these models are not suitable to be adopted in Small and Medium Enterprises (SMEs). Even though small companies represent more than 85% of all companies in the US, Canada, China, India, Finland, Ireland and many other developing countries have small companies [13] [14].
In Malaysia, the majority of software organizations are considered as small companies. According to Department of Statistics Malaysia (DOSM) [15], 97.3% of the total business establishments in Malaysia are SMEs. Therefore, it is pertinent to conduct empirical study to investigate current state of the SPI problems experienced and software development practices implemented by employees working in Malaysian small software companies. This paper presents an empirical study that conducted in Malaysia. The paper is organized as follows: Section II presents related works. Section III discusses the methodology used in the empirical study. Section IV presents the results of the study. Section V presents discussions of the results. The paper is concluded in Section VI. II.
RELEATED WORK
There exist several empirical research that study the state of software development practices in different parts of the world including an empirical study of 40 software development practices in the US and Japan [17]; a study of 104 software development primarily centered in India, Japan, Europe and the United States [16]; a survey in software development practices with four New Zealand companies [18]. However, findings from most of this existing empirical research may not be appropriate to generalize from the small samples used. Besides, very few studies in the implementation of software process improvement in the software company have been conducted in the South East Asia region [11]. In 2006, Baharom and Fauziah [19] conducted a survey to determine the current practices of software development process among Malaysian software development. The study focused on determining the used of standards and procedures, tools, methods and software development life cycle models. The outcomes showed a large portion of the respondents were following practices that have been traditionally used. A key factor that contributed to the occurrence of quality problems in the organizations are lack of awareness in utilizing good software development practices. This outcome is one of the motivations for conducting the study reported in this paper. Nizam, Rodina and Hafizah [20] conducted a survey to investigate the issues in implementing software process improvement project in Malaysia. They found out that most of the respondents implemented CMM/CMMI, (55%) as well as ISO/IEC9000 (42%). This shows that Malaysian software organizations are increasingly becoming aware of the
978-1-4673-6537-6/15/$31.00 ©2015 IEEE
importance of software process quality in order to produce high quality software. Tahir, Amjed, Rodina Ahmad, and Mohd Kasirun [21] conducted a survey in 2010 to study the use of standards and procedures in software development projects. The results showed software companies are in a medium level of standards usage and procedures and still there are more processes required to be improved. III.
METHODOLOGY
A survey was conducted in this research to investigate the current SPI problems and practices in the software development company. Surveys are the instruments for gathering information from or about people to describe their knowledge, experience, attitude and behavior. Kitchenham and Pfleeger [22] added that surveys are probably the most commonly-used research method world-wide. The conducted survey involved software development companies, or sometimes called software companies, located throughout Malaysia. In this section, a detailed description of the survey procedures is provided. It includes the unit of analysis, questionnaire design, selection of participants and survey approach. A. Survey unit of analysis The analysis unit in this survey was Malaysian SMEs. The target population included companies which develop software for sale as well as in-house software development groups within SME companies. The survey sought to include SMEs undertaking software development. B. Questionnaire design Data collection method for this study is survey questionnaire. It was used in this study because it could facilitate the data collection and analyse the substantial data quickly. Moreover this method could help this study avoiding bias problems when interpreting quantitative data. A new set of questionnaire was constructed from scratch for the survey, which is a common practice in software engineering research. The questionnaire consists of three major sections to capture the required information. The first section is background information of the companies, the respondent’s profile and attitude to the importance of the software development process. The second section contains software development and SPI practices, and the last section concerns about organizational, software development and project issues. C. Selection of survey participants The questionnaire was distributed to professionals who are working in SMEs software development in two locations: Kuala Lumpur and Selangor. The companies were chosen from the Multimedia Super Corridor (MSC) software company directory and Enterprise Malaysian websites which are available at http://www.mtdc.com.my/tenants.php and http://productlisting.mscmalaysia.my/msc-company. The list and information of the software SMEs in these websites used as a main reference in searching and identifying suitable research respondents. Also, several related website such as linked-in (www.linkedin.com); job seekers (http://www.jobstreet.com.my/), (http://my.jobsdb.com/my) and (http://www.monster.com.my/); internet search engines
(www.google.com) and several IT experts and researchers in the same area are consulted for the selection of suitable companies as respondents. D. Survey Approach The empirical study method used in this study is the survey approach. A data collection instrument, questionnaire, is developed for the survey. This approach allows the collection of data from targeted respondents who have the required knowledge to address the objective of this study. For the data collection phase, 15 respondents from 6 Malaysian SMEs software development companies were involved. The survey covered a period of two month (spanning through September - November 2014). Two basic statistical methods are used to analyse the quantitative data collected: descriptive statistics and frequent analysis. IV. RESULT In this section, the researchers present analysis performed on the information gathered from the 15 survey respondents. A. Demographic Information Table 1 presents a description of the software development SMEs involved in the survey. Majority of the companies have number of employees ranging from 10 to 50 and the number of professional actually involved in software development ranges from 2 to 10 except in one of the companies where the number of software developers is very high, 21 to 50. Table 1: Demography of Companies ID A.
B. C.
Business Activity Information Technology (IT), System Integration (SI) and Web development SI IT and SI
D. E.
F.
IT and SI IT and Web development Consultation Information Technology (IT) Consultation
Business Target
No of employee
People involve in Software Development
Local and international
Below 10
2-10
10-50
2-10
10-50
11-20
Below 10
2-10
Local
10-50
11-20
Local and regional
50-250
21-50
Local Local, regional, and international Local and national
Figures 1 and 2 show the demography of the employees in the software SMEs. Most of the SMEs do not have experience in the adoption of SPI in their software development
processes. Figure 1 shows the level of experience of the SMEs in software development. It shows the level of experience of the survey participants in Software development. Slightly over one third (33%) of the respondents have between 2 to 5-year experience and a quarter of them (27%) have between 5 to 10 year experience while 20% respondents who have More than 10 years’ experience. Figure 2 shows that majority (46%) of the employees are programmers/developers. There are no software improvement personnel in the companies. Also, the result of this survey shows a high ratio of the employees have a bachelor degree, representing 60% of the participants while 33% of the participants have a master degree and only 7% hold a PhD degree. In general, data in the Table 1 implies that most of the respondents are very experienced practitioners in software development. Regarding the use of SPI standards, the respondents’ level of experience are: slightly over two thirds of the respondents (73%) do not have experience in using SPI standards; 20% of them have less than two years’ experience and just (7%) of them have more than two years’ experience. Experience level in Software Development Just started
As shown in Table 2, three respondents have used CMMI and only one respondent used ISO 9000 in software development. Moreover, Figure 3 presents the respondents’ impression of the significance of using the SPI standards. The results show that 27% of the respondents claimed that the SPI models will improve software quality, 20 % believe that SPI reduces development costs, 20 % believe that SPI improve management visibility, and 20 % believe that SPI ensures that developers meet client requirement. Furthermore, 13% stated that SPI increases productivity and 6% stated that it shorten development times. Table 2: Description statistics SPI standards type The SPI standards CMMI SPICE ISO 9000
Importance of SPI Usage
Frequency 3 0 1
Percentage 75% 0% 25%
Improve software quality Reducing development costs Shorten development times Increase productivity
Less than 2 years Between 2 to 5 years Between 5 to 10 years More than 10 years
Figure 1: Experience level in software Development Project manager
Employee Position
IT Management Systems analysis and design Programmer/ Developer System architect Software Process Improvement Other
Improve management visibility
Figure 3: Advantage of SPI Standards This section identifies the reasons why SMEs do not use any type of SPI standards in the development process. The survey results depicted in Figure 4 indicate that the reasons for not using SPI include: it is time consuming (given by 73% of the respondents); it is not required in their process development (given by 63% of the resndents) and lack of resources to adopt it (given by 63% of the respondents). Other reasons are: lack of support (given by 46% of the respondents), difficulty in understanding the standard (given by 18% of the respondents). Resons for not using SPI Not required Lack of support Lack of resources Time consuming
Figure 2: Employee position B. Software Development Practices The result shows that regardless of the respondents’ positions and duration of software development experiences, almost two thirds of them (74%) do not use any kind of SPI standards in their software development while a quarter of them (26%) have used SPI standard in their development process. Specifically, only four respondents embarked on SPI.
Standard so difficult to understand Other
Figure 4: Reasons of not adopting SPI Standards The result of the level of knowledge in SPI practices is depicted in Figure 5. Almost three quarters (73%) have low level of knowledge in SPI practices, about a quarter (20%)
have normal level of practices and only (7%) of respondents indicated that they have high level of knowledge in SPI practices. Level of knowledge in SPI
High level
Normal level
C.2: Software Development The software processes used by the software developers in the software SMEs is depicted in Figure 6. The figure shows that software developments are predominantly conducted through ad-hoc approach (53%) and the agile methodologies (46%). This is expected since software SMEs are majorly concerned with delivery of software products to client in the shortest possible time, so they do not pay any critical attention to the standard/conventional software process but find it easier to develop through ad-hoc approach or the agile approach which advocates for quick delivery of a working software product.
Low level
Software Process Figure 5: SPI knowledge
Incremental and Evolutionary Software Process Model V model
C. List of related problems This section presents the identified SPI problems and practices in the software development SMEs. The following subsections discuss organizational issues, software development practices and project issues.
Rational Unified Process
C.1: Organizational issues • Communication Due to the small size of SMEs, the method of communication between employees is more informal than formal. The project size and the project schedule (time) that SMEs undertake are also factors responsible for the informal and ad-hoc method of communication between employees. In addition, the closeness of employees working space or area and frequent sharing of activities enabled the informal and direct communication process. Furthermore, the use of communication tools such as email servers (yahoo, Gmail, Hotmail, and other), Instant Message (IM) application (WhatsApp), video calling (Skype, oovoo) and internet are very paramount in SMEs. Such communication tools are necessary for companies that have their staff working in different locations. The communication tools allow employees to share and document all work-related information or knowledge informally. • Employees Capacity Development Majority of SME employees do not undertake courses on capacity development to improve their development skills. 73% of the respondents indicated that they did not receive training courses to improve their development skills while 27% of them indicated that they receive course training to improve their managerial and technical skills. The survey results also indicated that self-training method represents highest ratio (48%) followed by both “formal and selftraining” technique (24%). Furthermore, 13 % of employees improve their knowledge by undertaking formal training and another 13% of employees indicated other training method.
Ad Hoc and depending on the experiences of developers Waterfall Software Process Model
Agile methodologies Iterative model
Figure 6: Software development method Apart from the ad-hoc development process, the agile methodologies are more prominent among the SMEs. Table 3 presents the agile methodologies used by the SMEs: SCRUM method (40%), Dynamic Systems Development Method (DSDM) (26%), Extreme Programming (20%), FeatureDriven Development (FDD) (13%), Crystal and Other methods (6%). Table 3: Description statistics of agile methodologies used Agile methodologies Extreme Programming (XP) SCRUM Dynamic Systems Development Method (DSDM) Feature-Driven Development (FDD) Crystal Other
Frequency 3 6 4
Percentage 20% 40% 26%
2 1 1
13% 6% 6%
Since the agile development processes require the involvement of clients, this study investigated the level of client involvement in the surveyed SMEs. 47% of the respondents indicated the involvement of clients and users throughout the overall development process; 40% of the respondents indicated the involvement of clients and users in requirement gathering phase only, and just 13% of respondents answered otherwise.
C.3: Project Issues Project issues include budget, schedule and documentation. The result of the survey indicates that 60% of companies’ projects are completed on budget while 40% of projects are completed over budget. Also, the results indicated that 67% of companies’ project completed on schedule while others are completed over schedule. Furthermore, the result of the survey showed that SMEs engage in informal process documentation because of lack of time. V.
DISCUSSION
The results of this study (Figure 3 and Figure 4) indicate that the level of SPI in Malaysian software SMEs is still very much at the low level of adoption in software development. The lack of adequate knowledge and resources accounts for the low level of SPI practice in Malaysia. This is in tandem with the result of the study reported in [21, 23]. Also, the survey shows that lack of resource for the implementation of SPI is the predominant reason for not implementing SPI. SMEs by their nature have very limited funds and as such they rarely have budget for SPI activities. Furthermore, the survey showed that majority of software SMEs do not use any formal software development process but engage in the use of ad-hoc and self-experience approach for software development. This is due to lack of expertise and the required deliverables in the formal methods that are not important for SMEs. This is in tandem with the result of the study reported in [24 Yahya, Yazrina, et al] VI.
CONCLUSION
In conclusion, the quality of the software development process is believed to influence the quality of the resultant software product of the process. The standard quality models developed for SPI are not readily applicable to small and medium software companies in the developing world. This study has presented the results of a survey that was carried out to investigate the current status of software process improvement adoption in software development companies in Malaysia and possible cause of the level of adoption of SPI initiatives. The survey results show that the adoption of SPI initiative is at its infancy stage in the Malaysian software SMEs. Lack of adequate knowledge and resources accounts for the major reason why there is a low level of SPI implementation in the SMEs. A further study will be conducted to identify other organisation and software issues that the SMEs have which may influence their level of SPI adoption. Also, the possibility of tailoring the available standard quality model to the context of SMEs will be explored. REFERENCES [1] Deming, W. Edwards. "Out of the crisis. Cambridge, MA: Massachusetts Institute of Technology." Center for Advanced Engineering Study 6 (1986) [2] Juran, Joseph M., F. M. Gryna, and R. S. Bingham Jr. "Quality control handbook, 1974." McGraw-Hill Book Company, Chapters 9: 22
[3]
Emam, Khaled El, Walcelio Melo, and Jean-Normand Drouin. SPICE: The theory and practice of software process improvement and capability determination. IEEE Computer Society Press, 1997 [4] Efron, Bradley, and Robert J. Tibshirani. An introduction to the bootstrap. Vol. 57. CRC press, 1994 [5] Murphy, Craig N., and JoAnne Yates. The International Organization for Standardization (ISO): global governance through voluntary consensus. Routledge, 2008 [6] Neuman, Robert P., and Roland Cavanagh. The six sigma way: How GE, Motorola, and other top companies are honing their performance. McGraw Hill Professional, 2000. [7] Team, SCAMPI Upgrade. "Standard CMMI Appraisal Method for Process Improvement (SCAMPI) A, Version 1.3: Method Definition Document." (2011) [8] Garcia, Ivan, Carla Pacheco, and J. Calvo-Manzano. "Using a web-based tool to define and implement software process improvement initiatives in a small industrial setting." IET software 4.4 (2010): 237-251. [9] Laporte, Claude Y., Simon Alexandre, and Alain Renault. "The Application of International Software Engineering Standards in Very Small Enterprises."Software Quality Professional Magazine 10.3 (2008). [10] O’Connor, Rory V., and Claude Y. Laporte. "Deploying Lifecycle Profiles for Very Small Entities: An Early Stage Industry View." Software Process Improvement and Capability Determination. Springer Berlin Heidelberg, 2011. 227-230. [11] Sivashankar, M., A. M. Kalpana, and A. Ebenezer Jeyakumar. "A framework approach using CMMI for SPI to Indian SME'S." Innovative Computing Technologies (ICICT), 2010 International Conference on. IEEE, 2010 [12] Staples, Mark, et al. "An exploratory study of why organizations do not adopt CMMI." Journal of systems and software 80.6 (2007): 883-895. [13] Ireland, Enterprise. "Software Industry Statistics 1991-2005." Accessed January (2007). [14] Richardson, Ita, and Chrisiane Gresse von Wangenheim. "Why are small software organizations different." IEEE software 24.1 (2007): 18-22. [15] Department of Statistics Malaysia (DOSM) “MEDIA CONFERENCE CENSUS REPORT ON SMEs 2011” September 2012, Available at:http://www.statistics.gov.my/portal/images/stories/files/LatestRelease s/BE/BI/BE2011_SMEsBI.pdf [16] Cusumano, Michael, et al. "A global survey of software development practices." Center for eBusiness@ MIT, Paper 178 (2003): 1-17. [17] Cusumano, Michael A., and Chris F. Kemerer. “A quantitative analysis of US and Japanese practice and performance in software development.” Management Science 36.11 (1990): 1384-1406. [18] Groves, Lindsay, et al. "A survey of software development practices in the New Zealand software industry." Software Engineering Conference, 2000. Proceedings. 2000 Australian. IEEE, 2000. [19] Baharom, Fauziah, Aziz Deraman, and Abdul Razak Hamdan. "A Survey on the current practices of software development process in Malaysia." Journal of ICT4 (2006): 57-76. [20] Nasir, M. H. N., Rodina Ahmad, and Noor Hafizah Hassan. "Issues in the implementation of software process improvement project in Malaysia." WSEAS Transactions on Information Science and Applications 5.6 (2008): 1031-1043. [21] Tahir, Amjed, Rodina Ahmad, and Z. Mohd Kasirun. "An empirical study on the use of standards and procedures in software development projects." Software Technology and Engineering (ICSTE), 2010 2nd International Conference on. Vol. 1. IEEE, 2010. [22] Kitchenham, Barbara A., et al. "Preliminary guidelines for empirical research in software engineering." Software Engineering, IEEE Transactions on 28.8 (2002): 721-734. [23]Mohamed, Shafinah Farvin Packeer, et al. "Software certification and its implementation in Malaysian software industry: A survey." Advanced Science Letters 4 (2013): 400-407. [24]Yahya, Yazrina, et al. "The use of information system development methodology in Malaysia." Jurnal Antarabangsa Teknologi Maklumat 2 (2002): 15-34.