Computer Science 121 - Project Phase 3

Alpha design and implementation

Spring 2010

Project Phase 2 Deliverables

Date Description Points
4-5 Management Plan 60
4-12 Test Plan/Progress Review 40
TBD Feature Freeze 0
TBD Beta Release 30
TBD User Test 20
4/28 Code review 20
5-14 2PM (exam time) Version 1 30
5-14 2PM (exam time) Final Documentation 30


Project Description

  1. Project Overview
  2. Project Component Description
  3. Grading
  4. Rules and Submission

1. Overview

In phase 2 you developed your alpha release. In phase 3 you'll version 1 of your game. This phase is worth 230 points.

2. Project Components

2.1 Management Plan

An initial management plan should be submitted on 4/5/10. This plan should include

  1. Description of the major areas of responsibility for each team member.
  2. Definition of your final release using use cases, storyboards, and/or other models you deem appropriate. You should define the "must have" and "want to have" features and capabilities.
  3. Proposed due dates for the feature freeze and beta release.
  4. Risk analysis.
  5. Initial goal breakdown for phase 3 including (at least) the required deliverables and their dependencies.
  6. Goal stack including well-modeled goals for (at least) the next week of the project.
  7. Plan for the next week including goals to be achieved and team members' responsibilities (via tickets).
  8. A summary of work completed in the first week of phase 3.
Your goal breakdown should divide the major deliverables of phase 3 into smaller and smaller subcomponents until they represent well-defined tasks that can be completed by one person in a couple of hours. Your goal stack will contain the prioritized and sequenced nodes of your goal breakdown. By sequenced we mean that a goal cannot appear above any of its (AND) subgoals in the stack. You need not completely break down all goals at the beginning; just be sure that goals at the top of the stack are well-defined tasks. It is important, however, that you resolve major risks early; e.g. by exploratory work (goals) such as proofs of concepts.

By Monday class time each week, you should update your project plan to reflect the proposed work for the coming iteration (1 week). This includes a new risk analysis, further elaboration of your goal breakdown, updating your goal stack and identifying the goals to be achieved in the coming week, and issuing tickets for those goals. You must also provide a brief status report that explains how well you achieved your goals for the previous week. Your management planning will be graded on a weekly basis with 20 points assigned to the initial plan and 10 points for each of the four weekly updates (last update due 5/31). The grading rubric for the inital plan is:

The grading rubric for each update is:

2.2 Test Plan/Progress Review

Your team will (a) submit your test plan/progress for review and (b) review that of another team. More specifically, teams 1 and 4 will pair up as will teams 2 and 3. The materials you submit for review will be graded for quality on a 15 point scale. The quality of the review you perform will be graded on a 10 point scale (2.5 points per person). Reviews will take place in class on 4/12.

After the test plan review your team will be required to conduct regression testing (before checking in updates) and bug tracking. These activities should be documented on your wiki (including tickets for bug reports). You will be graded each week on a 5 point scale.

2.3 Feature freeze

The beta release is a version of your final game that will be released for testing by students at Hillside. Some time prior to the beta release you need to declare a feature freeze. Between the feature freeze and the release date you will finish testing your game and complete any necessary documentation for its release. You don't get any points for this but you must schedule it!

2.4 Beta release

The beta release is a version of your final game that will be released for testing by students at Hillside. It will be evaluated on the following:

2.5 User test

Since you will not be present when Hillside students play your game, you must develop a test protocol for the teachers to follow. For example, you may want the teachers to read instructions that you prepare. You may want students to play in pairs, with one playing the game and one recording problems. You may want to have the software record some usage statistics that need to be mailed to you when the test is done. And you will probably want to construct a survey that students complete after finishing the game. The overall design of the test protocol is up to you but you must be clear about what you want to achieve in this test (and document the goals on your wiki). You should plan the test to take no more than 30 minutes. You should analyze test results and write a wiki report. Your user test will be graded on:

2.6 Code Review

Your team will (a) submit your code for review and (b) review that of another team. Specifically teams 1 and 3 will pair up as will teams 2 and 4. Each team member will be assigned a specific portion of code to review. Individuals will be graded on the review they conduct on an 5 point scale.

2.7 Version 1 Release

Like the beta, your final game will be evaluated on functionality, usability, reliability, entertainment value, and educational merit.

2.8 Final documentation

You are required to document your product in various ways:

3. Grading

This phase of the project is worth a total of 230 points. For each component, the team will assign a percentage to each team member based on their contributions to the component (the percentages should, of course, add up to 100%). Grades for each team member will be based on a contribution weighted average of earned points for the components. The resulting score will be normalized based on team size and overall scope of project. It is expected that a team of size 5 will produce a project with larger scope than a team of size 4! It is your job to choose an appropriate scope to your project.

4. Rules and Submissions

Your main wiki page should include a table of phase 2 milestones, the date they were completed, links to the associated deliverables, and an accounting of late days.

Each team is entitled to three late days. A late submission that is not redeemed with late days loses ten percent of its value for each day missed. Note that a late day is only good for one deliverable, subsequent delays require additional slip days. For example, if a prototype is one day late, and that delays the final report by a day, you need to use two late days in order to avoid penalties.

You should apportion responsibility for each late day to team members. In the previous case, if one person was responsible for missing the prototype deadlines, both late days should be attributed to that person.