48

I've been hired to do contract programming work for a small non-profit social services organization. In the initial meeting, I used the phrase "business logic" and my contact at the non-profit became very upset, stating that it's "not a business" and "you don't use business logic on homeless people. The logic of business is exactly what has victimized the people we are trying to help." I tried to explain but it became clear that I was in a hole and I had to stop digging.

The customer's always right, so I promised not to use "business logic" in the project, but she doesn't trust me any more. She wants to fire me and hire "somebody who understands the concept of empathy". I have to stress that the customer is a very nice person, but non-technical.

How can I reassure her that the website I'm building won't have any "business logic"?

migrated from programmers.stackexchange.com Oct 27 '15 at 20:31

This question came from our site for professionals, academics, and students working within the systems development life cycle.

  • You can try to explain that your use of the term "business logic" (the link is to a Wikipedia article) does not imply any lack of empathy, and does not carry any of the negative connotations that the word "business" by itself might. Based on your description, I'm not optimistic that it would do any good (but then again we've only heard your side of the story). – Keith Thompson Oct 31 '15 at 21:17
  • This isn't enough for an answer, so I'll just leave it as a comment. You aren't obligated to take on every client - know when to say no to a gig – alroc Nov 1 '15 at 15:16
  • 6
    No, the customer is not always right. How can a customer be right about something she knows nothing about? Would she not understand a statement like, "'Business logic' is the technical term for the way your website/software/etc is coded." ? If she won't understand that, then you probably will be miserable working for her. – Kent A. Nov 1 '15 at 16:59
  • 1
    Would they be happy if you implement cuddly friendly elves instead of business logic? Obviously the cuddly friendly elves would do exactly what business logic does in a more sane environment. – gnasher729 Aug 14 '16 at 19:01
57

How can I reassure her that the website I'm building won't have any "business logic"?

You can't.

Your client has no idea about anything technical, apparently, and you've already burned the trust bridge. She already wants to fire you which means you almost certainly aren't going to "fix" that bridge.

What I would do is ask, "how would you like me to describe how the site works? generally, this is described as 'business logic' but I want to use a term which you feel comfortable with."

