Summary Questions


Summary Questions

  1. Which type of team would you like to work in and why?

  2. Interview five software engineers who work as a group in a software house. Identify the team structure of which they are a part. Identify the reasons that led to the establishment of this team structure. In your opinion, is it the appropriate team structure for the project you were told about?



For Further Review

  1. You are given a rough vision document relating to a software project. Write a team organization for a democratic , hierarchical, and virtual team.

  2. Take a current software project as an example. What type of team do you think it should have? Evaluate your choice, enumerating pros and cons.

  3. Conduct with your team the bonus allocation task described in this chapter. Based on the different reward allocation policies described in the task, identify factors that may lead your team members to cooperate. What are your conclusions with respect to the way your team works and cooperates?



References and Additional Resources

[Ambler03] Ambler, Scott, Outsourcing Examined, Software Development, April 2003.

[Beck00] Beck, Kent, Extreme Programming Explained , Addison-Wesley, 2000.

[Brooks95] Brooks, P., Frederick, Mythical Man-Month , Second Edition, Addison-Wesley, 1995.

[Brown95] Brown, D. I., Team-Based Reward Plans, Team Performance Management (January 1995): pp. 23 “31.

[Duarte01] Duarte, Deborah L., and Snyder, Nancy Tennant, Mastering Virtual Teams , Second Edition, Jossey-Bass, 2001.

[Hayes03] Hayes, Frank, Outsourcing Angst, Computerworld (March 17, 2003): p. 62.

[Hayes04] Hayes, Tim, Outsourcing, Pittsburgh TEQ (2004), 10, 1, pp. 14 “20.

[Hazzan03] Hazzan, Orit, Computer Science Students Conception of the Relationship between Reward (Grade) and Cooperation, Proceedings of the Eighth Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2003) , Thessaloniki, Greece, 2003: pp. 178 “182.

[Humphrey95] Humphrey, Watts , A Discipline for Software Engineering, Addison-Wesley, 1995.

[Humphrey00] Humphrey, Watts , The Team Software Process , Addison-Wesley, 2000.

[King03] King, Julia, IT Global Itinerary, Computerworld (September 15, 2003): pp. 26 “27.

[Mills83] Mills, Harlan D., Software Productivity, Little, Brown, 1983.

[Pressman03] Pressman, Roger, Software Engineering: A Practitioner s Approach , Fifth Edition, McGraw-Hill, 2003.

[Redmond01] Redmond, M. A., A Computer Program to Aid Assignment of Student Project Groups, The Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education , 2001: pp. 134 “138.

Agile programming: http://www.agilealliance.com/home

Better estimates through function points: http://www.ifpug.org/

Project management: http://www.pmi.org/ info /default.asp

Software Engineering Institute site: http://www.sei.cmu.edu/

The Capability Maturity Model for software: http://www.sei.cmu.edu/cmm/cmm.html



Chapter 4: Software as a Product

Introduction

This chapter examines the human aspect of software engineering from the perspective of the customers ”the people who use software products. It focuses on how users and developers deal with defining software requirements in a way that fulfills customers needs. Indeed, the process of defining customers requirements is viewed here as a process in which both the customer and the developers participate. This approach was illustrated in previous chapters as well; for example, in Chapter 2, Software Engineering Methods, in which eXtreme Programming (XP) is discussed.

Requirements are discussed in this chapter by looking at two topics: data collection tools and requirements management. The former deals with how to collect data in order to define customers requirements; the latter deals with how, in practice, software developers manage the development of the defined requirements.