Exercise 1.1

Software engineering is the study of engineering principles and their application to the development of software systems. — adapted from Wikipedia, 2012

Consider the following questions.

  1. What characteristics should software-engineered systems have?
  2. What skills do software engineers need to have?
  3. Do you approach software development as an artist, a scientist, or an engineer?

Exercise 1.2

“The major problems of our work are not so much technological as sociological in nature.” — DeMarco & Lister, Peopleware, 1987.

For DeMarco and Lister, “our work” refers to software project management. Consider the following questions.

  1. Do you agree or disagree with this claim?
  2. Name one great software success and one great software failure. Explain what was so great and/or terrible about them.

Exercise 1.3

Consider these questions about people and teams.

  1. For each of the big-five personality dimensions, identify the optimal value, if any, of that dimension for software engineering.

  2. Consider Brunt’s Constructive and Destructive Group Behaviors (from the guide) and identify:
    • One constructive thing you can contribute to your team.
    • One destructive thing you most need to guard against.

Exercise 1.4

What was Postman’s first idea and do you agree with it?

Pick a good project idea from lab 1, and identify one cost that it might have.