Applying a selection method to choose Quality Attribute Techniques

ContextSoftware products have requirements on software quality attributes such as safety and performance. Development teams use various specific techniques to achieve these quality requirements. We call these "Quality Attribute Techniques" (QATs). QATs are used to identify, analyse and control potential product quality problems. Although QATs are widely used in practice, there is no systematic approach to represent, select, and integrate them in existing approaches to software process modelling and tailoring. ObjectiveThis research aims to provide a systematic approach to better select and integrate QATs into tailored software process models for projects that develop products with specific product quality requirements. MethodA selection method is developed to support the choice of appropriate techniques for any quality attribute, across the lifecycle. The selection method is based on three perspectives: (1) risk management; (2) process integration; and (3) cost/benefit using Analytic Hierarchy Process (AHP). An industry case study is used to validate the feasibility and effectiveness of applying the selection method. ResultsThe case study demonstrates that the selection method provides a more methodological and effective approach to choose QATs for projects that target a specific quality attribute, compared to the ad hoc selection performed by development teams. ConclusionThe proposed selection method can be used to systematically choose QATs for projects to target specific product qualities throughout the software development lifecycle.

[1]  Robert L. Glass,et al.  Matching methodology to problem domain , 2004, CACM.

[2]  Sira Vegas,et al.  A Characterisation Schema for Software Testing Techniques , 2005, Empirical Software Engineering.

[3]  B. Boehm Software risk management: principles and practices , 1991, IEEE Software.

[4]  William E. Perry A structured approach to systems testing , 1983 .

[5]  Paul L Jones,et al.  Risk management in the design of medical device software systems. , 2002, Biomedical instrumentation & technology.

[6]  Mario Piattini,et al.  A systematic review of software process tailoring , 2007, SOEN.

[7]  Ralph L. Keeney,et al.  Decisions with multiple objectives: preferences and value tradeoffs , 1976 .

[8]  Behrouz Homayoun Far,et al.  Combining requirements engineering techniques - theory and case study , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[9]  Corporate Ewics Techniques for verification and validation of safety-related software , 1985 .

[10]  H. Dieter Rombach Systematic Software Technology Transfer , 1992, Experimental Software Engineering Issues.

[11]  J. Borcsok,et al.  Software development for safety-related systems , 2007, Second International Conference on Systems (ICONS'07).

[12]  Liming Zhu,et al.  A framework for classifying and comparing software architecture evaluation methods , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[13]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[14]  Elina Hotman Base Reference Analytical Hierarchy Process for Engineering Process Selection , 2005, KES.

[15]  Liming Zhu,et al.  Effects of Architecture and Technical Development Process on Micro-process , 2007, ICSP.

[16]  Jon Holt Current practice in software engineering: A survey , 1999 .

[17]  Robert N. Charette,et al.  Software Engineering Risk Analysis and Management , 1989 .

[18]  Melinda Lyons,et al.  Towards a framework to select techniques for error prediction: supporting novice users in the healthcare sector. , 2009, Applied ergonomics.

[19]  Claes Wohlin,et al.  A Quality-Driven Decision-Support Method for Identifying Software Architecture Candidates , 2003, Int. J. Softw. Eng. Knowl. Eng..

[20]  Sira Vegas Identifying the relevant information for software testing technique selection , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[21]  Fergal McCaffery,et al.  Risk management capability model for the development of medical device software , 2010, Software Quality Journal.

[22]  Li Jiang,et al.  A framework for the requirements engineering process development , 2005 .

[23]  Neil R. Storey,et al.  Safety-critical computer systems , 1996 .

[24]  Liming Zhu,et al.  Systematic selection of quality attribute techniques , 2010, PROFES '10.

[25]  Daniela E. Damian,et al.  An Empirical Study of the Complex Relationships between Requirements Engineering Processes and Other Processes that Lead to Payoffs in Productivity, Quality, and Risk Management , 2006, IEEE Transactions on Software Engineering.

[26]  Muhammad Ali Babar,et al.  Assessing the value of architectural information extracted from patterns for architecting , 2006 .

[27]  R. L. Keeney,et al.  Decisions with Multiple Objectives: Preferences and Value Trade-Offs , 1977, IEEE Transactions on Systems, Man, and Cybernetics.

[28]  Ralph L. Keeney,et al.  Foundations for making smart decisions , 1999 .

[29]  I. Gorton,et al.  A quality-driven systematic approach for architecting distributed software applications , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[30]  S French,et al.  Multicriteria Methodology for Decision Aiding , 1996 .

[31]  Sira Vegas Hernandez Characterisation schema for selecting software testing techniques , 2011 .

[32]  Deepti Verma,et al.  Large Scale Project Management “Risk Management” , 2011 .

[33]  James W. Moore Software Life Cycle Processes , 2006 .

[34]  Liming Zhu,et al.  Technical Software Development Process in the XML Domain , 2009, ICSP.

[35]  John May,et al.  Tailoring XP for Large System Mission Critical Software Development , 2002, XP/Agile Universe.

[36]  Liming Zhu,et al.  Tradeoff and Sensitivity Analysis in Software Architecture Evaluation Using Analytic Hierarchy Process , 2005, Software Quality Journal.

[37]  Natalia Juristo Juzgado,et al.  Framework for Integrating Usability Practices into the Software Process , 2005, PROFES.

[38]  William Bridges,et al.  Selection of Hazard Evaluation Techniques , 2008 .

[39]  Liming Zhu,et al.  Quality Attribute Techniques Framework , 2009, EuroSPI.

[40]  Victor R. Basili,et al.  Tailoring the software process to project goals and environments , 1987, ICSE '87.

[41]  Dave Jewell Performance Engineering and Management Method — A Holistic Approach to Performance Engineering , 2008 .

[42]  Peter Neumann,et al.  Safeware: System Safety and Computers , 1995, SOEN.

[43]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[44]  Christer Carlsson,et al.  Fuzzy multiple criteria decision making: Recent developments , 1996, Fuzzy Sets Syst..

[45]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[46]  Victor R. Basili,et al.  Experimental Software Engineering Issues: Critical Assessment and Future Directions , 1993, Lecture Notes in Computer Science.

[47]  Khaled El Emam,et al.  Validating the ISO/IEC 15504 Measure of Software Requirements Analysis Process Capability , 2000, IEEE Trans. Software Eng..