Skip to main content

cs4140 Notes: 11 We Have Customers

··2 mins

Customers:

Shawn Case, Math Prof [shawn.case@plymouth]

  • Something about an ice cream shop?
  • Multi-screen workflow, forms, database persistence.

Jason Charette, Political Science Prof [jason.charrette@plymouth]

  • Components of RISK-like games for in-classroom use.
  • Primarily single-screen, with light interaction / animation.
  • Possible DB persistence: students / teams.

That’s what they told me they wanted - they may tell you something different.

Initial Customer Meeting #

First, set up an in person meeting with the customer.

  • No later than October 6th.
  • In person, no Zoom nonsense.
  • Customer and whole team.
  • In a room with a whiteboard.
  • Try to schedule an hour or so.

Meeting notes will be due with the Week 6 Team Report.

Outline the project constraints.

  • You’re a small team.
  • You’ve got about 8 weeks to work on the project.
  • You’ll be slowed down a little by process requirements.
  • So you’ll be able to build something non-trivial, but not huge.
  • Start with the minimum version of the app that can be demoed.
    • i.e. One step past a web page with the words “coming soon”.
  • Iterate into something more complicated.

Get the customer’s description of the project.

  • Take notes.
  • Try to understand what they’re describing.
  • Pay attention to clues from how they describe it and what they’re assumptions are.

Ask questions in support of design:

  • Design from front to back end, UI focused.
  • Design from back to front end, DB-schema focused.
  • Draw / write one whiteboard. Use cell phone camera to save.

Design from Screens

What does the user see when they visit the app site?

What “screens” does the app have?

Example: Minimal Web Based Email Client

  • Login screen
    • A HTML form
    • Email, password, submit
    • Register link? Registration screen?
  • Message list screen
    • Table of messages by From and Subject
    • Clicking a message shows it
    • Folders?
  • Show message screen
    • From
    • Subject
    • Body
  • Compose message screen
    • Another HTML form
    • To
    • Subject
    • Body
    • Send Button

Design from DB Schema

What DB tables does the app have?

What are the relations between them?

Example: Minimal web-based email client

  • Users table
    • Email
    • Password hash
  • Messages table
    • Subject
    • To
    • From
    • Body
    • A message belongs to a user
    • Duplicates?
  • Folders table
    • A folder belongs to a user
    • A message belongs to a folder

Where are we going?

  • What does the minimum thing to demo look like?
  • What’s the minimum viable product?
  • What to improve after that?