Comp 523, Software Engineering:  Essay 2
Assigned: 3 April 2008
Due: 10 April 2008

There are a lot of definitions of software engineering.  Most definitions, however, are variants of "the application of a disciplined approach to the task of building and maintaining software."  I would like to propose a slight amendment to the definition for this essay.  I would suggest that software engineering is the application of a disciplined approach to manage the risks associated with the task of building and maintaining software.  You are to write an essay explaining this definition.

Specifically, you are to look at the risks associated with software development and how software engineering processes address this problem.  Address the specific use of the work "manage" as opposed to a stronger word (such as "eliminate").  This can be a very large topic and I do not expect your essay to be comprehensive.  What I do expect is that the essay will be persuasive and will give concrete examples.  Your essay should include an argument that there is validity of this definition in the breadth of risks addressed as well as some in depth discussion about specific risks and how they are addressed.

When talking about risks, I expect you to not only identify the risk, but also explain why it is a real risk.  (I would skip the invasion by aliens.)  Explaining why it is a risk sets up the discussion on how to manage it.

When discussing how software engineering addresses these risks, you can talk generally about software engineering principles, but you should also use concrete example of processes or models that are used.

Remember to use appropriate references.  As always, this assignment
is open book, notes and discussion;  the final document itself, however, must be done individually.  Please pledge your paper.

Please turn in the essay both electronically (email) and in paper by the beginning of class.