CMU597: Industry Project - Lecture 10
Presentation Sprint 1
Part A: Technical Presentations | Part B: Demo Script
James Williams
Birmingham Newman University
jwilliams@staff.newman.ac.uk
3-hour session • 2 parts • 2 team tasks
Session Timeline
Part A: Structuring a Technical Presentation (90 minutes)
30 minutes: Lecture on presentation structure and storytelling
45 minutes: Task 1 - Create presentation outline
15 minutes: Break
Part B: Presentation Outline + Demo Script (90 minutes)
30 minutes: Demo best practices and scripting
45 minutes: Task 2 - Write demo script and practice
15 minutes: Peer feedback
Learning Objectives
- Structure an effective technical presentation
- Explain technical decisions to different audiences
- Create compelling narratives about your project
- Design and practice effective demos
- Present architecture and tech stack decisions
- Communicate project impact and value
- Handle questions confidently
- Work within time constraints (10-15 minutes)
Final Presentation Requirements
Format: 10-15 minute team presentation + 5 min Q&A
Must Include:
- Problem & Solution: What problem did you solve?
- Technical Approach: Architecture, tech stack, key decisions
- Live Demo: Show working features
- Challenges & Solutions: What was hard? How did you solve it?
- Team Collaboration: How did you work together?
- Impact: Who benefits and how?
Not just code walkthrough! Tell a story about problem-solving.
Recommended Presentation Structure
- Hook (1 min): Start with compelling problem or demo teaser
- Problem (2 min): What problem exists? Who has it?
- Solution Overview (2 min): What you built and why
- Technical Deep-Dive (3-4 min): Architecture, tech stack, key decisions
- Live Demo (3-4 min): Show it working
- Challenges (2 min): Hardest parts and how you overcame them
- Team & Process (1 min): How you collaborated
- Conclusion (1 min): Impact, future work, lessons learned
Total: 15 minutes (leave 5 min for Q&A)
Starting Strong: The Hook
First 30 seconds determine engagement! Grab attention immediately.
Hook Strategies:
1. Problem Statement
"Every year, students waste 5+ hours searching for available study spaces. We solved
this."
2. Surprising Stat
"70% of campus study rooms sit empty while students can't find space. Why?"
3. Demo Teaser
"In 30 seconds, I'll show you how to book a study room. Watch this."
4. Story/Scenario
"It's exam week. Sarah needs a quiet space. Every room seems taken. What if there was a
better way?"
Explaining Technical Decisions
Structure: What → Why → Impact
❌ Too Technical:
"We used PostgreSQL with Sequelize ORM, implementing a normalized schema with foreign key
constraints and btree indexes on frequently queried columns..."
✓ Balanced:
"We chose PostgreSQL because we needed reliable transactions to prevent double-booking.
If two students book the same room at the exact same time, the database ensures only one
succeeds."
Framework:
- Decision: We chose X
- Rationale: Because Y problem/requirement
- Impact: This ensures Z benefit
Presenting Your Architecture
Use a simple diagram - Don't show every function and class!
Good Architecture Slide:
"Our system has three main components:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ React │ ───▶ │ Express │ ───▶ │ PostgreSQL │
│ Frontend │ │ Backend │ │ Database │
└─────────────┘ └─────────────┘ └─────────────┘
The React frontend provides the user interface,
the Express backend handles bookings and authentication,
and PostgreSQL stores all data reliably."
Then explain WHY this architecture: "This client-server architecture lets us update
the UI without changing backend logic, and vice versa."
Presenting Your Tech Stack
Good Tech Stack Slide:
| Frontend: |
React with TypeScript - Type safety reduces bugs |
| Backend: |
Node.js + Express - Fast, team experience |
| Database: |
PostgreSQL - ACID transactions prevent conflicts |
| Cloud: |
Heroku - Simple deployment, free tier |
Don't just list! Briefly explain WHY you chose each technology.
Presenting Challenges & Solutions
Challenges show problem-solving! Don't hide difficulties.
Structure:
- Challenge: What went wrong or was difficult?
- Impact: Why was this a problem?
- Solution: How did you solve it?
- Outcome: What did you learn?
Example:
"Challenge: Two students could book the same room simultaneously.
Impact: Created booking conflicts and user frustration.
Solution: We implemented database transactions with row-level locking.
Outcome: Zero double-bookings in testing with 100 concurrent
users."
Showing Team Collaboration
What to Highlight:
- Role Distribution: Who did what (frontend, backend, design)
- Agile Process: Sprints, retrospectives, how you improved
- Collaboration Tools: Git workflow, code reviews, standups
- Overcoming Team Challenges: How you resolved conflicts
Example Slide:
Team: Tom (Frontend), Bob (Backend), Charlie (Database & DevOps)
Process: 2-week sprints, daily standups, code reviews on all PRs
Key Learning: Improved from 12 story points/sprint to 18 by Sprint 3
Effective Slide Design
❌ Avoid:
- Walls of text
- Tiny font sizes
- Too much code
- Unreadable diagrams
- Distracting animations
✓ Do:
- One idea per slide
- Large, readable fonts
- Visuals > text
- Simple diagrams
- Consistent style
Rule of thumb: If you can't read it from back of room, font is too small!
Task 1: Create Presentation Outline
Instructions (Work in your project teams):
- Brainstorm Content (10 min):
- What's most impressive about your project?
- What technical decisions are you proud of?
- What challenges did you overcome?
- Structure Outline (15 min):
- Use recommended structure (Hook → Problem → Solution → Technical → Demo → Challenges
→ Team → Conclusion)
- Assign time to each section (total 15 min)
- Decide who presents what
- Draft Slides List (15 min):
- Write slide titles (aim for 10-15 slides)
- Bullet main points for each slide
- Identify where diagrams/screenshots needed
- Review & Refine (5 min):
- Does it tell a clear story?
- Too technical or too simple?
Time: 45 minutes
Deliverable: Presentation outline with slide list and speaker assignments
Break Time
15 Minutes
Take a break. Next: Demo scripting and practice!
Part B: Demo Script Development
Part B: Creating Your Demo Script
The demo is the MOST IMPORTANT part of your presentation!
Demo Goals:
- Show your system actually works (not just slides)
- Demonstrate key features
- Tell a user story
- Stay within time limit (3-4 minutes)
- Handle failures gracefully
Demo Best Practices
✓ Do:
- Tell a story: "As a student looking for space..."
- Use realistic data: Real names, not "test test test"
- Show user value: Focus on what users see, not code
- Rehearse multiple times: Smooth, confident delivery
- Have backup: Screenshots or video if live demo fails
✗ Don't:
- Show code: Unless absolutely necessary
- Navigate menus aimlessly: Know exactly where to click
- Explain obvious things: "Here's a button..."
- Go over time: Cut features if needed
Demo Script Structure
Script Template:
- Setup (15 sec):
- "I'm going to show you how a student finds and books a study room."
- Feature 1 (60 sec):
- What: "First, I search for available spaces"
- Action: [Type "Library", select capacity 4]
- Result: "The system shows 3 available rooms with real-time status"
- Feature 2 (60 sec):
- What: "Now I book Room 204"
- Action: [Click book, select time]
- Result: "I get instant confirmation with booking details"
- Feature 3 (60 sec):
- Highlight unique/impressive feature
- Wrap-up (15 sec):
- "And that's how students save time finding study spaces."
When Demos Fail (Murphy's Law!)
"Demo Hell": If it can go wrong during a demo, it will!
Mitigation Strategies:
- Test beforehand: Run through demo 30 min before
- Have backups: Screenshots, screen recording video
- Offline mode: Use localhost, not relying on WiFi/internet
- Pre-populate data: Don't create test accounts during demo
- Stay calm: If it breaks, switch to backup immediately
Actual Failure: "Looks like the WiFi isn't cooperating. Let me show you our screen
recording instead."
Preparing for Questions
Likely Questions:
- "Why did you choose [technology X]?"
- "How did you handle [specific technical challenge]?"
- "What would you do differently next time?"
- "How does your system scale?"
- "What happens if [edge case]?"
- "Could you explain [technical concept] more?"
Answering Well:
- ✓ Take a breath before answering
- ✓ It's OK to say "I don't know, but I'd research..."
- ✓ Redirect to team member with expertise
- ✓ Keep answers concise (30-60 seconds)
Presenting as a Team
Coordination:
- Smooth Transitions: "Thanks Tom. I'll now explain the backend
architecture..."
- Clear Handoffs: Decide WHO changes slides
- Equal Participation: Everyone should present ~5 minutes
- Support Each Other: Jump in if teammate forgets something
Avoid: One person presents entire thing while others stand silently!
Time Management During Presentation
Practice with timer! Going over time looks unprofessional.
Strategies:
- Designate timekeeper: Someone watches clock, gives signals
- Practice multiple times: Know your pace
- Have "cut list": Know what to skip if running long
- Build in buffer: Aim for 13-14 min, not full 15
Timekeeper Signals:
5 min left: One finger
2 min left: Two fingers
Time's up: Hand across throat
Task 2: Write Demo Script & Practice
Instructions (Work in your project teams):
- Select Demo Features (10 min):
- Which 2-3 features to demonstrate?
- What shows most value?
- What can you demo in 3-4 minutes?
- Write Script (15 min):
- Exact words you'll say
- Exact clicks/actions
- Expected results at each step
- Create docs/demo-script.md
- Rehearse (15 min):
- Run through demo following script
- Time it (aim for 3-4 min)
- Identify any issues
- Create Backup (5 min):
- Take screenshots of each step
- Or record screen capture video
Time: 45 minutes
Deliverable: Demo script with timing, practiced at least once
Lecture 10 Summary
- Structure presentations: Hook → Problem → Solution → Technical → Demo → Challenges → Conclusion
- Start with compelling hook to grab attention
- Explain technical decisions as What → Why → Impact
- Keep slides simple, one idea per slide
- Demo shows user value, tells a story
- Script demos carefully with timing
- Always have backup plan for demo failures
- Prepare for common Q&A topics
- Team coordination and equal participation important
Next Lecture:
Sprint 4 - Final Build & Integration
Prioritizing final features and completing system integration
Before Next Lecture
- Create Slides:
- Build actual presentation slides from outline
- Add diagrams and screenshots
- Keep design clean and readable
- Polish Demo:
- Practice demo 3+ times
- Fix any bugs that appear
- Ensure realistic test data
- Individual Practice:
- Each person practice their section
- Know your content without reading slides
- Anticipate Questions:
- List 5-10 questions you might be asked
- Prepare answers