If you want to increase your odds apologize for using a term that upset her (note you aren't apologizing for being wrong, but for how she felt as a result. Regardless of how wrong/naive she is you at least did make her feel upset).

Apologizing can be a decent way to at least start to rebuild trust. Asking what she wants you to call it is another.


However... I'd expect that you have close to a 0% chance of salvaging this relationship.

It doesn't matter how right you are if you piss off your client and make them feel bad.

The question you should ask yourself is: will this new contract be beneficial for you? Starting out like this? Odds are... no.

  • 27
    @LightnessRacesinOrbit would YOU want to work for a client who distrusted you and wanted to get you fired after the first meeting over a basic terminology issue? I sure wouldn't. – enderland Oct 23 '15 at 14:35
  • 6
    No, I certainly wouldn't want to. But "wants" aren't all there is to life; I may consider sucking it up and doing the work anyway if it helped 200 people not freeze to death overnight. – Lightness Races in Orbit Oct 23 '15 at 14:35
  • 12
    @LightnessRacesinOrbit if that's Ed's goal there are plenty of other organizations that would love his help. – enderland Oct 23 '15 at 14:38
  • 6
    Unfortunately, this contact crazy means to have the freezing-to-death homeless count increased by one. – Martin James Oct 23 '15 at 15:17
  • 26
    Frankly she's the one with no empathy or critical thought capacity if she doesn't understand the different terms speech communities use. She sounds a little too unreasonable and haughty to understand this though, so I'd work for a non-profit that is not only committed to helping those in need, but can do it with some professional, intelligent, approaches and mature interaction. – Dave Oct 23 '15 at 15:18
35

Use 'domain logic' instead of 'business logic', it's probably a less laden term to use with said person. Simply tell her that you have eliminated all traces of 'business' logic and replaced it with 'domain' logic.

If that does not convince her, nothing will I'm afraid...

  • 18
    Oh, God, no, not that -- for the sake of brevity I left out her reaction to "problem domain". – Ed Plunkett Oct 23 '15 at 14:34
  • 6
    In that case I recommend running far and running fast. – JDT Oct 23 '15 at 14:39
  • 27
    @EdPlunkett: She's going to be a nightmare to work for. You might want to explain to her that computers don't have feelings; they just get the job done. Just because it's called a dongle doesn't mean you should use it in the bedroom. – Robert Harvey Oct 23 '15 at 15:03
  • 5
    Replace it with "Poor Children Logic"? Or "Sad Puppies Logic"? Make it so that if she fires you, she doesn't care about children and/or puppies! And... we don't hate children and puppies... do we? – WernerCD Oct 23 '15 at 16:35
  • 4
    @EdPlunkett Granted my reply is a bit "tongue in cheek" and not meant to be serious, but... At the end of the day... how would that compare to her attempt at manipulating your thoughts (How dare you think the word "business", much less mouth it!)? This ultra-PC, MicroAgression BS needs to nipped in the bud... Its "funny" how offensive I find these easily offended "adults". – WernerCD Oct 23 '15 at 17:22
27

I would explain to her that "business logic" is an software industry term for the process that the software takes to determine what to do in a given situation. For example, whether to offer the homeless person a Super Awesome Package of Doodads or the Deluxe Doodad Basket given the information you have.

If she lets a simple bit of English rile up her emotions and can't get over it, I would consider finding another client. I would seriously question the objective decision making ability of someone who can't get over a simple English term.

  • 6
    By 'explain', you should do it in an email, copied to your agency, lawyer etc. – Martin James Oct 23 '15 at 14:22
14

Quit while you're ahead. This would be like a plumber dealing with someone who doesn't want to use the word 'pipe'. This client has personal sensitivities that are way beyond your ilk. You are a developer, and not a shrink. Doubtlessly there are going to be lots of other occasions where you run into some incredibly stupid stuff based on this person's need to be more empathetic than reasonable -- which is why there was an opening to do this work in the first darned place. Smile real wide, and RUN.

  • 7
    Done and done. It's a headache I don't need. – Ed Plunkett Oct 28 '15 at 0:59
  • 1
    -1 Although I feel like the OP basically came here in order to get this answer, I don't think that it's conducive to developing soft skills. Yes, it sounds like this person jumped down their throat and might have been gunning for their job. On the other hand, "business logic" absolutely is jargon and one should really try to avoid jargon when speaking with non-technical people if at all possible. There was room for improvement here whether the client was being reasonable or not. – NotVonKaiser Aug 14 '16 at 15:17
  • @NotVonKaiser Would you want your physician to tell you you have a "boo boo" when you need a complex surgery? – Xavier J Aug 14 '16 at 21:32
  • No but I would absolutely want my physician to speak to me in plain terms and not jargon if I required said surgery. Do you think that not using jargon is the same as using baby talk? – NotVonKaiser Aug 15 '16 at 19:28
12

How can I reassure her that the website I'm building won't have any "business logic"?

I tried to explain but it became clear that I was in a hole and I had to stop digging.

To get the client to trust you, you tell her that you are on her side. Instead you signaled to her that you were more interested in defending your phrasing (which, by the way, was totally defensible -- it's just not going to win this client's loyalty).

Many non-profits use business terms to describe their activities. By strongly reacting to your use of the otherwise innocuous term "business logic," she's signaling that she wants you, the person she's paying, to shift your mindset.

So to begin rebuilding trust, your next interaction could begin something like this:

When we first started working together, I approached this as just another job. But after reflecting a bit on our last conversation, I'm starting to see the need to view our challenges differently--not just business as usual.

Two things:

  • an acknowledgement that you guys weren't on the same page before
  • a willingness to change

This even protects you during an inevitable "relapse" (you're working on changing your mindset but you're not perfect yet).

  • 3
    I like the logic outlined, but the phrase "do you just want to win" triggers me. – Joshua Drake Oct 23 '15 at 16:52
  • 4
    I also don't like "relapse". As if using standard language is wrong and offensive. How can you communicate with someone who won't learn new terms? How can you work in an environment where common language leads to fear of being treated as a criminal? What's the line between her being offended by "business" and calling the cops? – WernerCD Oct 23 '15 at 17:05
  • 2
    Paraphrase: "My client acted weird, how do I continue getting paid?" Everybody else said you can't. I say you can, but am not making a value judgment on whether you should. That's up to you. I'm not suggesting you change your beliefs, just how you could interact differently. – brian_o Oct 23 '15 at 18:46
  • 1
    This would be a good answer if you took out the "Do you just want to win?" part or maybe frame it more clearly to put it in the context you meant. I can't tell if you are telling the OP how to win or chastising him for correcting the customer over an issue that didn't matter until the OP made it matter. – Dunk Oct 26 '15 at 20:40
  • 1
    I have to agree with others that if the customer has this sort of trigger reaction to professional jargon, I'd want to be paid as counselor in addition to my main role if I'm to buffer her or ease her past it. For megabucks I'll consider it; for a few thou I'll try to find a subcontractor who is willing to deal with it. The customer is not always right. The customer is always the one with the money. Some things money won't buy. – keshlam Oct 27 '15 at 21:41
7

No one likes to be told they are flat-out wrong about something they are upset about, even if they are wrong. In fact, especially if they are flat-out-wrong, because they lose face.

When dealing with human beings, you need to address the emotional side (what she associates with what she thought you said) before you can deal with the facts (what you actually said).

The thing to do would have been to, as soon as she started becoming upset: pause, and then say "I'm sorry, but I'm not sure what you think I'm suggesting." Then hear her out. Yes, she'll go on about a bunch of stuff that you know is factually irrelevant to what you just said, but she doesn't know that. When she finishes, assure her that you most definitely do not want (all the horrible things she associates with the term "business logic").

Once she feels heard, and is reassured that you don't want to impose her associations with 'business logic' on the homeless people, then you can propose that the two of you use a different term, explain what you meant, and ask what term she would prefer.

The trick is to correct her misunderstanding of what you said without her losing face or feeling like her concerns were trivialized.

Unfortunately, it may already be too late; you may be happier & saner finding someone else to do the project.

  • 2
    Yep, this. Now that the client as already gone down the path of expressing a desire to get rid of the OP, it will be really hard for her to not lose face if she publicly realizes that "business logic" isn't anything like what she thought it was. The time to address this for the OP was upon the initial response of the client. – teego1967 Nov 1 '15 at 16:59
5

I would apologize and just say you were using an abstract technical term. Ask her what she would like to call the group of rules the computer needs to follow.

As far as getting rid of you, try explaining that she's just going to have to educate the next person because the terminology is fairly universal.

If she wants to display empathy, ask her how the poor computer is suppose to know this isn't a business ;)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.