Article Preview
TopIntroduction
Quality of software produced is one of the keys to a successful systems development project. Poor quality software can carry potentially negative impacts for anyone who comes in contact with it. This includes hampering the effectiveness of the project organization to coordinate internally; users whose productivity is slowed or grows ever less competitive due to clumsy interfaces or slow processing; and vendors, suppliers, and customers who are unable to efficiently communicate with an organization due to poor quality network exchanges that lack speed or standardized protocols.
Given the strategic importance of software quality to a project’s success, our focus is on the relationship between adoption of the agile methodology to perceived software quality, and whether, given the importance of the decision to adopt agile methods, that decision should be made on the strategic level by a project manager responsible for the overall quality of the project. We explored the questions “What do developers think makes a difference in the quality of the software they produce?” and “What should project managers do to affect quality of software?”
Over the last decade or so, the usefulness of traditional, plan-based development methods (such as the systems development life cycle SDLC or waterfall methods) to handle systems projects for dynamic organizational environments has been challenged. Criticisms are that, although plan-based methodologies are the most widely-used development approaches, a complete systems implementation takes an inordinately long time in the Internet age; that the SDLC is inflexible in its insistence on the completion of a complex sequence of phases; users’ input is limited to the very beginning and the very end of the project; and information requirements can shift dramatically during the long process of development and implementation.
Agile methods (which are enumerated in a following section) are suggested as a philosophical and practical antidote to the problems besetting the SDLC and other plan-based methodologies. Some practitioners even assert the supremacy of agile methodologies versus plan-based methodologies to flexibly address changing situations on an interactive basis.
Khalifa and Verner (2000) suggest that the degree of waterfall (SDLC) and prototyping use by developers is directly related to the facilitation of conditions and the perceived improvement of process quality, not to the perceived improvement of product quality. One explanation they suggest is that the use of certain systems development methodologies, like SLDC or agile methods, affects the quality of the processes more directly than that of product quality. Building upon this literature, we speculated that the use of agile methodology affects perceived software quality through its impacts on internal performance.
We then proposed a model that relates project managers’ and software developers’ use of agile methodology with their perceived benefits to internal performance and software quality, followed by a survey study to test the model. This survey study informs researchers and practitioners about how project managers and software developers use agile methodology and how the use of agile methodology affects perceived software quality. We then make recommendations to project managers about selection of development methods on a strategic basis.
TopAgile Software Development Methods
Agile software development methods originated as a response to formal, heavy, inefficient, and bureaucratic software development practices. The most well known agile method is extreme programming (XP) proposed by Beck (1999). Other agile methods include Scrum (Schwaber & Beedle, 2001), Open Source Development (Sharma, Sugumaran, & Rajagopalan, 2002), Feature Driven Development (Coad, Lefebvre, & De Luca, 1999), Crystal family (Cockburn, 2002), and so forth. Many consider the plan-driven methodologies and the agile methodology to be opposites, suggesting that the former adds control and formality, while the latter causes liberation and revitalization.