Working with Clients

No Time to Waste!

  • They have a brand-new not very clear idea
  • They need to see something next week
  • They will user test the app right after that
  • You haven't a clue what they want or if you can do it

Meetings

  • Winter:
  • Spring:
    • "Free-range" clients from Northwestern, Evanston, Chicago, sometimes farther
    • Meetings arranged by client and dev team

Kickoff Meeting Agenda

  • Meet and greet
  • Establish communication channel
  • Schedule midpoint check-in time and method
  • Define what you'll deliver in a week

First deliverable

  • By end of the kickoff meeting, you need to have a specifc example of a slice that you believe you can definitely implement in less than a week
  • That slice should be based on the third panel of their four-panel scenario, fleshed out with realistic data from the client

Communication

  • Determine primary channels for communication
  • Whatever ALL members already use (email, group text, Slack Messenger, iMessage, ...)
  • Determine a single primary contact on both sides (see next slide)

Primary Contact

  • To reduce mixed messages and enable easy search of message history...
  • One person on each team
    • sends all inter-team messages after team discussion
    • CCs everyone on both teams (but not me)
    • gently points out when counterpart fails to CC everyone

Weekly client meetings

  • Face-to-face iteration planning meeting (an hour)
  • Midpoint check-in two or three days later (about twenty minutes)
  • Listen actively
    • Have a designated notetaker
    • Listen for signs of concern or uncertainty
    • Circulate a summary of the week's tasks and any questions within 24 hours

Midpoint Check-in

  • Demo rough draft of upcoming deliverable
  • Review issues identified, and potential resolutions:
    • Confusions: offer two or three likely interpretations
    • Obstacles: offer two or three alternatives you could do pretty quickly

Client polling

  • Don't assume all is well
  • Every week, ask the client two questions:
    • Did you expect something you didn't see?
    • Did you see something you didn't expect?
  • Don't ask for a rating. People hate to rate people.

What makes a good deliverable

  • Clean simple but not plain
    • Style with CSS framework, like Material, Bootstrap, Tailwind, ... not plain HTML
  • No bugs or misspellings
  • Push the clients to provide realistic data
  • Build for easy change

Project Backlog

Thanks to Hakim El Hattab for RevealJS