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. See the Assignment Schedule for actual due dates.

Assignment Milestone
Assignment 3a Milestone 1: Minimal Working System (Basic navigation)
Assignment 3b Milestone 2: Progress on Features (interaction with fake database)
Assignment 3c Milestone 3: 75% Working System (operational persistent SQL database)
Assignment 8a Final Technical Report - submit in PDF form to Marmoset
Assignment 8b Final Presentation & Demo, during final exam period

General Milestone 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 three (3) milestones above.

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

Following your slide presentation:

Specfic Milestone Expectations

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: Please assign your instructor as a contributor to your main Team Project Repository on GitHub, and email a link to your Repository to your instructor, BEFORE your Milestone 1 presentation.

NOTE: In order to hit the first milestone, and place your team in a good position to achieve success, you will need to put in a good deal of initial development work on your web front-end navigation before and 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 still using the “fake” database at this point. For this milestone, if you want to persist user-entered data between your UI and your server, consider using the HTTP Session for that.

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. Make sure to include the following slide in your presentation (in addition to your other slides):

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 3 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.