Article Preview
TopIntroduction
The key to the survival of software development firms, both large and small, is to develop and market quality software products (Tan, 1996). One approach to achieving this goal is the use of software process improvement initiatives (Humphrey, 1989). Empirical studies have demonstrated the benefits of software process improvement (SPI) initiatives which include improvements in software product quality, project performance, software process management, and customer satisfaction (Niazi, Babar and Verner, 2010; Staples & Niazi, 2008; Subramanian, Jiang, Klein, Huang and Bramanian, 2007). These have alleviated some of the problems in what has been called the ‘Software Crisis’ which describes the high level of project failures, budget overruns and missed deadlines that often characterize software projects.
The 2013 Chaos report on software project success shows the rate of success increased to 39% in 2012 from 29% in 2004 and 16% in 1995, yet 18% of software development projects were still reported as failed and 43% as challenged, that is, as coming in late, over budget, or with less than the required features (Standish Group, 2013). With small firms in developing countries often having a lower capacity to absorb such failures when compared with large firms or their counterparts in developed countries, this can severely impede their competitiveness for software development contracts, and worse, have a devastating impact on the viability of the firm (Niazi et al., 2010). To address these challenges, this study suggests a simplified software process improvement model for small firms (SPIM-S). The aim is to identify a set of software development practices that are more feasible for small firms to implement and which can help them mature over time and attain the thresholds needed to compete more effectively in a global software market.
To address the problem of software project failure, many studies have been undertaken to identify effective ways to improve software quality. It is widely accepted that software quality is influenced by the people who are involved in the development and use of the system, the technology used to support development and the software development process that is adopted (Duggan & Reichgelt, 2006; SEI, 2010). Indeed, the improvements that have been noted in project success (Standish Group, 2013) are attributed to software development factors including processes, methods, skills, and tools, with the literature suggesting that process has the greatest impact in determining software quality (SEI, 2010).