Article Preview
TopIntroduction
The efficient and effective production of software for business applications requires intensive collaboration between two major distinct set of information technology (IT) professionals: (1) developers who program code into functional software based on requirements, and (2) testers who validate and verify the software to establish its functionality, quality, and acceptability. The organizational integration of these two groups has been a difficult proposition over the years and continues to be a key IT management challenge (Miller, 2009). Recent work by Cohen et al. (2004), Pettichord (2000), and Zhang et al. (2008) suggests that the relationship between development and testing remains conflicted and necessitates explicit organizational and managerial actions for resolution.
In the early days of business systems (1950’s and 60’s), both development and testing functions were entrusted to the same individual given that testing had not emerged as a distinct field (Royce, 1970). The ineffectiveness and inefficiency of the early approaches led to the advent of structured methods of software development in the form of software development lifecycles which recognized testing as a distinct sequential stage after coding. This led to the growth of software testing as a distinct profession and science – and the emergence of software development and testing integration as a crucial organizational IT governance challenge (Zhang et al., 2010). Recent advances in agile methods for both software development and testing (Crispin & Gregory, 2009; Highsmith & Cookburn, 2001; Lee, 2008) have added increased impetus to the need for resolving this challenge. The fact that the proportion of total IT acquisition expenditures that are spent on software testing is going up, because of the increased complexity, application inter-connectivity, global-scale, and real-time nature of modern business systems, also calls for an increased focus on this issue as a managerial and theoretical phenomenon in software engineering.
Given the dearth of empirical studies that have explored this phenomenon to provide guidance for industrial practices, software organizations are using a wide diversity of approaches (which are often contradictory) to cope while continuing to make the case that it is a critical area of concern. Consider the following two examples:
- 1.
Software Testers at Microsoft Corporation: (a) are not part of a distinct organizational unit for testing, (b) report to the same executives as developers, and (c) are matched to particular developers in agile development teams (Page et al., 2008).
- 2.
Software Testers at FedEx IT Services: (a) are part of a distinct organizational unit for testing, (b) report to a different executive than developers, and (c) are not matched to particular developers (Miller, 2009).
While both organizations are known for their innovativeness in the software engineering of business systems, they obviously are using completely contradictory IT governance methods for integrating development and testing. This paper investigates the underlying effectiveness of such IT governance practices for software testing by empirically exploring the organizational, group, and individual impacts of strategic, tactical, and operational software testing governance mechanisms.
The two specific research questions driving this research are:
- 1.
What are the key components of a framework that can guide IT governance decisions pertaining to the integration of software development with testing?
- 2.
What are the empirical impacts of various IT governance mechanisms on organizational, group, and individual level variables pertaining to the integration of software development with testing?