Assignments

The reports and presentations are group assignments corresponding to major project milestones. The first assignment is a report. The other three assignments consist of both a presentation and a report or other documentation.

With each assignment there is a survey to be completed individually. See the Surveys page for more information. It is important that everybody completes each survey and submits it on time. The course team uses the surveys to monitor the progress of the projects and to understand the contributions made by each member of the team.

Presentations

During the semester each team will give three presentations with associated reports on the work completed. You will make a 45 minute presentation to the client, the Instructor and the Teaching Assistant assigned to your project.  Everybody is expected to be a presenter at least once. 

You should sign up for a presentation time slot as early as possible. The available time slots for the presentation are posted on the followng pages, with instructions on how to schedule a time slot for your presentation.

It is your responsibility to ensure that the client is available at the time you schedule. The room will be provided with a computer projector and Internet connection. 

See A3. Presentations for advice on how to prepare for your presentations. Before the first presentation, there will be a discussion in class of the goals of the presentations and how to prepare for them.

Reports

All members of the project team should share in the production of the reports. When you have completed a report, (a) deliver it to the client, (b) send it by email to the Instructor and Teaching Assistant, (b) enter it into GForge or another software project system, for future reference.

Reports for Milestones 2 and 3

The report for each milestone should include:

  • Review of progress since the previous milestone
  • Revised schedule and plan for the remainder of the project
  • Preliminary versions of the documentation for those parts of the project that have been worked up to the current milestone

In writing each report, pay particular attention to the following:

  • The report must be understandable by the client.
  • The requirements must be the client's, not your own concepts, and must be specified in sufficient detail to test against the implementation.
  • Design concepts must be clearly separated from requirements.
  • The design should include both system and program design.
  • Requirements may be partitioned into those that must be met by the first release and those that are optional.

Here are some examples of reports from earlier classes. They are very different in style, but each provides a good example of an effective report. They are placed here with the permission of the student teams.

Assignment 1 (Feasibility Study)

The deliverables for Assignment 1 are:

  • A written Feasibility Study and Plan (group assignment)
  • Survey 1 (individual assignment)

Feasibility Report

The exact form of the feasibility study is up to you. The length of the report is likely to be between five and ten pages. It should include the following:

  • The client for whom the work will be done.
  • List of team members and email addresses.
  • A statement of the task to be undertaken. A preliminary requirements analysis.
  • Suggested deliverables.
  • Process to be followed, e.g., modified waterfall model, iterative refinement, incremental development, phased development, etc.
  • Outline plan, showing principal activities and milestones.
  • Visibility plan.  How will you keep in contact with the client and report progress?  How will you communicate among your team?
  • Discussion of business considerations (see the Projects pages on the Web site). 
  • Risk analysis. What can go wrong? What is your fallback plan?
  • Probable technical requirements

Here are some example of reports from earlier classes. They are very different in style, but each provides a good example of an effective report. They are placed here with the permission of the student teams.

Assignment 2 (Milestone 2)

The purpose of Assignment 2 is to describe to your client and the course team the progress up to Milestone 2. The deliverables for Assignment 2 are:

  • Presentation on Milestone 2 (group assignment)
  • Report on Milestone 2 (group assignment)
  • Survey 2 (individual assignment)

If the team is following an iterative process Milestone 2 is likely to include a first set of requirements, a provisional design, and a prototype that can be used to demonstrate the functionality of the system. If the team is following a sequential development process, Milestone 2 should include completion of the requirements phase and preliminary design work.

Assignment 3 (Milestone 3)

The purpose of Assignment 3 is to describe to your client and the course team the progress up to Milestone 3. The deliverables for Assignment 3 are:

  • Presentation on Milestone 3 (group assignment)
  • Report on Milestone 3 (group assignment)
  • Survey 3 (individual assignment)

If the team is following an iterative process Assignment 3 should mark a major milestone when you can report visible progress to your client.  If you are following a sequential process, this milestone will include the completion of the design phase and significant progress in the implementation.

Assignment 4 (Demonstration and Final Delivery)

Assignment 4 consists of a presentation in which you will demonstrate your system in operation followed by the handover of the completed system and documentation to the client. The deliverables for Assignment 4 are:

  • Presentation and demonstration of the completed system(group assignment)
  • Short report (group assignment)
  • Delivery of system to the client (group assignment)
  • Survey 4 (individual assignment)

Final Handover of the Project

During the semester you will be developing a set of materials that will be the handover package for your project. Because every project is different, the exact content of the package is up to you, but it should be carefully edited and suitable for handover to your client.  The final package is likely to include some or all of the following:

  • A feasibility study
  • Requirements analysis and specification
  • System and program design
  • User interface design and testing
  • Test plan, test examples, and results
  • Source and binary code
  • Either transfer of the rights in the system to the client or an unrestricted license for the client (see the Projects pages on the Web site).