-
Notifications
You must be signed in to change notification settings - Fork 0
Final Demo Reflections
Team reflections written shortly after the Final Milestone demo. Linked from §4.7 of Final Milestone Deliverables. For the during-demo record (timeline, questions, instructor feedback, action items) see Final Demo Notes. Owning issue: #421
Date of demo: 13 May 2026, Wednesday, 15:00 – 16:00
The Final Milestone demo took place on 13 May 2026, with the full team present. The reception of the product itself was warm — the instructor responded positively to the social-feed and in-app messaging features, and the recommendation / matching, task, meeting, milestone, and progress-timeline ideas were all received well. The technical surface, in other words, was not the problem.
The problem was how we presented it. The demo scenario was revised shortly before the session, the team had not rehearsed the revised scenario end-to-end, and the live walkthrough ran over the allotted time. Several substantial features that we had shipped — the admin panel, the moderation and banning flows, the end-mentorship flow, the full task-assignment loop, and chat file attachments — never got on screen.
Below are the reflections the team agreed on afterwards.
- The product itself was demo-able. Every feature the team showed worked on the live deployment. No on-stage crashes, no failed network calls visible to the audience, no broken state requiring a refresh-and-retry.
- Cross-platform parity was visible. Burak's mobile walkthrough of the feed, matching, and profile flows mirrored what the web client did, and the instructor could see at a glance that the team shipped both clients rather than just one.
- The high-level questions were handled cleanly. When the instructor asked about the progress timeline, the recommendation logic, and the social-feed interaction model, the team gave coherent answers that traced from the user-visible behaviour down to the architectural choice (timeline as a unified aggregate of meetings + milestones + tasks; recommendation as a layered ranker; feed interactions as event-driven with AFTER_COMMIT fanout). No hand-waving.
- The feedback we received was specific. "The social feed and messaging are appreciated", "the Explore tab could have been demonstrated more clearly", "the recommendation idea is acceptable" — these are concrete, actionable signals rather than a generic verdict.
- Insufficient planning of the demo itself. The team revised the demo scenario shortly before the session, which left no time for an end-to-end rehearsal against the revised flow. The original Final Demo Plan was not what we actually performed, so the spoken narrative had to be improvised in real time.
- Insufficient communication among the presenters about the new scenario. Because the revised plan was assembled close to demo time, the four presenters did not have a shared understanding of the order, the hand-offs, or who would cover which feature. We discovered the seams of the revised flow on stage, in front of the customer.
- We did not role-play the demo in advance. A single end-to-end dry-run with one person playing the instructor's role — asking the obvious questions, watching the clock, flagging features that ran long — would have caught both the time over-run and the features that ended up not getting shown. We have done this in earlier milestones and it helps; we skipped it this time and it cost us.
- The demo exceeded the planned time limit. This is the surface symptom of the three points above. The over-run reduced the impact of the features we did show (the audience was visibly losing attention by the end) and meant that several shipped features had no opportunity to be presented.
- Several shipped features were left out of the live presentation. Admin panel, banning / moderation flows, end-mentorship flow, full task-assignment loop, file attachments. These are real features that exist on the deployed system. The screenshot evidence is preserved in §4.4 of the Final Milestone Report so the work is not lost, but a live demo where the customer can see those flows working in context is more valuable than a still image after the fact.
The five points above collapse into three lessons we want to carry forward:
-
Planning the demo is at least as important as planning the implementation. A working product is a precondition for a successful demo, not a substitute for one. The scenario, the spoken narrative, the order of features, and the time budget all need to be designed and tested in advance — not improvised an hour before the session.
-
Role-play and rehearse end-to-end before the customer sees it. The earlier-milestone discipline of doing a full dry-run with one teammate playing the instructor's role caught problems we then never saw in front of the actual customer. We dropped that discipline for the Final Milestone and the consequences were visible. The takeaway is mechanical: at every future demo, no matter how stable the product, the team runs the entire scenario end-to-end at least once with someone playing the audience role and someone watching the clock.
-
Constant communication and constant feedback are how a team avoids on-stage surprises. The late scenario revision, the lack of a shared understanding of the revised flow, and the late discovery that we were running long are all consequences of decisions being made by individuals rather than by the team. Specifically: if the scenario changes, the whole team needs to know within the same day, not the same hour; if a feature is at risk of being cut from the demo, the whole team needs to know in time to rearrange the order; if we're running long, the presenter needs to know in the moment, not after. This is fundamentally a process discipline problem, not a product problem, and it requires deliberate practice: short daily stand-ups close to a demo, a shared scenario document the whole team reads, and a designated time-keeper during the demo itself.
See the published course schedule "CMPE 354 Milestones with Customer Demos — 2026 Fall" for context: the customer-demo format is the same one we used for Lab 7 (MVP demo) and the Final Milestone demo. Earlier in the term we had clean dry-runs and rehearsals; we know the format and we know what works. The Final Milestone demo's shortfall was a process regression, not a structural mismatch with the course format.
- Bake an end-to-end dry-run into every future demo plan as a non-skippable step — minimum one full run-through with role-played audience plus a designated time-keeper.
- Maintain a single living "demo scenario" document for each demo, owned by one person, that the entire team has reviewed and signed off on before the demo day.
- When the scenario has to change late, freeze it at least 24 hours before the demo and re-run the dry-run. If 24 hours is impossible, do not change the scenario — fall back to the previously rehearsed one.
- Prepare a documented "long path" and a "short path" demo flow in advance so a presenter who is running long can switch paths cleanly rather than rushing the remainder.
- Capture screenshot / short-video evidence for every shipped feature before the demo so anything that gets cut still has a tangible artefact for the customer to review afterwards (this is the role §4.4 now plays for the Final Milestone).
- Establish a recurring (e.g. every two days in the demo-week) short check-in for the presenters specifically — separate from the broader team stand-up — to surface concerns about the demo while there is still time to act on them.
The Final Milestone demo was a presentation problem, not a product problem, and the team agrees that the lessons are about process discipline: planning the demo, communicating about the demo, rehearsing the demo, and watching the clock during the demo. The product itself — the social feed, the recommendation surface, the mentorship lifecycle, the messaging surface, the admin panel, the deployment story — is solid, deployed, and demonstrable end-to-end. The job for any future presentation is to give that product the structured stage time it deserves.
Team Members
- Lab 1 Report (12/02/2026)
- Lab 2 Report (19/02/2026)
- Lab 3 Report (26/02/2026)
- Lab 4 Report (05/03/2026)
- Lab 5 Report (12/03/2026)
- Lab 6 Report (26/03/2026)
- Lab 7 Report (02/04/2026)
- Lab 8 Report (18/04/2026)
- Lab 9 Report (30/04/2026)
- Lab 10 Report (07/05/2026)
- Weekly Meeting Notes Template
- Lab Meeting 1 (12.02.2026)
- Weekly Meeting 1 (16.02.2026)
- Weekly Meeting 2 (24.02.2026)
- Weekly Meeting 3 (04.03.2026)
- Weekly Meeting 4 (11.03.2026)
- Weekly Meeting 5 (23.03.2026)
- Weekly Meeting 6 (29.03.2026)
- Weekly Meeting 7 (11.04.2026)
- Weekly Meeting 8 (28.04.2026)
- Weekly Meeting 9 (10.05.2026)
- Use Case Diagram 1 (New Mentor User for Mobile Scenario)
- Use Case Diagram 2 (Mentor-Mentee Matching Scenario)
- Use Case Diagram 3 (New Mentee User Scenario)
- Final Use Case Diagram
- MVP Use Case Diagram
- All Sequence Diagrams
- Sequence Diagram: Mentee Matching
- Sequence Diagram: Mentor Matching
- Sequence Diagram: Mentorship Management
- Sequence Diagram: Registration
- Sequence Diagram: Cancelling Mentorship Relationship and Auto Ban
- Sequence Diagram: Login-Logout
- Sequence Diagram: Reporting-User
- Sequence Diagram: Mentor Profile Management
- MVP Sequence Diagrams
- Test Plan & Coverage (MVP)
- Acceptance Testing Strategy
- Acceptance Tests
- Test Data Strategy
- Web Frontend Test Report
- Amin Abu-Hilga
- Övgü Su Afşar
- Muhammet Sami Çakmak
- Beratcan Doğan
- İbrahim Kayan
- Burak Ögüt
- Mehmet Bora Sarıoğlu
- Future Work (reference, not a deliverable)