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:

  1. You must use the deployed application for the demonstration.
  2. Use slides or other visuals to supplement the presentation.
  3. 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.