In the Schedule you will notice days designated as team project milestones. These are opportunities for your group to demonstrate progress on your team project.

This document describes the expectations for each milestone.

Date Milestone
Monday, March 19 Milestone 1: Minimal Working System
Friday, April 6 Milestone 2: Progress on Features
Monday, April 16 Milestone 3: “75%” Working System (persistence using SQL database)
Wednesday, May 2 Milestone 4: “95%” Working System (presentation & demo “dry run”)

Expectations

Each milestone will be a formal presentation, where your team should be assembling a collection of 5-10 PowerPoint slides, along with a demonstration of your working code, and a run of the complete set of test cases that you have developed to that point. Bear in mind that it is acceptable for some of your test cases to fail, as you will not have implemented all of your code - at least for the first 4 milestones.

Slides to consider (you may include others, as you see fit):

Milestone 1: Minimal Working System. Your team should demonstrate

The idea of a minimal working system is to create a working foundation early in the project’s development. Subsequent iterations of the development process will build upon this foundation to implement additional features.

NOTE: In order to hit the first milestone, and place your team in a good position to achieve success, you should consider putting in a good deal of initial development work on your web front-end over Winter Break.

Milestone 2: Progress on features. In this milestone, your team should demonstrate some progress on features, such that at least some use cases are fully or partially implemented. It is fine if your system is using the “fake” database at this point.

Milestone 3: “75%” Working System, Persistence using SQL database. Your team should demonstrate a working system that implements most of the major system requirements. Also, Your team should demonstrate that there is a working implementation of the persistence interface that uses an SQL database to store and retrieve data (e.g., using Derby). Note that it is not expected that the system has a high degree of “polish”: the UI doesn’t have to be beautiful, for example. However, the features that are implemented should be functional and free of bugs.

Milestone 4: “95%” Working System. Your team should demonstrate a working system that is nearly complete. Nearly all of the required features should be implemented. The system should have a reasonable degree of “polish”. Your team should be prepared to discuss what remains in order to reach a point where the system is complete. Your presentation should be a condensed “dry run” of your final presentation, with a degree of structure and polish that is closer to the formal presentation that your team will give for its final demonstration. The presentation for MS4 should include the following:

Evaluation

For each of these milestones, I will give your team one of the following grades: below expectations, meets expectations, or exceeds expectations. Below expectations means that I am concerned that your team is not making sufficient progress. At all 4 milestones, I expect that there will be sufficient effort put towards automated unit test case development.

DO NOT LEAVE TEST CASES AS AN AFTER-THOUGHT. YOUR TEAM WILL RECEIVE "BELOW EXPECTATIONS" IF YOU DO NOT HAVE SUFFICIENT TEST CASES DEVELOPED FOR EACH MILESTONE.