Enterprise Storage Architecture Course Project
Overview
The intent of the course project is to provide deep, hands-on experience with a storage topic interesting to each student. The class will separate into groups of two, with the occasional group of three being permitted on a per-case basis (such groups would naturally be subject to a 50% increase in instructor expectations). The timing and grading weights for the different parts of the projects are given on the course page.Groups will be selecting their own projects by drafting a proposal, subject to instructor approval. To get ideas for projects, several example projects will be presented in lecture early in the course. The proposal will be given in a meeting scheduled outside of class (see course page for the time frame). Groups may need to alter their project (or even abandon it for something else) based on feedback at this stage.
Next, groups will develop an outline describing the exact work that will be done, its timeline, risks and mitigations, etc. Like the proposal, this will be presented in a meeting outside of class, and groups may need to alter their plans based on instructor feedback.
Work will then proceed in depth on the project. Students should aim to have a measurable unit of work ready for presentation during a brief milestone presentation to the class. Again, the instructor will use this opportunity to provide guidance on the trajectory of the project.
Finally, when the project is complete, there will be two forms of deliverable. First, groups will present a final presentation to the rest of the class on their project. All materials relating to the work will be due at this time. Second, groups will schedule an out-of-class final demo to the instructor, which will allow greater depth of discussion.
Each stage of the project will be governed by a "business scenario" -- a situation in a corporate environment that would lead to the deliverable being asked for.
Note: At any stage, the instructor may opt to require resubmission, indicating that enough changes are needed that a second attempt must be made. This is independent of the grade for that stage, as the cause could be quality (submission was incoherent) or content (submission was coherent but the design expressed was infeasible).
The precise requirements for each of the deliverables are described below.
Proposal
The proposal consists of:
- A brief write-up (1-2 pages) that describes the project. This is due Friday before the week of scheduled appointments (see course calendar).
- A 30-minute meeting with the instructor to present and discuss the proposal. In the meeting, a 5-10 minute presentation is expected, followed by discussion.
- What will be built?
- What resources will be needed? If time is needed on your team server or the shared class server, about how much?
- What will be the criteria for success? Be specific.
- What are the major risks and challenges involved?
- Completeness of proposal versus the questions above.
- Clarity of write-up.
- Professionalism of presentation.
Outline
The outline consists of:
- A write-up (3-6 pages) that covers the content of the project in greater detail. This is due Friday before the week of scheduled appointments (see course calendar).
- A 60-minute meeting with the instructor to present and discuss the outline. In the meeting, a 10-15 minute presentation is expected, followed by discussion.
- What changes, if any, were incorporated since the proposal was accepted?
- What is the high-level architecture being built? The most basic design questions should have been answered by this point (e.g. language, platform, algorithm, etc.).
- What is the exact timeline for the project?
- Include the expected deliverables for the milestone presentation.
- Indicate which group member(s) will be responsible for each component.
- Identify the new skills will need to be developed to complete the project, and include the time to learn these skills in the timeline.
- If your team server or the shared class server is being used, include the exact schedule of usage anticipated.
- What will be the criteria for success? Be specific. Expand on what you said in your proposal. Include a high-level description of your test plan, including what kinds of testing is needed (unit, integration, performance, etc.)
- What are the major risks and challenges involved? Expand on what you said in your proposal.
- Successful incorporation of proposal feedback.
- Completeness of the outline versus the questions above.
- Clarity of write-up.
- Professionalism of presentation.
- Feasibility of the presented plan.
- Correct use of the concepts covered thus far in lecture.
Milestone presentation
The milestone presentation consists of a 5-minute presentation to the rest of the class (plus time for Q&A). In addition to the business scenario above, this presentation also services as a "health check" of your project for the instructor. The presentation should answer the following questions:
- What is the project? (Remember, most of the class won't have seen your project yet.)
- Have any major changes been incorporated since the outline was accepted?
- How has progress to date compared to the timeline presented in the outline? Explain any discrepencies.
- What outstanding problems or risks are there? How will they be dealt with?
- Show off something cool.
Grading for this deliverable will be based on:
- Successful incorporation of outline feedback.
- Completeness of the presentation versus the questions above.
- Professionalism of presentation.
- Health of the project overall, including successful completion of the milestone deliverables given in the outline.
- Smoothly staying within the time limit.
- Correct use of the concepts covered thus far in lecture.
Final presentation
The final presentation consists of a 15-minute presentation to the rest of the class (plus time for Q&A). The presentation should answer the following questions:
- What is the project? (in the scenario, you're presenting to a broader audience, so start at the beginning).
- Have any major changes been incorporated since the milestone was presented?
- How did the project proceed compared to the timeline presented in the outline? Explain any discrepencies since the milestone.
- What were the most challenging problems encountered? How were they solved? What limitations still exist in the project?
- SHOW US WHAT YOU GOT.
Grading for this deliverable will be based on:
- Successful incorporation of any milestone feedback.
- Completeness of the presentation versus the questions above.
- Professionalism of presentation.
- Smoothly staying within the time limit.
- Correct use of the concepts covered in lecture.
Final demo
The final demo consists of a 60-minute meeting with the instructor (20 minutes for talk+demo, then interactive Q&A). In this meeting, your project will be put through its paces, code will be inspected, trade-offs will be debated, etc. It can basically be thought of as a defense of your work against scrutiny.
Your demo will occur after your final presentation to the class.
Grading for this deliverable will be based on:
- Completion of objectives laid out in proposal and outline.
- Technical merit.