Product Delivery [Practice]
You will present to your advisor or instructor. Your presentation should last between 20 and 25 minutes, with an additional 5 to 10 minutes allocated for Q&A. This may occur throughout your presentation. Be prepared for questions that may require you to demonstrate certain features of your application live.
Please note:
- You must use the deployed application for the demonstration.
- Use slides or other visuals to supplement the presentation.
- All team members must participate, taking turns to present various sections.
Please structure your presentation as follows.
What does your application do? [10-15 minutes]
Begin by refreshing our memory about your project and the problem it solves. Then, list four to five user stories that you've implemented. For each user story, provide a live demo of your deployed app where the user story comes to life.
Please bear in mind:
- A live demo is required (avoid using slides, screenshots, etc.)
- Don't spend time on basic features like user signup or login, unless they're central to your app.
- Strategize and prioritize: we're interested in seeing a demo of the key "must-have" features that set your app apart.
- Show us that you've accomplished what you intended to do, and sprinkle in features that impress us.
- Each team member should present a short (2-3 minutes) demo focused on one user story.
- Make sure your demo works flawlessly; rehearse it beforehand!
- All team members should work with the deployed application. However, also keep the app running locally on your computer (each team member should do this) as a backup in case the deployed app encounters issues during the demo.
How does your application function? [7-12 minutes]
This section delves into the technical aspects of your application: design, architecture, code, backend, frontend, technology, APIs, databases, algorithms, and so forth.
- You must include a slideshow for this section.
- Begin by describing the high-level architecture, especially the frameworks and databases used.
- Then, provide a high-level overview of the design, preferably using diagrams (UML, ERD, Flowcharts, etc.). Avoid showing a cluttered diagram of all classes in your application. Instead, focus on the most interesting sections of the design, particularly the critical, core, and unique aspects of your application.
- Discuss some of the complex algorithms or technologies, tools, etc., that you have implemented (there's no need to display the actual code).
- Explain how you tested your application (make sure to include a screenshot of code coverage).
- The presentation should be divided into sections, each handled by a different group member.
Rubric (35 points)
Advisors: If any team members are absent without an advanced excuse, please give those individuals (not the team) a score of zero for this activity!
[-10]
The team failed to provide a live demo.[-5]
The team used a locally running version of the app for the live demo, not the deployed app (unless an issue beyond their control occurred, e.g., Heroku is down).[-5]
During the live demo, the app crashed, stopped working, or did not behave as expected on more than one occasion due to poor preparation.[-3]
The team presented use-cases that were too simple during the demo (e.g., user signup or login/logout).[-5]
The team presented fewer than four user stories during the demo (unless that's all they have, or some use cases were complex and time-consuming).[-3]
The team failed to show at least one user story that captures a unique feature of the app during the demo.[-2]
The team failed to promptly follow instructions when asked to carry out a use case during the demo.[-3]
The speaker was unable to answer or elaborate on clarifying questions during the demo, or failed to demonstrate full knowledge of the work done.[-8]
The team failed to use slides or other visual aids during the presentation.[-2]
The team failed to clearly state the high-level software architecture and technology stack used for this project.[-2]
The team failed to succinctly describe the high-level design of the software.[-3]
The diagrams (e.g., UML, wireframes) were absent or inconsistent with the narrative.[-5]
The speaker was unable to provide a credible justification for design choices or articulate the strengths and weaknesses when asked.[-5]
The team failed to describe noteworthy details such as libraries, third-party APIs, algorithms, data structures used, at a level appropriate for the audience and the time frame of the presentation.[-5]
The technical information was presented at an inappropriate level of detail. The delivery was not smooth (e.g., slides were not logically ordered, constant pausing was required).[-2]
The delivery failed to hold the audience's attention. The speakers lacked enthusiasm.[-5]
The presentation was not well-organized. The transition from speaker to speaker was not smooth.[-5]
The audience had difficulty understanding the demo on more than one occasion due to lack of preparation.[-3]
Only one or two members did most of the talking; the section was not evenly divided among group members.[-3]
The presentation exceeded the time allotment.