CSC 402 Milestone 1

CSC 402 Milestone 1


Due: Presentations given 2-4PM on Friday 23 September; team membership and job selection are due in-person to Fisher, some time during week 1 lab; checkout of SVN repository due by 7PM Monday 26 September.

Task 1 -- Choose Membership in One or More Teams

The following is an first-pass version of a team structure for 402.

PHASE 1, WEEKS 1 - 5:

  Requirements (5 to 6 members)
    One 402 student per each of five 308 teams
    Non-functional requirements specialist
    Among those six, one overall team lead who may also do non-functionals

  Prototyping (6 to 8 members)
    One or two on databases
    One or two on algorithm and other functionality
    Two on desktop UI
    Two on web UI
    Among these 6 to 8, one overall team lead

  Infrastructure (4 to 6 members)
    One or half SVN repo manager
    One or half Public website/wiki manager and moderator
    One on Marketing
    One or zero on Aesthetics
    One on Maintenance plan, coordinating individual contributions
    One on QA and usability, including annoyingsoftware.org

  TOTAL: 16 to 21 members

PHASE 2, WEEKS 6 - 11:
  Make adjustments as necessary to Phase 1 team structure.
  Assign a modeling lead, who coordinates individual contribs to the model

We will disucss the organization, refine it, and assign people to it during the first week of the quarter. Your deliverable for this milestone is made concrete by the addition of your name to the org chart in Task 2.

Task 2 -- Place Yourself in the Org Chart

A more concrete view of the 402 team structure is embodied in the following proposed org chart:

Executive Project Supervisor: Fisher

  Technical Staff:
    Requirements Engineers:
      Instructor DB: fill in name here
      Course DB: fill in name here
      Room DB: fill in name here
      Prefs DB: fill in name here
      Algorithm and Editing: fill in name here
      Views: fill in name(s) here
      Campus interface and archiving: fill in name here

    Prototypes:
      Instructor DB: fill in name here
      Course DB: fill in name here
      Room DB: fill in name here
      Prefs DB: fill in name here
      Algorithm and Editing: fill in name here
      Views: fill in name(s) here
      Campus interface and archiving: fill in name here

    Modelers:
      Add exceptions list

    Infrastructure Specialists:
      SVN repository manager: fill in name here
      Public website and wiki manager: fill in name here
      Maintenance planner: fill in name here
      Marketing: fill in name here
      Aesthetics/egonomics specialist: fill in name here
      annoyingsoftware.org: fill in name here

    Apprentice-Level Independent Subcontractors (aka, 308 students):
      Team 1: fill in names here ...
      Team 2: fill in names here ...
      Team 3: fill in names here ...
      Team 4: fill in names here ...
      Team 5: fill in names here ...

  Administrative Staff:
    Project manager: fill in name here
    Product manager:  fill in name here
    Requirements lead: fill in name here
    Prototyping lead: fill in name here
    Modeling lead: fill in name here
    308 Team Coordinators:
      Team 1: fill in name here
      Team 2: fill in name here
      Team 3: fill in name here
      Team 4: fill in name here
      Team 5: fill in name here

  Clients:
    College X:
      Department Y:
        fill in names here ...

  Other Interested Parties:
    Campus Registrar's Office:
      Susan Olivas
        fill in further names here ...

In contrast to how 308 was run, there are two criteria for choosing what to work on in 402:

  1. You want to do it

  2. You're good at it

There may of course be some tasks that no one wants to do, which means that you may not fully satisfy the "want to do it" criterion.

Regarding the "good at it" criterion, it is not a requirement for your selecting a particular job. That is, you may not know much or anything about a particular job, but you would like to learn. That is entirely reasonable for 402.

Those things said, I would like to be able to satisfy both of these criteria for as many of the jobs as possible. That is, we have jobs staffed by folks who both want to do the job, and they're good at it. In my experience, this is an important key to success in a project.

Task 3 -- Write Your Job Description(s)

For the jobs that you chose in Task 3, write its job description. This is a one paragraph summary of the specific tasks that you will perform in that job. Commit the description to the project repository, in the administration/job-descriptions directory.

Task 4 -- Choose One past Scheduler Project requirements document to Review

Given below is a list of past 308 scheduler requirements to review. You will give a 4.5 minute presentation of your review on Friday, 30 September. The review should address the following points:

  1. How well do the requirements cover the core features listed in the 308/402 project description ? Use a simple A-F grading scale.

  2. Are there any features that the requirements do a particularly good job of? If so, describe what's good about them briefly.

  3. Are there any features that the requirements do a particularly bad job of? If so, describe what's good about them briefly.

  4. Are there any core features that are missing? If so, what are they.

  5. Are there any other stand-out aspects to the requirements?

  6. Overall, rate the requirements, on a A-F grading scale.

Here is the list of projects to review:

The full list of online links is here: http://users.csc.calpoly.edu/~gfisher/classes-archive/