Hi, I'm Kris

Headshot image of Kris Carta
I'm a software manager and developer, and this is my space for exploring thoughts on *everything* to do with modern (agile) software delivery, from management to technology


Ten Commandments (in the Presence of a Customer)

If you’ve had the pleasure of working in stressful projects (and who hasn’t!?), you’re likely to have witnessed people engage in some wild and self-destructive behaviors. You have probably seen the extensive damage these behaviors can cause, especially if they’re done in the presence of a customer or an important stakeholder.

Even more disturbingly, you’ve probably observed moments where a reasonable person acting in good faith, has said something completely normal, but in a specific context or around certain people, which resulted in that reasonable comment growing out of proportion and triggering astoundingly severe consequences.

This seems unfair, but it happens all the time, because projects are just collections of humans, and humans are imperfect social creatures with opaquely conflicting pressures and goals. This goes doubly for customers1, whose anxieties on a project often differ radically from the project team’s. I reckon that if you’re looking out for this phenomenon, or you’re in a role that forces you to be politically attuned, you can spot it as it happens on most any project.

With the primary goal of protecting my team members from their own good intentions, I recently thought up a set of commandments to guide behavior on a project, especially in the presence of a customer1. At first I thought these would just be something fun and tongue-in-cheek to share within my team, but after having drafted the list, I started to admire how, as commandments, they speak as if coming from a far-away voice of authority, against seemingly mundane transgressions whose consequences could nonetheless be severe and eternal, and should therefore be avoided. Like the original commandments, these are meant to protect team members against their own natural tendencies (a reasonable person acting in good faith…).

10 Commandments (in the Presence of a Customer1):

To protect yourself, your team, your project, and your company

  1. Thou shalt respond “I’ll have to check and get back to you” when asked questions you cannot answer with 100% confidence and when asked to commit the team to something2
  2. Thou shalt not claim responsibility for a defect3
  3. Thou shalt listen first, and create quiet moments for the customer to give input
  4. Thou shalt not argue
  5. Thou shalt not discuss company project, financial, staffing, or political matters
  6. Thou shalt not discuss project political or financial matters
  7. Thou shalt not speak poorly of another teammate, customer, user, or partner
  8. Thou shalt not speak poorly of the code or the system
  9. Thou shalt be transparent about your responsibilities, and defer to others about their responsibilities
  10. Thou shalt respect and work within agreed practices and not create loopholes, even if asked by the customer1

Do you have comments or proposals for amendments to this list? I’d love to hear them!

  1. Or stakeholder, sponsor, user, …  2 3 4

  2. This isn’t to be slippery or evasive, but to avoid misleading people, and the eventual finger-pointing and he-said-she-said conflicts that arise when responsibility is taken but can’t be tracked. Formal channels should exist for sharing and tracking information and decisions. 

  3. There should also be established processes for defect triage, investigation, RCA, etc., which protect individuals against assuming blame.