Software Engineering Education in the Era of Outsourcing, Distributed Development, and Open Source Software: Challenges and Opportunities

  • Matthew J. Hawthorne
  • Dewayne E. Perry
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4309)


As software development becomes increasingly globally distributed, and more software functions are delegated to common open source software (OSS) and commercial off-the-shelf (COTS) components, practicing software engineers face significant challenges for which current software engineering curricula may leave them inadequately prepared. A new multi-faceted distributed development model is emerging that effectively commoditizes many development activities once considered integral to software engineering, while simultaneously requiring practitioners to apply engineering principles in new and often unfamiliar contexts. We discuss the challenges that software engineers face as a direct result of outsourcing and other distributed development approaches that are increasingly being utilized by industry, and some of the key ways we need to evolve software engineering curricula to address these challenges.


Software Development Software Engineering Software Engineer Product Family Software Development Project 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bosch, J.: Software Architecture: The Next Step. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194–199. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Brandozzi, M., Perry, D.: Architectural Prescriptions for Dependable Systems. In: ICSE 2002 Workshop on Architecting Dependable Systems (WADS 2002) (2002)Google Scholar
  3. 3.
    Dueñas, J., Capilla, R.: The Decision View of Software Architecture. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 222–230. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Grunbacher, P., Egyed, A., Medvidovic, N.: Reconciling Software Requirements and Architectures with Intermediate Models. Software and Systems Modeling 3(3), 235–253 (2004)CrossRefGoogle Scholar
  5. 5.
    Hawthorne, M., Perry, D.: Exploiting Architectural Prescriptions for Self-Managing, Self-Adaptive Systems: A Position Paper. In: ACM SIGSOFT 2004 Workshop on Self- Managed Systems (WOSS 2004) (2004) Google Scholar
  6. 6.
    IEEE Computer Society/ACM Joint Task Force on Computing Curricula: Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering (2004),
  7. 7.
    Sun Developer Network Products and Technologies: Java Platform, Enterprise Edition (Java EE) (2006),
  8. 8.
    Jani, D., Vanderveken, D., Perry, D.E.: Deriving Architectural Specifications from KAOS Specifications: A Research Case Study. In: European Workshop on Software Architecture 2005, Pisa Italy (June 2005)Google Scholar
  9. 9.
    Hall, J., Jackson, M., Laney, R., Nuseibeh, B., Rapanotti, L.: Relating Software Requirements and Architectures Using Problem Frames. In: Proceedings of the IEEE Joint International Requirements Engineering Conference (RE 2002), pp. 9–13 (2002)Google Scholar
  10. 10.
    Jansen, A., Bosch, J.: Software Architecture as a Set of Architectural Design Decisions. In: 5th Working IEEE/IFIP Conference on Software Architecture (WICSA 2005) (2005)Google Scholar
  11. 11.
    van Lamsweerde, A.: Requirements Engineering in the Year 00: A Research Perspective. In: Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000), Invited Paper, pp. 5–19. ACM Press, New York (2000)Google Scholar
  12. 12.
    Microsoft Developers Network (MSDN): Microsoft.NET Framework Developer Center (2006),
  13. 13.
    The Open Source Initiative (OSI) (2006),
  14. 14.
    Perry, D., Wolf, A.: Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40 (1992)CrossRefGoogle Scholar
  15. 15.
    Perry, D., Staudenmayer, N., Votta, L.: People, Organizations, and Process Improvement. IEEE Software (1994)Google Scholar
  16. 16.
    Perry, D.: Generic Descriptions for Product Line Architectures. In: ARES II Product Line Architecture Workshop (1998)Google Scholar
  17. 17.
    SWEBOK: Guide to the Software Engineering Body of Knowledge,
  18. 18.
    The Tau Beta Pi Engineering Honor Society (2006),

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Matthew J. Hawthorne
    • 1
  • Dewayne E. Perry
    • 1
  1. 1.Empirical Software Engineering Lab (ESEL), Dept. of Electrical and Computer EngineeringThe University of Texas at AustinAustinUSA

Personalised recommendations