University of Calgary
Rob Kremer
Supplier Assignment

SENG 403: Software Development in Teams and Organizations
Winter 2013
Department of Computer Science
Computer
Science

Goal

The goal of this project is to gain a first-hand experience in working within a team to develop a software system using software engineering methodologies and techniques.

Learning Outcomes

During this project, you will learn:
  • how to work as part of a team of individuals you have not necessarily worked with before.
  • the importance of your customer as a source of requirements, and learn how to discuss, negotiate and prioritize the required features.
  • how to make design decisions and analyze the benefits and risks associated with each decision.
  • how to apply software engineering methods that are commonly used in industry.
  • the different aspects of project management.
  • state-of-the-art tools and technologies for collaborative development of software systems.

How does it work?

Step 1. Know your team

Every team will consist of 7 people (+/- depending on enrollment). To imitate real life contexts, you will not be able to pick your teammates, but you will be assigned to a team by the instructor or/and TAs. This will happen no later than the first tutorial in the second week of classes. During the first tutorial, get to know your teammates, exchange contact info, and discuss possible ideas. It is always a good idea to consult with your TA.

Step 2. Choose a project

You be assigned a project to implement from the list of projects. A TA will be assigned to you to act as your customer.

The scope should not be too small or too big. There should be enough work for everyone in the team for the whole semester. You are not necessarily required to implement the whole system by the end of this course. However, you are required to present a working version of the system at any point of time during or after the development process.

Step 3. Develop the project

During the semester we will only be able to do four iterations as follows:

Summary Due Date Weight
Iteration 0
More details
determine the required tools and technologies and gain a high-level understanding of the requirements of the system. Feb 6, 2013 18% of the project grade
Iteration 1
More details
identify and develop a set of features as agreed with the customer. Feb 27, 2013 22% of the project grade
Iteration 2
More details

identify and develop another set of features as agreed with the customer. Mar 19, 2013 30% of the project grade
Iteration 3
More details
identify and develop another set of features as agreed with the customer. Apr 9, 2013
30% of the project grade

Evaluation

  • Weight: the Project is worth 41% of your total grade in the course. To pass the course, the student must participate in this group project in a satisfactory manner. Satisfactory participation within the group project is determined at the discretion of the instructor. Observations of the TAs as well as peer-reviews may be used to adjust the individual grades of the group members. It is the responsibility of the student to maintain complete records of effort to demonstrate group project participation.
  • Team grade: every team will be given a grade at the end of every iteration. This grade is determined mainly by examining the deliverables specified for each iteration. The quality of the work presented including the system usability and reliability, the quality of the reports produced, as well as the overall satisfaction of your customer will all be taken into consideration.
  • Individual grade: the team grade, as explained above, will be adjusted for every team member. The adjustment will be mainly based on peer-reviews. Observations of the instructor and the TAs may be considered too. For example, let's say Team 1 consists of three members John, Darryl and Sarah. Team 1 got B+ in the first iteration. John got an average rating of B by his teammates, while Sarah and Darryl both were at A. John's grade is calculated as: Team Grade + Adjustment Factor. In consideration of the relative assessments, John's adjustment may be -0.3, while Sarah and Darryl will have a adjustment of 0. Thus, John will get a B and Sarah and Darryl will get a B+. The peer-reviews will be checked for any outliers. For example, if one individual was rated high by everybody in the team (say A) except by one member (say D) or vice versa, such an issue will be raised and possibly discussed with the team. The following criteria are considered for peer-reviews:
    • Individual put the necessary effort to finish the work they agreed to do.
    • Individual tried their best to attend the group meetings on time.
    • Individual was reasonably responsive through email or other means of communication, and provided timely feedback for the group on the status of the work assigned to them.
    • Individual was respectful, professional, and cooperative.
  • Note: While students will be informed of the jist of thier peer rating, under no circumstances will they be provided details on the individual ratings. If the student feels that they have been judged unjustly by their teammates, they should bring the issue to the instructor's attention and provide evidence to support their case. This is why it is strongly recommended that students keep record of their contribution whether it is evident in documents, emails, commits to the repository or any other artifact.

UofC
SENG 403: Software Development in Teams and Organizations
Department of Computer Science

Last updated 2013-01-07 21:10
Rob Kremer