Much work has been done in recent years developing software engineering curricula. SE research has traditionally focused on the needs of very large corporations undertaking equally mammoth and complex development projects, consequently, current curricula tend to focus on this model. Yet by far the majority of software development is undertaken by Small to Medium Enterprises. The rise of the internet as a platform for commercial applications has partly driven this move away from monolithic software development. Depending on the nature of the application itself many of these products can be described as 'critical' with the failure of such a product more likely to involve substantial losses for the customer. Many of these smaller development efforts are either undertaken with little or no adherence to any SE standard process or by attempting to tailor processes intended for larger organizations. Neither of these alternatives is ideal, with both introducing new elements of risk. One of the newer elements of risk includes the possibility of litigation. While current curricula already include elements of ethics and social responsibility, the changing nature of both development teams and today's software products places today's software engineer in a position where litigation is a very real possibility. In this paper we discuss the factors contributing to the possibility of litigation in detail, and suggest that consideration of legal consequences of decision-making should be included as a vital part of teaching software engineers about risk management.
Fuller, A. & Croll, P. (2002). Why don't we teach software engineers about the law?. Journal of Law and Information Science, 12 (1), 139-153.