Factors Affecting Product Quality in the Software Development Industry of Sir Lankan Asana Caraway A. T. Offense Abstract The software development industry of Sir Lankan has grown rapidly during recent years. However, the quality of software products has become a critical issue as shown in the increase in software defects and associated solutions for those problems. This study aimed at understanding the critical factors underlying software product quality. It was based on a survey of ten software development companies and two software development units in non-software development companies.
The sample insisted of 1 50 respondents. The study showed that it is necessary to have (I) technological excellence (it) software process maturity (iii) team productivity and (v) stakeholder involvement in order to deliver high quality products. Failure to deliver high quality software products will result in higher software life cycle costs and loss of future sales revenue. Key Words : Sir Land’s Software Development Industry, Software Product Quality 1. Introduction The global IT industry has been expanding rapidly over the past two decades.
The US financial and economic crisis of 2008 slowed down the progress of the industry but it owe shows signs of recovery. Software solutions are used in almost all industries ranging from the retail trade to automotive, chemicals, energy, utilities, to aerospace. Hence, it is an industry with great potential. The Sir Lankan software industry, even though small, has grown impressively during the past fifteen years. At present, there are over 175 software development companies Asana Caraway, B. Sc. (Computer), CAM (I-J), BCC (I-J,) MACS, and an MBA from PIMP, is a software engineer at Dialog Telecoms Ltd.
Proof. A. T. Offense, is a senior faculty member at the Postgraduate Institute of Management (PIMP), Colombo, Sir Lankan. -120- in Sir Lankan actively involved in the development of software products, and providing services for both export and domestic markets. Export earnings from software and ‘Tenable services which stood at IIS$ 5. 0 million in 1996 rose to IIS$ 275 million in 2009. In 2005, the Software Exporters’ Association (SEA) targeted to achieve IIS$ 1 billion from software development by 2012. Due to the slow recovery in the global sources.
Despite the progress achieved, a major problem afflicting the industry relates to software product quality. Software quality is defined as the totality of functions and features of a software product that bears on its ability to satisfy stated or implied needs. This study purports to address issues relating to software product quality. This article begins with a description of the research problem and a review of the literature relevant to the problem. This is followed by the conceptual framework and the study design.
The data gathered during the field study are presented next, followed by the study findings and discussion of the findings. The final section contains the conclusions of the study and recommendations. . Research Problem The Sir Lankan software industry has shown impressive growth since 1996, but the industry is under extreme pressure to meet the requirements of demanding customers. Although the importance of software quality has increased, the level of software quality has not improved. Software companies meanwhile are working hard to produce better quality software.
The costs of poor software quality in terms of reduced productivity, downtime, and customer dissatisfaction can be enormous. The software crisis is a situation that has existed since the late sass, characterized y the inability of software developers to deliver high quality software on time and on budget. Ata CIO forum in New York during the early part of the decade, more than 40% of the Close in attendance admitted that their companies had not paid adequate attention to the quality of their software (A software quality crisis is brewing, 2008).
The senior-level executives who participated in the CIO forum belonged to corporations that had revenues in excess of $ 5 billion and IT budgets approaching a billion dollars. More than 40% of all software applications had been released with radical defects ranging from one to ten, with management being fully aware of this at the time of issue. Colon Remarriage, the CEO and the founder of the Original Software Group, observed that “with software increasingly underpinning business-critical applications, sloppy attitudes toward quality from the people who make it are no longer acceptable. Since software is now used in many demanding applications, poor software quality has become an issue of great concern as it has many negative consequences. Poor software product quality is mainly seen in (I) customer dissatisfaction, increase in service packs and patches, (iii) system downtime in information systems, and (v) difficulty in running on different operating systems/ platforms. The purpose of this -121 – Sir Lankan Journal of Management Volume 16, Nose. 1 & 2 January – June, 2011 study was to identify the factors that contribute to the poor quality of software products in the Sir Lankan software industry.
A pilot survey was conducted among fifty respondents to identify the level of quality engineers, business analysts, software project managers, software quality analysts, senior managers and vendors of external suppliers were included in the pilot survey. The results are shown in Figure 1. All of the software development teams that participated in the pilot survey had either a separate quality assurance team or quality analysts. Ninety-five percent of the respondents admitted that it is impossible to deliver a totally bug-free software product. 3.
Objectives The objectives of the study are: A. To identify the key factors contributing to poor software quality in the software industry of Sir Lankan, B. To make recommendations for improving software quality. -122- 4. Significance of the Study This study is significant from two angles, I. E. , contribution to the body of knowledge ND its practical importance for management. To the best of the researcher’s knowledge, no research has been done previously on this topic in the Sir Lankan context. Thus, the study will add to the research literature.
Further, the study will be of practical importance for management. Software products are deep-rooted in almost every aspect of our daily lives and most businesses would find themselves unable to trade without them. The situation has grown to such an extent that a small glitch in a software application or a computer outage can cost companies vast sums of money and in some cases even put them out of business. Thus, identification of the factors which affect software quality and the presentation of implantable recommendations will have great practical value.
Additionally, companies can focus on better strategies for the management of quality and improvement of software quality which will lead to customer satisfaction as well as a saving of time and cost. 5. Literature Review Technological Excellence There are two main categories of software technologies and tools, I. E. , open source computer software for which the source code and certain other rights normally reserved for copyright holders are provided under a software license that meets the pen source definition or that is in the public domain (Open Source, 2009).
Some of the open source software includes Linux, GNOME, Apache, Firebox, Dovecot, Open Office, Model and Myself. ‘Closed source’ is a term for software whose license does not allow for the release or distribution of the software’s source code. Generally, it meaner only the binaries of a computer programmer are distributed and the license provides no access to the programmers source code (Closed source software, 2009). Well-known examples of proprietary software include Microsoft Windows, Macromedia Flash, Macromedia Dreamier, Adobe Photos, Mac SO, WinZip, Oracle, etc.
Thus, software products can be developed either using open or closed source technologies, tools, or both. In a study by Baber and Melon (1996), the impact of Object-oriented design on software quality characteristics was experimentally evaluated. They adopted a suite of metrics for Object-oriented design to measure the use of Object-oriented design mechanisms, and data were collected on the development of eight small-sized information management systems. Object-oriented design is the process of planning a system of interacting objects for the purpose of solving a software problem.
An object contains encapsulated data and procedures grouped together to represent an entity. The five basic concepts of object-oriented design are the implementation level features that are built into the programming language, I. E. , class, information hiding, inheritance, -123- interface and polymorphism. Baber and Melon (1996) showed that Object-oriented design mechanisms such as inheritance, polymorphism, information hiding and coupling can influence quality characteristics like reliability or maintainability.
The results of the study done by Low and Human (1999) suggest that the quality of software plopped using CASE (Computer-Aided Software Engineering) tools is better than conventionally developed systems with respect to reliability, maintainability and portability, but the degree of improvement is affected by the particular CASE tool used for development. CASE refers to software used for the automated development of systems software. Some of the typical CASE tools are configuration management tools, data modeling tools, model transformation tools, program transformation tools, rarefaction tools, and source code generation tools.
Process Maturity There are four main processes in software development, I. E. , business analysis, footwear engineering, quality assurance and project management. Business analysis involves identifying business needs and determining software solutions to business problems. This includes requirement identification, communication, assessment and validation. Software engineering is the application of engineering to software and the software engineering processes and products used to ensure quality.
Software project management includes planning, leading and controlling software projects since software development is usually carried out as projects. Quality in software design predicts quality in later stages of the product life cycle. Fenton and Neil (1999) stated that quality must be designed or built into software products from the start. There is some empirical evidence to support this notion from Japanese software factories, the NASA Space Shuttle programmer, and a variety of projects at the IBM (Harder and Slaughter, 2000: 407).
Software design is a process of problem-solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution. It includes low-level component and algorithm implementation issues as well as the architectural view. Software designers or architects may identify a design problem that has been solved by others before. Those design patterns describe solutions to common problems. The re-use of such patterns can speed up the software development process as they have been tested and proved in the past.
There is some empirical support linking process maturity to software quality. For example, Ditz and Sling (1997) found initial evidence of a positive relationship between process maturity and software quality at Motorola. Fenton and Neil (1999) stated that when a process becomes more mature and less variable, the outputs of the process (I. . , software products) have a higher level of quality. This implies that the maturity of the software development process is essential to reduce process variability and thus improves the quality of software products.
Determining whether process maturity is -124- linked to software quality is important because, in practice, many managers still emphasize testing at the end of the development cycle instead of building in quality through better processes. Harder and Slaughter (2000) developed a conceptual framework for assessing the relationship between process maturity and software quality at different stages of the reduce life cycle, I. E. , development, implementation and production. They identified the direct and indirect marginal effects of improved process maturity on software quality at different stages of the software life cycle.
Quality at each stage increases as a direct benefit of higher maturity, but also improves due to quality built into the product at earlier stages. This meaner a higher level of process maturity leads to higher software quality. Software development is carried out through project teams. Boone and Skimmer (1997) argued that the quality of the software team (I. E. , the ability of programmers and analysts) is the second most significant factor in determining either cost or quality of software products.
A study done of leading European software organizations identified that the quality of people in software teams is one of the most important factors in improving productivity and quality of software projects (Blackburn et al. , 1996). A study by Mikhail Regenerated (2005) analyzed team effectiveness in software development teams working on hardware and software environments using the Beeline self-perception inventory. The Beeline team role inventory assesses how an individual behaves in a mea environment. The research study presents a team effectiveness analysis of software development teams.
The researcher found that Bellini’s roles and the Beeline celebrations inventory can be used to recognize important positive and negative features of a software development team, and thus encourage positive features and avoid ad remedy negative features.. Further, it was concluded that forming teams based on who can work effectively together will improve the effectiveness of software development teams. Another study Hey-Run Gang, He-Dong Yang and Chris Rowley (2006) investigated he importance of team member characteristics, particularly cognitive and demographic, on team effectiveness in software development.
Their analysis showed that team effectiveness is influenced more by cognitive rather than demographic similarities. Krishna (1998) identified that higher levels of domain and language experience in the team result in more familiarity with the application domain, and the syntax and semantics of the programming language used, and thus lead to higher software quality. The study indicated that personnel capability of the team is significantly associated with a lower number of defects and enhanced productivity in caged software products. A study by Sauna, et al. 2008), examined the work climate within software development teams and whether the team climate in software development teams has any relation – 125- to software product quality. They defined team climate as the shared perceptions of the team’s work procedures and practices. The team climate factors examined were participative safety, support for innovation, team vision and task orientation. They found that high team vision preferences and high participative safety perceptions of the team were significantly related to better quality software. The founder of the Software Process Program of the Software Engineering Institute Watts S.
Humphrey says: “to get a quality product you need two things: programmers personally committed to producing high-quality stuff, and managers and customers that demand high-quality work”. Active customer involvement is crucial to any software development project. Customer involvement should be from concept to delivery of the project. It helps them to get better visibility of the development process and its problems, and a better idea of the progress being made. There are mainly two types customer is another organization, software products are more complex and large.
However, the customers in agile software projects are involved to a greater degree than in traditional projects. Stakeholder Involvement More customer involvement promotes less chance of misunderstanding of requirements and promotes building the right working software for customers according to their expectations, which in turn helps to get more business from customers. It is necessary to consider the customer as a part of the software development team who is equally responsible for project success or failure, by building trustworthy relationships and providing right visibility at the right time. As
Burns and Hallucination (1989) identified, when coupled with strong customer involvement and living requirements, the system evolves to cleaner, simpler designs that approach the original customer vision. External vendors play a vital role in developing the software products according to the desired quality. For example, most of the hardware such as servers for software projects is bought from external vendors. If these hardware systems are not compatible with the software developed due to the lack of engagement between vendors and software development team, then the resultant software product will be of poor quality.
Ezekiel (2008) conducted a study on top management support for projects executed in the software sector. The research was carried out in Japan, Israel and New Zealand. The objective of this study was to identify those top management support processes that have the greatest impact on software development project success, and to compare these critical processes with the actual type of support provided by organizations. It has been found that in all three countries top managers do not invest adequate effort in critical processes, compared to non-critical ones.
Further, critical top management purport processes that have a higher impact on project success, often do not receive an appropriate level of attention from senior managers in the software industry. It was recommended that senior managers in the software industry should focus on critical processes rather than on less important ones. -126- According to the literature review, the criteria for software product quality are (I) technological excellence, (it) software process maturity, (iii) team productivity, and (v) stakeholder involvement.
The literature review provides the logical foundation for the conceptual framework that follows. 6. Conceptual Framework The foregoing review of literature showed that four key factors affect software quality. These are illustrated in the conceptual framework below (Figure 2). Fig 2: Conceptual Model Team Productivity Source: Conceptualization by the Researcher 7. Hypotheses The following hypotheses are formulated based on the conceptual model: HI : The higher the technological excellence, the higher the software product quality.