Project+Planning

Each team should copy into the information below in their wiki pages, and edit to keep an up to date project plan. Add tasks and products as needed. Teams will present a short progress review to the class on the dates for steps 1-4, as well as a comprehensive 15 minute presentation and demonstration of their project on the dates for steps 5 and 6. The final presentation 6 will be to a panel of people including Dean Rob Clark.

Start working quickly; it is fine to run ahead of schedule, but dangerous to run behind schedule. There will be no extensions beyond the last day of class on Dec 13.
 * 1. Specification || Nov 1 ||
 * 2. Detailed Design || Nov 8 ||
 * 3. Alpha Release || Nov 15 ||
 * 4. Beta Release || Nov 22 ||
 * 5. Production Release || Dec 6 ||
 * 6. Customer Evaluation || Dec 13 ||

1. Specification
Concept: clearly describe the purpose and function of the system. Storyboards: illustrate how system will work and appear. Architecture: specify Bill of materials: determine added materials needed (if any) and obtain them. The budget for materials should not exceed $100. You may need to use recycled rather than new parts. Shop wisely, prices for small parts can vary wildly.
 * hardware and software modules
 * box and arrow diagram showing flowing of control and data between modules
 * description of the control and data for each arrow in the diagram


 * Tasks**
 * Task || People || Deadline || Status ||
 * Architecture ||  ||   ||   ||
 * Storyboard ||  ||   ||   ||
 * Concept ||  ||   ||   ||
 * Bill ||  ||   ||   ||
 * Products**
 * document || initial project plan (all sections) ||
 * " || concept writeup ||
 * " || storyboards ||
 * " || architecture writeup ||
 * " || bill of materials ||

2. Detailed Design
API: define the function headers and data structures shared between modules. Code skeleton: created commented code skeleton. Use "stubs" for bodies of functions that have not been finished. It should be possible to run the skeleton. Prototype modules: implement prototype versions of all modules that are novel or challenging.


 * Tasks**
 * Task || People || Deadline || Status ||
 * Products**
 * document || API ||
 * hardware || prototypes of ... ||
 * software || prototypes of ... ||
 * software || code skeleton ||
 * document || API ||
 * hardware || prototypes of ... ||
 * software || prototypes of ... ||
 * software || code skeleton ||

3. Alpha Release
Create an end-to-end working version of the system. Initiate alpha tests.


 * Tasks**
 * Task || People || Deadline || Status ||
 * Products**
 * document ||  ||
 * hardware || alpha hardware ||
 * software || alpha software ||
 * Products**
 * document ||  ||
 * hardware || alpha hardware ||
 * software || alpha software ||

4. Beta Release
Complete alpha testing: find bugs, missing functionality, and unneeded functionality. Redesign review: given time constraints, determine what will be fixed, added to, or eliminated from the system. Beta release: based on redesign review, implement changes to system in order to create the beta release. Draft the user guide.


 * Tasks**
 * Task || People || Deadline || Status ||
 * Products**
 * document || redesign review writeup ||
 * hardware || beta hardware ||
 * software || beta software ||
 * documentation || draft user guide ||
 * document || redesign review writeup ||
 * hardware || beta hardware ||
 * software || beta software ||
 * documentation || draft user guide ||

5. Production Release
Beta testing: find and fix bugs. Production release: implement final version of system. User guide: revise and publish complete user guide.


 * Tasks**
 * Task || People || Deadline || Status ||
 * Products**
 * document ||  ||
 * hardware || production hardware ||
 * software || production software ||
 * documentation || user guide ||
 * document ||  ||
 * hardware || production hardware ||
 * software || production software ||
 * documentation || user guide ||

6. Customer Evaluation
Give a project presentation that convinces the audience of the project's technical ingenuity, artistic merit, and/or commercial potential.


 * Tasks**
 * Task || People || Deadline || Status ||
 * Products**
 * document || presentation materials ||
 * Products**
 * document || presentation materials ||
 * Products**
 * document || presentation materials ||