Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mikermcneil/4e94511ffd516f3cbdcd712e41c3ddb5 to your computer and use it in GitHub Desktop.
Save mikermcneil/4e94511ffd516f3cbdcd712e41c3ddb5 to your computer and use it in GitHub Desktop.
Principles for delivering professional services

Principles for delivering professional services

mikermcneil, 2022-08-10

A few principles for delivering a great customer experience and successfully completing professional services engagements. The following are lessons that I had to learn the hard way. Hopefully, they save you some trouble!

  1. Daily communication with the customer (like a standup during the engagement)
  2. Timebox the engagement (ok to scope features, but also set a timeframe.)
  3. Make it explicit who is working on it and how many hours they'll be working per week.
  4. Do frequent demos during the project (weekly or biweekly). If the customer doesn't show, demo internally anyways. Fix bugs that come up in the demos before moving on. Fri morning or Thu afternoon demos work best, to leave time for bug fixes before the week (and sometimes project timeframe) ends.
  5. Model and expect relentless openness from the team about roadblocks and if anyone isn't able to meet their hourly commitments. Fill in the hours with someone else, don't slide to the next week (it's a slippery slope, and you end up doing things forever)
  6. Allocate time at the beginning of the project with reduced time commitment (I call it “drafting”) so that designs and APIs can be decided, and customers can provide feedback and give buy-in. Then when the rest of the project team hours join in, there's a noticeable ramp-up in velocity, and there are fewer changes mid-project.
  7. Avoid any concept of “acceptance” if possible. If there is one, plan so the process starts weeks before the end of the project.
  8. Each standup, acting PjM reminds the customer what day we're on (“Sprint 1, day 2/10”). Being clear about timing and open about progress encourages empathy from the customer, who can tell if the timeline has gotten behind.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment