European Conference on Software Architecture

Software Architecture pp 70-86 | Cite as

Improving the Quality of Architecture Design Through Peer-Reviews and Recombination

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9278)

Abstract

Software architecture reviews help improve the quality of architecture design decisions. Traditional reviews are considered expensive and time-consuming. We assert that organizations can consider leveraging peer-reviews and recombination (i.e., promoting design improvement through sharing design ideas) activities to improve the quality of architectures and getting staff trained. This paper reports a case study aimed at exploring the potential impact of combining peer-review and recombination on the quality of architecture design and design decisions made by novice architects, who usually have limited practical experience of architecture design. The findings show that the use of peer-review and recombination can improve both the quality of architecture design and documented decisions. From the decision-making perspective, this study also identifies the main types of challenges that the participants faced during architectural decision making and reasoning. These findings can be leveraged to focus on the types of training novice architects may need to effectively and efficiently address the types of challenges identified in this study.

Keywords

Software architecture design Design quality Peer-review Recombination Architectural design decision 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Dow, P.S., Glassco, A., Kass, J., Schwarz, M., Schwartz, D.L., Klemmer, S.R.: Parallel Prototyping Leads to Better Design Results, More Divergence, and Increased Self-efficacy. ACM Transactions on Computer-Human Interaction 17(4) (2010)Google Scholar
  2. 2.
    Dow, P.S., Fortuna, J., Schwartz, D., Altringer, B., Schwartz, D.L., Klemmer, S.R.: Prototyping dynamics: sharing multiple designs improves exploration, group rapport, and results. In: The SIGCHI Conference on Human Factors in Computing Systems, pp. 2807–2816 (2011)Google Scholar
  3. 3.
    LaToza, T.D., Chen, M., Jiang, L., Zhao, M., van der Hoek, A.: Borrowing from the crowd: a study of recombination in software design competitions. In: 37th International Conference on Software Engineering (2015)Google Scholar
  4. 4.
    Xu, A., Bailey, B.P.: A crowdsourcing model for receiving design critique. In: CHI 2011 Extended Abstracts on Human Factors in Computing Systems, pp. 1183–1188 (2011)Google Scholar
  5. 5.
    Armitage, P., Berry, G.: Statistical Methods in Medical Research, 3rd edn. Blackwell (1994)Google Scholar
  6. 6.
    Braun, V., Clarke, V.: Using Thematic Analysis in Psychology. Qual. Res. Psychol. 3(2), 77–101 (2006)CrossRefGoogle Scholar
  7. 7.
    Kruchten, P.: An ontology of architectural design decisions in software intensive systems. In: 2nd Groningen Workshop on Software Variability, pp. 54–61 (2004)Google Scholar
  8. 8.
    Yin, R.: Case Study research: Design and methods, Sage Publications, Inc. (2003)Google Scholar
  9. 9.
    Nicol, D., Thomson, A., Breslin, C.: Rethinking Feedback Practices in Higher Education: a Peer Review Perspective. Assessment & Evaluation in Higher Education 39(1), 102–122k (2014)CrossRefGoogle Scholar
  10. 10.
    McCrum-Gardner, E.: Which is the Correct Statistical Test to Use? British Journal of Oral and Maxillofacial Surgery 46(1), 38–41 (2008)CrossRefGoogle Scholar
  11. 11.
    Lytra, I., Gaubatz, P., Zdun, U.: Two Controlled Experiments on Model-based Architectural Decision Making. Information and Software Technology 63, 58–75 (2015)CrossRefGoogle Scholar
  12. 12.
    Ali Babar, M., Gorton, I.: Software Architecture Review: The State of. Practice 42(7), 26–32 (2009)Google Scholar
  13. 13.
    Tang, A., Lau, M.F.: Software Architecture Review by Association. Journal of Systems and Software 88, 87–101 (2014)CrossRefGoogle Scholar
  14. 14.
    Tang, A., Kuo, F.-C., Lau, M.F.: Towards independent software architecture review. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds.) ECSA 2008. LNCS, vol. 5292, pp. 306–313. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 15.
    Maranzano, J.F., Rozsypal, S.A., Zimmerman, G.H., Warnken, G.W., Wirth, P.E., Weiss, D.M.: Architecture Reviews: Practice and Experience. IEEE Software 22(2), 34–43 (2005)CrossRefGoogle Scholar
  16. 16.
    Klaas-Jan Stol, K., Fitzgerald, B.: Two’s company, three’s a crowd: a case study of crowdsourcing software development. In: 36th International Conference on Software Engineering, pp. 187–198 (2014)Google Scholar
  17. 17.
    Service Oriented Architecture Modeling Language (SoaML) Specification, OMG. http://www.omg.org/spec/SoaML/1.0.1/PDF
  18. 18.
    Raymond, E.S.: The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O’Reilly (2001)Google Scholar
  19. 19.
    Wang, J., Shih, P.C., Carroll, J.M.: Revisiting Linus’s Law: Benefits and Challenges of Open Source Software Peer Review. International Journal of Human-Computer Studies 77, 52–65 (2015)CrossRefGoogle Scholar
  20. 20.
    Weinreich, R., Groher, I., Miesbauer, C.: An Expert Survey on Kinds, Influence Factors and Documentation of Design Decisions in Practice. Future Generation Computer Systems 47, 145–160 (2015)CrossRefGoogle Scholar
  21. 21.
    Kitchenham, B., Pfleeger, S., Pickard, L., Jones, P., Hoaglin, D., El Emam, K., Rosenberg, J.: Preliminary Guidelines for Empirical Research in Software Engineering. IEEE Transactions on Software Engineering 28(8), 721–734 (2002)CrossRefGoogle Scholar
  22. 22.
    Host, M., Regnell, B., Wohlin, C.: Using Students as Subjects - A Comparative Study of Students and Professionals in Lead-time Impact Assessment. Empirical Software Engineering 5(3), 201–214 (2000)CrossRefMATHGoogle Scholar
  23. 23.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 3rd edn. Addison Wesley, Boston (2012)Google Scholar
  24. 24.
    Mao, K., Capra, L., Harman, M., Jia, Y.: A Survey of the Use of Crowdsourcing in Software Engineering. Technical Report RN/15/01, Department of Computer Science, University College London (2015)Google Scholar
  25. 25.
    Jiang, L.: Recombination Contest: Crowdsourcing Software Architecture and Design. Master Thesis, University of Amsterdam (2014)Google Scholar
  26. 26.
    Kahneman, D.: Thinking, Fast and Slow. Penguin (2011)Google Scholar
  27. 27.
    Kitchenham, B., Pickard, L., Pfleeger, S.L.: Case Studies for Method and Tool Evaluation. IEEE Software 12(4), 53–62 (1995)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.CREST – The Centre for Research on Engineering Software TechnologiesThe University of AdelaideAdelaideAustralia

Personalised recommendations