OOGA : Sprint Progress Presentation
The best presentations come off as effortless. And it’s not because they are spontaneous. Quite the opposite, actually. They are meticulously prepared. — Veronika Riederle, Demodesk
Present your team's progress by creating a video with contributions from the entire team that describes what your team learned about both design and teamwork since starting to implement the project.
Good presentations are practiced, presenting features in a specific order and using specific input values, rather than just capturing a team meeting. You will not have a lot of time to fit in everything asked of you below (see the Resources for tips). A demo is much better if it shows everyone's parts working together as a single program, launched once during the presentation, rather than multiple separate runs.
Submitting your Work
Submit a recording of your team's recorded shared Zoom call in the folder doc/presentationNN
(either 1 or 2 if it is your first or second progress presentation) on the master
branch of the provided, shared ooga_teamNN
repository.
Include any code, images, UML diagrams, or written text, using Markdown, Javadoc or a wiki page on Gitlab. Note, PowerPoint slides are discouraged because they are completely separate from the project and unlikely to be maintained even if they are added to the repository, but here are some tools to convert Markdown to a slide style format.
Specification
Your presentation must be limited to 20 minutes with everyone from your team expected to be present and say something.
Start by showing off the features of your running program:
- run the program from the
master
branch through a planned series of steps/interactions (including showing how bad data or interactions are handled — if any are yet)
NOTE, as each feature is shown, someone on the team should briefly describe how work they did over the past week relates to it
- show any data files that have been created and describe how they are used within your program (focus on the file content rather than the code that uses it)
- show a variety of JUnit or TestFX tests and discuss how comprehensively they cover the feature(s) and why you chose the values used in the tests
Then present your team's design, focusing on the APIs and their behavior instead of implementation decisions and class state:
- describe your current design and framework goals: what is expected to be flexible/open and what is fixed/closed
- provide an overview of the project's modules: what is each responsible for, how does it depend on other modules, what does it encapsulate, and how can new features be plugged in to it
- describe two APIs in detail:
- what service does it provide?
- how does it provide for extension?
- how does it support users (your team mates) to write readable, well design code?
- describe two Use Cases in detail that show off how to use each of the APIs described above
- describe one alternative design considered and what trade-offs led to it not being chosen
Finally present what was learned during this Sprint and the plan for the next Sprint:
- describe how much of the planned features were completed this Sprint and what helped or impeded progress (or if the estimate was just too much)
- describe two specific significant events that occurred this Sprint (one positive and one that caused issues) and what the team learned from each
- describe what worked regarding your teamwork and communication, what did not, and something specific that is planned for improvement next Sprint
- what features are planned to be completed during the next Sprint (taking into account what was, or was not, done this Sprint), who will work on each feature, and any concerns that may complicate the plan
Resources
Giving demos is a skill you can work on!
The most important thing is to plan your presentation and practice giving it (rather than winging it)! Beyond that, here are some slides and exemplary professional demos to help you choose how to present your content:
- Slides with DOs and DONTs advice from my project course last semester
- 7 Tips for Pulling Off a Great Demo Presentation from Lifesize
- 20 Outstanding Examples of Software Demos with explanations and tips (at the bottom)
- Older, longer, classic demos:
- Introduction to the Wolfram Language, Stephen Wolfram, 2014
- Original iPhone demo, Steve Jobs, Apple 2007
- The Mother of All Demos, Douglas Engelbart, Xerox PARC demo 1968 and its lasting impact
- Sketchpad demo, Ivan Sutherland, MIT PhD Thesis demo 1963 (the first interactive graphics program, non-procedural programming language, and object oriented software system)