Silver Pellets for Improving Software Quality

In his timeless article, Fred Brooks asserted that the essential difficulties of developing software would continue to ensure the futility of any search for a "silver bullet" to reproduce for software engineering the catalytic effects that electronics, transistors, and large-scale integration had on computer hardware development. Since his article, software development has become even more difficult and organizations have magnified the struggle to overcome what has been called "the software crisis." There is unlikely to be a silver bullet, but this article discusses a variety of user-centered and process-oriented systems delivery methods, philosophies, and techniques available to the software engineering community, that may be used in innovative permutations to tranquilize the dragon of poor software quality. The context for the applicability of these approaches and some advantages and weaknesses where indicated in the research literature or gleaned from practitioner accounts are also discussed.

[1]  Shing I. Chang,et al.  An integrated group decision-making approach to quality function deployment , 1999 .

[2]  Kelly C. Bourne Putting rigor back in RAD , 1994 .

[3]  Jane Wood,et al.  Joint application development (2. ed.) , 1995 .

[4]  Robert L. Glass Extreme programming: the good, the bad, and the bottom line , 2001, IEEE Software.

[5]  Kim Halskov,et al.  Participatory analysis of flexibility , 1995, CACM.

[6]  Kalle Lyytinen,et al.  Expectation failure concept and systems analysts' view of information system failures: Results of an exploratory study , 1988, Inf. Manag..

[7]  Douglas C. Schmidt,et al.  Lessons learned building reusable OO frameworks for distributed software , 1997, CACM.

[8]  Robert B. Grady,et al.  Practical results from measuring software quality , 1993, CACM.

[9]  Mayuram S. Krishnan,et al.  The life cycle effects of software process improvement: a longitudinal analysis , 1998, ICIS '98.

[10]  Randy S. Weinberg Prototyping and the Systems Development Life Cycle , 1991 .

[11]  Michael C. Kettelhut JAD METHODOLOGY AND GROUP DYNAMICS: Improving Group Decision Making , 1993 .

[12]  Erik Brynjolfsson,et al.  The productivity paradox of information technology , 1993, CACM.

[13]  Fred Niederman,et al.  Information Systems Management Issues for the 1990s , 1991, MIS Q..

[14]  Henri Barki,et al.  Measuring User Participation, User Involvement, and User Attitude , 1994, MIS Q..

[15]  A. Spangler Cleanroom software engineering-plan your work and work your plan in small increments , 1996 .

[16]  D. Mankin,et al.  Teams and technology: Tensions in participatory design , 1997 .

[17]  M Jerva Systems analysis and design methodologies: practicalities and use in today's information systems development efforts. , 2001, Topics in health information management.

[18]  Paul Beynon-Davies,et al.  Information systems prototyping in practice , 1999, J. Inf. Technol..

[19]  Minder Chen,et al.  Using Group Support Systems and Joint Application Development for Requirements Specification , 1993, J. Manag. Inf. Syst..

[20]  James A. Sena,et al.  Information Technology and the Integration of Change: Sociotechnical System Approach , 1994 .

[21]  Bernard H. Boar,et al.  Application prototyping , 1984 .

[22]  Joseph S. Sherif,et al.  Object-oriented software design utilizing Quality Function Deployment , 1997, J. Syst. Softw..

[23]  Arun Rai,et al.  Impact of Process Management on Systems Development Quality: An Empirical Study , 1996 .

[24]  Jay F. Nunamaker,et al.  Examing the Process of Electronic-JAD , 1995 .

[25]  Bill C. Hardgrave,et al.  An industry analysis of developer beliefs about object-oriented systems development , 1999, DATB.

[26]  Israel Borovits,et al.  Group processes and the development of information systems: A social psychological perspective , 1990, Inf. Manag..

[27]  N. Doherty,et al.  An Investigation into the Relative Success of Alternative Approaches to the Treatment of Organizational Issues in Systems Development Projects , 2001 .

[28]  Michael Sparling,et al.  Lessons learned through six years of component-based development , 2000, CACM.

[29]  Carmen J. Trammell,et al.  Adopting Cleanroom Software Engineering with a Phased Approach , 1994, IBM Syst. J..

