SE361 Team Roles and Responsibility Areas

This document describes various responsibility areas.  Each team member must take responsibility for one or more areas. Roles will last for the length of the term, however you are encouraged to switch roles periodically if everyone in the team is agreeable to it. Please inform the instructor of changes in roles, and also note the change on the Team Roster document.

Note that roles indicate responsibility for ensuring that particular concerns get addressed well, NOT that the person who has the role must do all the activities for the role.  Thus it may happen that the team coordinator participates extensively in testing, while the testing coordinator helps to sort out configuration management problems.  Assigning coordination responsibilities to a particular individual indicates that they must take leadership in ensuring that the objectives in that area are met as well as possible.  The specific activities in each area may be done by any of the members on the team, based on knowledge and ability, allocated tasks and need.  Ultimately, all team members share responsibility for the success project i.e. everyone is empowered to contribute in any area and any way they can.

It is required that all team members participate in development (coding).

Review the list of goals for your role(s) every week, and make sure that they are being met.  If they are not being met, this is an issue that must be brought up and resolved.

Team Leadership & Planning (Team Coordinator)

Teamwork focuses on effective cooperation within the team.  The goals include:

 

 

Capabilities needed: Work well with people: good communication, interaction and empathy (“understand where each person is coming from”).  Creative problem-solving to resolve tough situations.  Meeting facilitation skills. Being systematic and organized.  Strong task focus: “getting things done”.  Preferably previous experience with team development.  Planning and coordination skills.  Understanding interests and abilities of different team members and matching them with tasks.

 

Design and development (Development coordinator)

This role involves serving as the technical “point person” i.e. ensuring that the product has a clear and consistent technical vision and design, and that all technical aspects and issues are being addressed.  Goals include:

 

Capabilities needed: Previous experience with designing software to be developed by multiple people.  Good understanding of design approaches and design and implementation issues.  Familiarity with technologies.  Willingness to listen to others’ design ideas and synthesize them into a single design concept.  Willingness to understand and resolve implementation difficulties.

 

Requirements Management (Requirements Coordinator) - in teams of four, this role is combined with the Test Coordinator

If you do a great job of building the wrong product, all your effort is wasted.  Hence requirements are critical to product success.  Goals include:

 

Capabilities needed: User-oriented thinking and user focus.  Good interaction skills.  Preferably some knowledge of the problem domain.

Test Management (Test Coordinator) - in teams of four, this role is combined with the Requirements Coordinator

Good test design and effective testing require considerable technical skill and creativity, and have a huge impact on project success.  Goals include:

 

Capabilities needed: Excellent understanding of the requirements and design.  Excellent development understanding (actually test coordination needs this as much or more than development coordination).  Being systematic and organized.  High technical creativity.

 

 

Configuration Management / Quality Management (Configuration/QA Coordinator)

Configuration management is critical to the success of team efforts with multiple artifacts and releases.  Goals include:

 

Quality management is about ensuring that the best results are obtained for effort put in.  Goals include:

 

Capabilities needed: Familiarity with quality procedures (or enthusiasm to learn them).  Ability to step away from the details and look at the big picture.  Friendly interaction with all team members.  Willingness to raise unpleasant questions, and ability to get them addressed without antagonizing people.  Strong commitment to quality and project success. Familiarity with tools / willingness to invest large amounts of time in learning them well.  An understanding of the challenges of concurrent development, and the concepts underlying configuration management.  An interest in “finding easier ways to get things done”.  A “support mentality” – enthusiasm to help other people to work more effectively.  Web expertise.