Working with Clients

No Time to Waste!

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

Kickoff Meeting Goals

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

Meet and Greet

  • Before: Fix your Google team slide to
    • include at least name, level (junior, senior, MS), major, email
    • clearly identify the team's primary contact person
  • During: Get emails and primary contact for client team
    • Slack or Facebook Messenger ONLY if all members of both teams are already use and prefer it.

Primary Contact

  • One contact person on each team
    • sends all inter-team emails
    • CCs everyone on both teams
    • gently points out when counterpart contact does not CC everyone
  • This enables:
    • Easy tracking of communications
    • Fewer mixed messages
    • Promote team discussion before replying

Mid-week Check-in Deliverables

  • A demoable rough draft of the first deliverable
    • Schedule a hackathon for the weekend or Monday
  • A list of issues identified, in easily resolvable form:
    • For cases where you don't know what they meant, offer two or three likely possibilities
    • For things you don't think you can do, offer two or three alternatives you could do pretty quickly

Iteration 1 Deliverables

  • A link they can use to demo the first app slice in the MPD class
  • Runnable on a device or simulator
  • Instructions or live walkthrough of how to run the demo
  • Due the day before they demo, so that they can test and practice

Client meetings

  • Twice a week
    • hour-long face-to-face review and planning
    • half-hour midweek check-in about 3 days later
  • Active listening at every meeting
    • Have a designated notetaker
    • Listen more than talk
    • Email a summary of immediate tasks and questions within 24 hours

Working Prototype

  • An end-to-end user-testable implementation of the payoff in their 4-panel
    • Get realistic data from them
    • Use Material UI or similar for a simple but clean UI
  • Architect for change
    • DTSTTCPW
    • YAGNI
    • Isolate dubious decisions

Team Roles

  • Task tracker
    • Manages list of undone tasks and deadlines
    • Asks who is doing this, is it done yet, ...
    • Raises the red flag early
  • Note taker
    • Takes notes during (not after) client meetings
      • Must resist being too active in conversation
    • Prepares client summary, with notes from rest of team
  • Both of these can be rotating roles

Product backlog

  • Have a shared document with prioritized user stories
  • The Client Project folder on the Google Drive is shared with them. They can see and edit any documents you put there.

Iteration Taskboard

Thanks to Hakim El Hattab for RevealJS