[30]  Alan R. Hevner,et al.  The incremental development process in Cleanroom software engineering , 1996, Decis. Support Syst..

[31]  Rajiv Sabherwal,et al.  An Empirical Taxonomy of Implementation Processes Based on Sequences of Events in Information System Development , 1993 .

[32]  E. Aspinwall,et al.  Quality function deployment: An empirical study in the UK , 2001 .

[33]  Jan Stage,et al.  Controlling Prototype Development Through Risk Analysis , 1996, MIS Q..

[34]  Brian Fitzgerald,et al.  An empirical investigation into the adoption of systems development methodologies , 1998, Inf. Manag..

[35]  Donald Hough Rapid Delivery: An Evolutionary Approach for Application Development , 1993, IBM Syst. J..

[36]  Weidong Xia,et al.  FLEXIBILITY OF INFORMATION SYSTEMS DEVELOPMENTPROJECTS: A CONCEPTUAL FRAMEWORK , 2002 .

[37]  Pam J. Mayhew,et al.  Investigating principles of stakeholder evaluation in a modern IS development approach , 2000, J. Syst. Softw..

[38]  Iris Vessey,et al.  Requirements specification: learning object, process, and data methodologies , 1994, CACM.

[39]  W. Wayt Gibbs,et al.  Software's Chronic Crisis , 1994 .

[40]  Mark C. Paulk,et al.  Extreme Programming from a CMM Perspective , 2001, IEEE Softw..

[41]  Daniel Robey,et al.  A Social Process Model of User-Analyst Relationships , 1992, MIS Q..

[42]  Bijoy Bordoloi,et al.  AN OBJECT-ORIENTED VIEW Productivity Comparison with Structured Development , 1994 .

[43]  Paul Beynon-Davies,et al.  ‘It’s lots of bits of paper and ticks and post‐it notes and things . . .’: a case study of a rapid application development project , 2000, Inf. Syst. J..

[44]  Brian Fitzgerald,et al.  Systems development methodologies: the problem of tenses , 2000, Inf. Technol. People.

[45]  Michael J. Muller,et al.  Taxonomy of PD Practices: A Brief Practitioner's Guide , 1993, Commun. ACM.

[46]  James C. Wetherbe Executive Information Requirements: Getting It Right , 1991, MIS Q..

[47]  Richard J. Welke The shifting software development paradigm , 1994, DATB.

[48]  Erran Carmel,et al.  PD and joint application design: a transatlantic comparison , 1993, CACM.

[49]  Robert L. Glass,et al.  Strong vs. weak approaches to systems development , 1998, CACM.

[50]  Daniel Robey,et al.  Traditional, iterative, and component-based development: A social analysis of software development paradigms , 2001, Inf. Technol. Manag..

[51]  Mary Hanna,et al.  Farewell to waterfalls , 1995 .

[52]  Sasa M. Dekleva,et al.  The Influence of the Information Systems Development Approach on Maintenance , 1992, MIS Q..

[53]  W. M. Fox Sociotechnical System Principles and Guidelines: Past and Present , 1995 .

[54]  I. Erikkson,et al.  Quality function deployment: a tool to improve software quality , 1993, Inf. Softw. Technol..

[55]  June M. Verner,et al.  Drivers for software development method usage , 2000, IEEE Trans. Engineering Management.

[56]  Ritu Agarwal,et al.  On the usability of OO representations , 2000, CACM.

[57]  Daan B. B. Rijsenbrij,et al.  Flexibilization of the methodology of system development , 1995, Inf. Softw. Technol..

[58]  A. Kouzmin,et al.  IT Development: , 1966, Current History.

[59]  R. J. Hartley,et al.  A Review of Information Systems Development Methodologies , 1994 .

[60]  Neil F. Doherty,et al.  The consideration of organizational issues during the systems development process: An empirical analysis , 1998, Behav. Inf. Technol..

[61]  Boris Beizer Soapbox: Cleanroom Process Model: A Critical Examination , 1997, IEEE Softw..

[62]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[63]  Dionisis X. Adamopoulos,et al.  Rapid prototyping of new telecommunications services: a procedural approach , 1998, Comput. Commun..

[64]  Chris F. Kemerer,et al.  Object-oriented and conventional analysis and design methodologies , 1992, Computer.