CSCI 5828 |
Foundations of Software Engineering |
Course Location 1B 28 Course Time Tuesday and Thursday 11:00 AM - 12:15 PM Topics What's New (Home) Class Schedule Lectures Assignments Student Comments Contact Information Evaluation Criteria Status Reports What's New Archives January, 1999 February, 1999 March, 1999 |
Ken In regard to the number of communication channels given the number of people working on a software project, I would like to offer the following observations. Assuming 200 people on the team, it is unlikely that 19,900 communication channels will develop. This high number would indicate that each person must communicate with the other 199 in order to participate. Conventional social theory has indicated this does not happen, though the actual number of communication channels may still be quite large. The point is that citing the formula for the number of edges in a fully-connected graph is misleading (but not entirely inaccurate, either). Structures like the surgical team are simply a method of formally defining the roles and communication channels identified as necessary and/or productive. Notice that the structure of the surgical team is hierarchical in nature. Referring to graph theory in this case, the number of edges is linear with respect to the number of nodes (as it is with any tree). But this carries with it an important analogy. Specifically, defining a team according to the surgical team (or a similar structure) is analogous to the high cohesion/low coupling that is desired in the software project itself. Members of the team are given well-defined roles (high cohesion), and the communication channels are limited to what is necessary for proper interaction (low coupling). This indicates that cohesion and coupling (on all levels) are more important factors in successful software projects than previously identified. In fact, one can further extend the analogy by defining conceptual integrity in terms of high cohesion and low coupling. For example, high cohesion is implied by conceptual integrity, though this may be seen from a different perspective, so that high cohesion helps define conceptual integrity (which currently has something of an amorphous definition). Nathan D Ryan |
© Ken Anderson, 1999.
Last Updated: 8/16/00; 2:46:06 PM