Identifying and Understanding Architectural Risks in Software Evolution: An Empirical Study

  • Odd Petter Nord Slyngstad
  • Jingyue Li
  • Reidar Conradi
  • M. Ali Babar
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5089)


Software risk management studies commonly focus on project level risks and strategies. Software architecture investigations are often concerned with the design, implementation and maintenance of the architecture. However, there has been little effort to study risk management in the context of software architecture. We have identified risks and corresponding management strategies specific to software architecture evolution as they occur in industry, from interviews with 16 Norwegian IT-professionals. The most influential (and frequent) risk was “Lack of stakeholder communication affected implementation of new and changed architectural requirements negatively”. The second most frequent risk was “Poor clustering of functionality affected performance negatively”. Architects focus mainly on architecture creation. However, their awareness of needed improvements in architecture evaluation and documentation is increasing. Most have no formally defined/documented architecture evaluation method, nor mention it as a mitigation strategy. Instead, problems are fixed as they occur, e.g. to obtain the missing artefacts.


software architecture software evolution risk management software architecture evaluation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2004)Google Scholar
  2. 2.
    Bass, L., Buhman, C., Comella-Dorda, S., Long, F., Robert, J., Seacord, R., Wallnau, K.: Volume I: Market Assessment of Component-based Software Engineering in SEI Technical Report number CMU/SEI-2001-TN-007 (2001)Google Scholar
  3. 3.
    Belady, L.A., Lehman, M.M.: A model of a Large Program Development. IBM Systems Journal 15(1), 225–252 (1976)zbMATHCrossRefGoogle Scholar
  4. 4.
    Bennett, K.H., Rajlich, V.: Software Maintenance and Evolution: A Roadmap. In: ICSE 2000 – Future of Software Engineering, Limerick, Ireland, pp. 73–87 (2000)Google Scholar
  5. 5.
    Sommerville, I.: Software Engineering, 6th edn., p. 728. Addison-Wesley, Reading (2001)Google Scholar
  6. 6.
    Ropponen, J., Lyytinen, K.: Components of Software Development Risk: How to Address Them? A Project Manager Survey. IEEE Transactions on Software Engineering 26(2), 98–112 (2000)CrossRefGoogle Scholar
  7. 7.
    Ali Babar, M., Bass, L., Gorton, I.: Factors Influencing Industrial Practices of Software Architecture Evaluation: An Empirical Investigation. In: QoSA 2007, Medford, Massachusetts, USA, July 12-13 (2007)Google Scholar
  8. 8.
    Boehm, B.W.: Software Risk management: Principles and Practices. IEEE Software 8(1), 32–41 (1991)CrossRefGoogle Scholar
  9. 9.
    Carr, M., Kondra, S., Monarch, I., Ulrich, F., Walker, C.: Taxonomy-Based Risk Identification, Technical Report SEI-93-TR-006, SEI, Pittsburgh, USA (1993)Google Scholar
  10. 10.
    Keil, M., Kule, P.E., Lyytinen, K., Schmidt, R.C.: A Framework for Identifying Softare Project Risks. Communications of the ACM 4(11), 76–83 (1998)CrossRefGoogle Scholar
  11. 11.
    Boehm, B.W.: A Spiral Model of Software Development and Enhancement. IEEE Computer 21(5), 61–72 (1988)Google Scholar
  12. 12.
    Gemmer, A.: Risk Management: Moving Beyond Process. IEEE Computer 30(5), 33–41 (1997)Google Scholar
  13. 13.
    Hecht, H.: Systems Reliability and Failure Prevention. Artech House Publishers (2004)Google Scholar
  14. 14.
    Clerc, V., Lago, P., van Vliet, H.: The Architect’s Mindset. In: QoSA 2007, Medford, Massachusetts, USA, July 12-13 (2007)Google Scholar
  15. 15.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering – An Introduction. Kluwer Academic Publishers, Dordrecht (2002)Google Scholar
  16. 16.
    Seaman, C.B.: Qualitative Methods in Empirical Studies of Software Engineering. IEEE Transactions on Software Engineering 25(4), 557–572 (1999)CrossRefGoogle Scholar
  17. 17.
    Lethbridge, T.C., Sim, S.E., Singer, J.: Studying Software Engineers: Data Collection Techniques for Software Field Studies. Empirical Software Engineering 10(3), 311–341 (2005)CrossRefGoogle Scholar
  18. 18.
    Kitchenham, B., Pfleeger, S.L.: Principles of Survey Research, Parts 1 to 6. ACM Software Engineering Notes (2001 – 2002)Google Scholar
  19. 19.
    Messerschmitt, D.G., Szyperski, C.: Marketplace Issues in Software Planning and Design. IEEE Software 21(3), 62–70 (2004)CrossRefGoogle Scholar
  20. 20.
    Johnson, R.E., Foote, B.: Designing Reusable Classes. Journal of Object-Oriented Programming 1(2), 22–35 (1988)Google Scholar
  21. 21.
    Bass, L., Nord, R., Wood, W., Zubrow, D.: Risk Themes Discovered Through Architecture Evaluations. In: Proc. WICSA 2007 (2007)Google Scholar
  22. 22.
    O’Connell, D.: Boeing’s Experiences using the SEI ATAM® and QAW Processes (April 2006),
  23. 23.
    Charette, R.N.: Why software fails. Spectrum 42(9), 42–49 (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Odd Petter Nord Slyngstad
    • 1
  • Jingyue Li
    • 1
  • Reidar Conradi
    • 1
  • M. Ali Babar
    • 2
  1. 1.Department of Computer and Information Science (IDI)Norwegian University of Science and Technology (NTNU)TrondheimNorway
  2. 2.LERO– The Irish Software Engineering CentreUniversity of LimerickLimerickIreland

Personalised recommendations