Decision support for choosing architectural assets in the development of software-intensive systems: The GRADE taxonomy

Engineering software-intensive systems is a complex process that typically involves making many critical decisions. A continuous challenge during system design, analysis and development is deciding on the reference architecture that could reduce risks and deliver the expected functionality and quality of a product or a service to its users. The lack of evidence in documenting strategies supporting decision-making in the selection of architectural assets in systems and software engineering creates an impediment in learning, improving and also reducing the risks involved. In order to fill this gap, ten experienced researchers in the field of decision support for the selection of architectural assets in engineering software-intensive systems conducted a workshop to reduce traceability of strategies and define a dedicated taxonomy. The result was the GRADE taxonomy, whose key elements can be used to support decision-making as exemplified through a real case instantiation for validation purposes. The overall aim is to support future work of researchers and practitioners in decision-making in the context of architectural assets in the development of software-intensive systems. The taxonomy may be used in three ways: (i) identify new opportunities in structuring decisions; (ii) support the review of alternatives and enable informed decisions; and (iii) evaluate decisions by describing in a retrospective fashion decisions, factors impacting the decision and the outcome.

[1]  Adam Trendowicz,et al.  Software Project Effort Estimation: Foundations and Best Practice Guidelines for Success , 2014 .

[2]  Claes Wohlin,et al.  An empirically based terminology and taxonomy for global software engineering , 2014, Empirical Software Engineering.

[3]  日本規格協会 情報技術-セキュリティ技術-情報セキュリティ管理策の実践のための規範 : ISO/IEC 27002 = Information technology-Security techniques-Code of practice for information security controls : ISO/IEC 27002 , 2013 .

[4]  Venkataraman Ramesh,et al.  RESRES: The story behind the paper "Research in software engineering: An analysis of the literature" , 2009, Inf. Softw. Technol..

[5]  Samir Chatterjee,et al.  A Design Science Research Methodology for Information Systems Research , 2008 .

[6]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[7]  Jan Bosch,et al.  Documenting after the fact: Recovering architectural design decisions , 2008, J. Syst. Softw..

[8]  Tony Gorschek,et al.  The software value map — an exhaustive collection of value aspects for the development of software intensive products , 2013, J. Softw. Evol. Process..

[9]  .. V. Heescha,et al.  A documentation framework for architecture decisions , 2011 .

[10]  Bruce I. Blum,et al.  A taxonomy of software development methods , 1994, CACM.

[11]  Tony Gorschek,et al.  A taxonomy for requirements engineering and software test alignment , 2014, ACM Trans. Softw. Eng. Methodol..

[12]  J. Ross Quinlan,et al.  Induction of Decision Trees , 1986, Machine Learning.

[13]  Adam Trendowicz,et al.  Software Project Effort Estimation , 2014, Springer International Publishing.

[14]  Peter Eeles,et al.  Understanding Architectural Assets , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[15]  Ivica Crnkovic,et al.  Component-based development process and component lifecycle , 2005, 27th International Conference on Information Technology Interfaces, 2005..

[16]  Masami Noro,et al.  A Design Map for Recording Precise Architecture Decisions , 2011, 2011 18th Asia-Pacific Software Engineering Conference.