Page 89 -
P. 89

60            PART TWO  MANAGING SOFTWARE PROJECTS


                            flexible enough to change direction if initial attempts at problem solution are
                            fruitless.

                            Managerial identity. A good project manager must take charge of the proj-
                            ect. She must have the confidence to assume control when necessary and the
                            assurance to allow good technical people to follow their instincts.
         A software wizard may  Achievement. To optimize the productivity of a project team, a manager must
         not have the
         temperament or desire  reward initiative and accomplishment and demonstrate through his own actions
         to be a team leader.  that controlled risk taking will not be punished.
         Don’t force the wizard  Influence and team building. An effective project manager must be able to
         to become one.
                            “read” people; she must be able to understand verbal and nonverbal signals
                            and react to the needs of the people sending these signals. The manager must
                            remain under control in high-stress situations.



                       3.2.3  The Software Team
                       There are almost as many human organizational structures for software develop-
                       ment as there are organizations that develop software.  For better or worse, organi-
         “Not every group is a  zational structure cannot be easily modified.  Concern with the practical and political
          team, and not every  consequences of organizational change are not within the software project man-
          team is effective.”  ager's scope of responsibility.  However, the organization of the people directly involved
          Glenn Parker  in a new software project is within the project manager's purview.
                          The following options are available for applying human resources to a project that
                       will require n people working for k years:

                         1. n individuals are assigned to m different functional tasks, relatively little
                            combined work occurs;  coordination is the responsibility of a software man-
                            ager who may have six other projects to be concerned with.
                         2. n individuals are assigned to m different functional  tasks ( m < n ) so that
                            informal "teams" are established; an ad hoc team leader may be appointed;
                            coordination among teams is the responsibility of a software manager.
                         3. n individuals are organized into t teams; each team is assigned one or more
                            functional tasks; each team has a specific structure that is defined for all
                            teams working on a project; coordination is controlled by both the team and
                            a software project manager.
         ?  How should a  Although it is possible to voice arguments for and against each of these approaches,
            software
         team be organized?  a growing body of evidence indicates that a formal team organization (option 3) is
                       most productive.
                          The “best” team structure depends on the management style of your organi-
                       zation, the number of people who will populate the team and their skill levels,
                       and the overall problem difficulty. Mantei [MAN81] suggests three generic team
                       organizations:
   84   85   86   87   88   89   90   91   92   93   94