Computer Science 121 - Project 1a

Requirements Development

Fall 2007

$Id: proj_1a.m4 116 2007-10-23 20:46:56Z Mark $

Critical Dates

Project Description

  1. Introduction
  2. Deliverables Table
  3. Assignement Details
  4. Grading
  5. Rules and Submission

1. Introduction

This is the first part of a three-part project, in which you will have the opportunity to define and design a significant software product. This project will also start your introduction to formal project management skills.

In the lecture on basic project skills we will discuss:

In the lecture on requirements we will discuss:

In this, the first sub-project, you will organize yourselves into teams, and develop requirements for a new product.

The primary goal of this project is to give you real experience with the major activities associated with the creation of a product concept, and the development, qualification, and prioritizing of requirements. A secondary goal is to develop your abilities to intelligently plan a group endeavor, effectively manage it, and critically evaluate the completed effort.

2. Deliverables

The graded deliverables for this project are summarized in the following table. All are described in greater detail in the assignment descriptions and grading criteria.

Type Basis Description Value
team work product Index of Work Products 2
team work product Work Plan 5
team work product Competitive Research Report 4
team work product Initial Proposed Functionality 4
team work product Initial Concept Presentation 8
team methodology Customer Requirements Gathering 16
team work product Report from User Requirements Gathering 6
team work product Requirements Analysis 8
team work product Product Proposal to Mangement 6
team work product Post Mortem Analysis 8
team methodology Use of Version Control 4
team methodology Planning and Management 4
individual work product Quality of Individual Work 15
individual methodology Share of Work 5
individual methodology Schedule Adherence 5

3. Assignment

For this project you will:

The Product

You may choose any type of product you want, a new product, or an improved version of an existing product. You will not be graded on the type of product you choose ... but you should be aware that some choices are better than others:

WARNING

4.Grading

This is a team project, and most of your individual grades will be determined by the quality of the team's results. This means that all of you should be concerned about the quality of all of the work products. Some of the assigned tasks are intrinsically whole-group activities (review, architectural response, post-mortem). Many others, while in principle doable by one person, will probably have significant input from other team members.

Each major work product should have a primary author, who works up the basic organization and personally writes most of the prose. The author of a work product is expected to gather and synthesize tributary work from other team members. Note, however, that since the whole team will be graded on the quality of each work product, it is only prudent for the entire team to review any high-value work product before it is submitted.

The contributions (e.g. measured in hours) of each team member to each work product should be reflected in the index of work products, as should be the primary author of each work product. To be counted as the primary author, you must have personally written at least 2/3 of the text in the submitted work-product.

In addition to an overall team grade, a portion of each individual's grade will be determined by:

4.1 General Criteria

This project requires the same general project index, plans and post-mortems that are part of every project in this class:

4.2 Project Specific Grade-ables

The project specific grade-ables for this project are:

4.3 Work Product Formats

File Types

I grade for content and not style, and would prefer that you spend your time organizing your thoughts rather than formatting documents. My preferred file type for most work-products is ASCII text (with a reasonable line length).

Some deliverables may be awkward to prepare as ASCII text:

If you prepare these using Microsoft Office tools, you can submit those files as your work-products. If you use other tools:
  1. develop the work-product under subversion.
  2. produce a pdf output of your final version.
  3. check that final version of the output into subversion in a reports directory.
  4. We will use the pdf to grade the work-product, and the subversion history of the original source to grade your use of version control.
The packages you submit for review, and the review report you return to the team whose product you reviewed should be in a directly readable form (e.g. pdf and/or ascii text).

Document Format

I am telling you the criteria on which I will grade submissions. I will not, however, give you samples for most of the work products I expect:

I will, however, suggest a layout for your Index of Work Products. I make an exception here because:

  1. very little creativity goes into this work-product.
  2. a good layout makes projects much easier to grade.

5. Rules and Submissions

When you are done, create a message that includes:

And submit all of these things to me in an e-mail with the subject "cs 121 - Project 1a".

If you will be submitting your project late, please let me know (so that I know I haven't lost your submission message).

Collaboration and Citation

This is a team project, but different individuals will have primary responsibility for different processes or work products (or different parts of a single work product or process). Each team will be working on a different type of product. You are free to talk your team members (and for that matter other teams) about the processes you are following. You may review your work products with your own team members, and revise them based on their feedback ... but ...

  1. If you are the primary author of a work-product, you must cite the source of text you did not write (if it is more than a sentence), or any information that did not originate within your team or from your interviews.

    You will be doing research to develop your product definition and requirements. I expect that many of the ideas for your product will come from this research. Cite all of your sources for each work product, and explain how each source contributed to your work products.

  2. You may not share any of your work products (other than as required for reviews) with members of other teams.