Hacker News new | comments | show | ask | jobs | submit login
Objections are goals (medium.com)
67 points by KentBeck 66 days ago | hide | past | web | favorite | 45 comments



Then we complain about the sad state of the industry.

What about empirically proving that something works instead? Like in serious professions.

Imagine going to a doctor and the doctor saying: "The cure to your illness is eating a big warm turd every morning. I know you will object but turn it into a goal and you'll see its value".

Better to use guru status and force people to use an objectionable idea (turn objections into goals) until they are invested in it and hence start to find value in it. This is Machiavellism 101. Once you get invested you get emotional and you will defend it, no matter if its shit.

As another example go find the original scrum papers by Sutherland. Every claim is pulled from his rear end. No serious studies, metrics, none, whatsoever.

Luckily this people does not promote brain surgery procedures and techniques.


I have a new baby. There is a metric ton of guesswork involved in figuring out what's going on with her health and well-being at any moment. The pediatricians have better more targeted hypotheses and ideas for things to try than us or our books or the internet, but I would not call what they're doing empirical in the sense you're using it. I honestly don't find it very dissimilar to the type of iterative hypothesis testing informed by past experience we do when building software. I think a similar thing is true for most (but perhaps not all) of the "serious professions" you're thinking of.


But this is a problem of magnitude. What would you think of your baby's pediatrician if he/she starting pushing his/her unproven ideas as good practices that should be followed by the medical community and writing about pushing against the objections when someone objects them?


This is totally how it works! There are also people trying to apply more empirical rigor, and presumably (or hopefully), once that's available, people switch to it. What I'm saying is that we aren't the only field that uses experience-based best practices as a way to get things done without making perfect the enemy of good.


Can you point me to a blog where a well know surgeon pushes the medical community to use some novel techniques he devised and supposedly uses but that have not been peer reviewed at least once?


At least from my perspective there is a ton of this sort of thing in the medical community. Lots of Doctors promote disproven ideas as good practices let alone unproven ones. A really concrete example is the funding of homeopathy by the NHS.


I'm not from the UK. I just took a glimpse at an article. From what I read some lobby got some funding for homeopathy which will not be granted anymore as there is no conclusive information that homeopathy really works.

This seem like business lobbyists at their best. Someone got some money from some agreement, now he is not getting it anymore (and probably the money is going to some other lobbyists that played their cards better)

It does not look like a case where we have a well known practitioner pushing practices just because.


Yes very recently they stopped providing homeopathic treatment but were doing so for many years. The well known practitioner was the national health service of a country that was spending tax payers money on a treatment that provably doesn’t work. Plenty of Doctors well known and not want to and do continue to provide homeopathic practice. Likewise there is plenty of provably without medical benefit “complementary medicine” still funded by the NHS. This is very much due to Doctors pushing to provide these treatments because despite evidence they think they have merit. Which is worse than doing so with no or unequivocal evidence as in the programming practices case.


I have empirically proven that empirically proving that things work is not sufficient to get past people's objections.

I'm serious. The idea that you can logic your way around feelings simply doesn't work in practice.


>I have empirically proven that empirically proving that things work is not sufficient to get past people's objections

So? Proving that empirically proving something is not sufficient to get past people's objections does not prove that TCR or whatever is right. You first have to prove (but in a respected way) that say TCR works, and then you can discuss the objections.


You absolutely do not need to prove anything in order to get past people's objections to whatever it is you're trying to talk them into doing. Not only do you not need to prove that your plan is right or that it works, you can get people to agree to things that provably will not work!

Humans are incredibly irrational. If you want to talk them into stuff, it's a lot more effective to appeal to their irrational feelings than to appeal to reason - even if you're trying to convince them to do the rational thing.

Believing that reason trumps emotion in human decision-making is itself demonstrably irrational. (And yes, this means the people who think they're being reasonable are probably wrong.)


True, but convincing people to believe things that you know are false or do things that you know don't work by tricking them with reason or emotion is wrong. Bad people do that. Societies full of such people suck. Don't do it and call people out that behave that way.


Unethical/dishonest behavior is bad, therefore don't do unethical/dishonest things.

Now, a question... is an appeal to emotion, in itself, unethical/dishonest? If that's what you believe, then you really need to defend that with a strongly reasoned argument.

So if an appeal to emotion can act in the best interest of the person you are trying to convince, if your motives are pure and the results beneficial, is it a good act? And interestingly, if you refuse to use emotion to convince someone of something beneficial to them, is that in itself unethical? There's a strong argument that it is.


tldr: Using sex to sell beer on TV is unethical.

I think that emotions, feelings, and reason are all pretty good tools for humans to use with other humans. The real problem is that we are less and less dealing with people in-real-life face-to-face interaction.

In the last few hundred years there has been a huge increase in what some call super-stimuli where humans are now out of their evolutionary element and are responding poorly. Amplified voice, radio, TV, motorized transport, telephone, internet, video calls, social media, credit cards, a smartphone in your pocket that can do all sorts of crazy things (take pictures or video, contact anyone on earth, let you go into more debt to get a hamburger, etc), foods from refined sugar to trans fats, refined and artificial drugs from liquor to fentanyl. Couple this with the rise of the scientific study of human psychology and the advertising and PR industries, its pretty amazing the we are functioning at all. I wonder what the number of minutes the average American spends each day interacting with each other face-to-face. Not much and less every year.

An honest appeal to emotion done by a person face-to-face with your best interest at heart, great. Not what one really is getting these days.


I'm very much talking about face-to-face interaction with peers, with their best interests at heart.


True.

But that does not change the fact that selling and idea as something tried and true by manipulating people irrational behaviors is no good.


>What about empirically proving that something works instead? Like in serious professions.

Imagine going to a doctor and the doctor saying: "The cure to your illness is eating a big warm turd every morning. I know you will object but turn it into a goal and you'll see its value".

What the doctor says is exactly "empirically proving that something works" -- that's what "you'll see its value" means.

And one can only suppose that the doctor has already proved it in other tries, which is why they suggest it.

>Better to use guru status and force people to use an objectionable idea (turn objections into goals) until they are invested in it and hence start to find value in it. This is Machiavellism 101. Once you get invested you get emotional and you will defend it, no matter if its shit.

That's a jump to conclusions there.

First, where it's written that they'll "defend it no matter if its shit"? How about empirically proving that that they will do that?

Second, it's merely asking (nobody's "forcing" anybody).

Third, the whole "once they've tried it and are invested in it it's too late for them to see it's not good", is your addition, not some logical deduction. And it's surely not some ...machiavellian plan from the author.

I'd put what the author says thusly:

"yeah, you might find what I say objectionable, but try it and give it a try and you'll see that it has value".

Whether someone will try it, see it doesn't works, and still continue to support it, is not something I expect to happen, unless that someone is stupid to begin with. But then again, the same can be said for any suggestion to try something.


>And one can only suppose that the doctor has already proved it in other tries, which is why they suggest it.

Medicine is not coding. It takes almost a decade of formal education to get the specialist title. And at that point they are at the starting point of their career as specialists. And they are not supposed to try ideas with patients. They can get in serious trouble if they pull treatment ideas out of nowhere and push them to their patients.

>Third, the whole "once they've tried it and are invested in it it's too late for them to see it's not good", is your addition, not some logical deduction.

This is just plain human nature working. Why do you think our industry is plagued with fads and buzzwords?


Not really relevant, but if you have a recurrent c-diff infection, eating a warm turd is pretty close to the empirically proven treatment.

https://en.wikipedia.org/wiki/Fecal_microbiota_transplant


>Imagine going to a doctor and the doctor saying: "The cure to your illness is eating a big warm turd every morning. I know you will object but turn it into a goal and you'll see its value".

Fyi trivia about your analogy and its coincidence with turd eating... This was recently coined the "bs asymmetry principle": https://en.wikipedia.org/wiki/Bullshit#Bullshit_asymmetry_pr...

It takes much more effort to disapprove somebody's bad idea than for the crackpot to propose it.

(To be clear, citing that does not mean I think Kent Beck's TCR is bs or a bad idea.)


Paradigm: Death Based Development (DBD). If the tests fail, the software engineer who wrote the code is executed.

Step 1: I can't do DBD because I don't want to die.

Step 2: I can do DBD if I'm willing to die.

Step 3: When I'm willing to accept death as a natural part of the software development cycle, I can do DBD.

Nice, I like this.


I'm very confident my tests would be very simple under this system.


I'm confident the Volkswagen unit test system would become very popular: https://github.com/auchenberg/volkswagen


Step 4: Since I'm going to die at some point anyway....


Stretched-a-proposal-to-absurdity-driven-refutation


I love this post, even though it gives even more evidence that the original TCR proposal is unworkable in practice. Namely, because all the bullet points at the bottom define different conditions that all have to be satisfied for TCR to be workable (and many more are omitted), you end up needing your unit test situation to be the intersection of a huge number of special cases that are almost never true in practice.

You need (TCR doesn’t fragment commit history && tests are fast && confidence of test accuracy is high && ....). As you AND more things in there (and there are many more things to AND into the list of conditions necessary for TCR), the probability that it all applies to your working situation is going to drop rapidly except for some extremely isolated cases, and then one might question if it’s a good idea to adopt an extreme practice like TCR even when the heroic assumptions are satisfied, because it will mean mixed development practices in cases when the assumptions are / are not satisfied, and that inconsistency itself costs you, especially in a team setting.

But the idea of reversing objections into statements of conditions is brilliant and I plan to practice thinking this way for sure!


I have the opposite reaction, I’m skeptical that the abstract “objections are goals” rule has significant value. But the concrete points about TCR are interesting.

To address the objections about fast and trustworthy tests, you could limit its use to code that already has good tests. To address the version history objection, you could use “git commit --amend” to limit it to a single commit. So in some situations TCR may actually be usable (and in fact it’s not too far away from the process I often use! Frequent small commits with --amend)


I envy your ability to use that workflow. Across three enterprise jobs over the last 7 years, all places using git and GitHub, I’ve never worked on any sections of code where this could be tractable, except maybe for the process of using —amend in some rare cases where we wouldn’t want this history of those commits to be well separated for later purposes of bisecting to find regressions and bugs.


This is not something I’d do on master, of course -- just on my own branch while working on stuff that will eventually become a single PR.

I like to curate my commit(s) as I go, so that the final PR is easy to understand.


Oh, I see. Yes, that is a very standard workflow. I also commonly address PR change requests in isolated commits as well, and then link back in the PR review page with something like “fixed in <commit hash>”, so that reviewers can see isolated commit changes fixing itemized requests, and also so that no review comments ever go without some explicit reply, either demonstrating the fix or explain why to not do it or table it for later.

I guess in this sense, these items don’t have much to do with whether the big conjunction of conditions necessary for TCR are satisfied or not.


Another way of looking at this is: all advice is conditional. It only works for people in certain setups and environments. People rarely specify their conditions, and may not even be aware of the other possibilities.

So when offering advice or suggestions for process improvement, always try to add at least a couple of sentences describing the context at the front. It'll reduce the amount of objections you get.


I think it goes a little deeper. Kent's original post (test && commit || revert) describes the strategy as just a curiosity. "I’m not arguing for “test && commit || revert” nor even describing its trade-offs. I’m saying it seems like it shouldn’t work at all, it does, and I hope you try it (if you’re the sort of person who just tries new programming workflows)."

But the problem is Kent has probably never been on the wrong side of a CxO's dictum: "This company is using agile, starting now. Thank you." Programmers who have felt that pain want to make sure that a random musing from Kent Beck doesn't turn into a "movement" that ruins their work, so they try to shut down his idea hard. I don't blame them.


The stated goals are not tied to any business value. This is putting the cart before the horse. TCR is a means to an end, not an end itself.

Dale's essay on "Resistance as a Resource" is very good, but this is not how I would apply it.


Right. I designed a workshop/coaching game 15-minute FOTO (from obstacles to outcomes) [1] which does a similar “flip” from the negative to the positive; however by construction the input obstacles are with respect to some kind of objective. 4-Oh if you like - objective, obstacle, outcome, more outcomes. See also the classic coaching model GROW (Whitmore)

[1] https://www.agendashift.com/15-minute-foto


Indeed, specifying alternatives and business impact is important.

Sample comparable (not exclusive) technique would be design by contract with automatic verification. Likewise just not testing or limiting scope of tests or prioritizing tests differently for different modules.

If you say that writing tests first is superior, you have to show why and how much. And preferably with not anecdotal evidence.


Huh, I was bullish on “log-driven programming” (https://news.ycombinator.com/item?id=18165472) but this one strikes me as fairly obvious common sense. Is it any more than “try to respond to objections in a positive way”?

If someone objects “I can’t use this TCR process because it will mess up version control history” it seems pretty clear that either TCR or version history will have to change.


This is a terrific article. I've used some similar techniques to reduce negativity and reflexive opposition to change (mostly borrowed from sales techniques), but this logical formulation is very clear and easy to use.


And how do the people you do this to feel about it? The idea of enthusiastically applying sales techniques to interactions with one’s coworkers feels appalling. A group of colleagues is ideally a marketplace of ideas and, yes, one needs to sell ideas from time to time, but who wants to be sold to?

People often oppose something but raise (being uncharitable here) spurious objections, either because they don’t want to share their true feelings — or don’t even know what their true feelings are. It’s worth getting to the bottom of these issues, and worth doing with a great deal of respect for other people’s feelings.

If you’re dealing with an issue that is not emotionally contentious, if you’re trying together with a group to achieve a common goal, using this “objections are goals” approach can help bring a team together and encourage positivity in the face of obstacles. When applied where there is disagreement about the goal, people will feel bulldozed.


Who wants to be sold to?

Everyone. Everyone wants to be sold something. Because when someone sells you something, it means they have listened to your problem (and maybe helped you discover/understand it), and offered you a solution using resources you already have. Sales, done right, is one of the best parts of human social behavior. It's mutually beneficial, a win-win.

Sales has a bad reputation due to bad actors, not due to sales itself. Smarmy behavior, dishonesty, and taking advantage of others is not inherently part of sales, and it's definitely not part of good sales.

"Objections are goals" is a sales technique. Overcoming objections is Sales 101, and a big part of that is turning negatives into positives.


No one wants to be sold to. Not a single person in the world. There's a reason used car salespeople are the universal object of derision: no one wants to interact with someone that wants something from them and is willing to obfuscate, misdirect, and even lie to get it. That is a fundamental to sales: the sales person is trying to maximize their returns, and in most cases there is zero structural incentive for them to take the interests of the other party into account. This isn't something that you can imagine away any more than you can imagine away incentives in other areas of human interaction. People recognize that immediately, even if they can't put their finger on why.


No one wants to be cheated. Everyone wants to be sold to. That's because everyone has problems they can't solve on their own.

"I don't want to be sold to, because I think I'm being cheated" becomes "If I'm not being cheated, then selling to me is okay". Or to put it more abstractly, "Selling bad because yuck" becomes "If yum, then selling good".

It comes back to the win-win, to mutually beneficial relationships. I disagree that there is "zero structural incentive" to consider the needs of the customer. In most cases, there's plenty of structural incentive. If your business depends on repeat customers, not considering their needs costs you their business. If your business depends on references and reputation, then not considering your customer's needs costs both the current customer and future customers.


>Everyone. Everyone wants to be sold something.

Well, count me off that list.


Can I interest you in subscribing to my no-sales-allowed list?


>And how do the people you do this to feel about it? The idea of enthusiastically applying sales techniques to interactions with one’s coworkers feels appalling. A group of colleagues is ideally a marketplace of ideas and, yes, one needs to sell ideas from time to time, but who wants to be sold to?

I'd expand this to "if those colleagues work for a company that uses sales techniques to the public" that's appalling too -- why constrain it to using them between colleagues? Because the public is the out-group, and it doesn't matter if they are sold-to?


As the author admits, this isn't how logic works. Next time, use the Law of Contrapositives, which at least works when the Law of Excluded Middle is assumed.

Suppose, for example, I object to cats; I might say, "If cats are in the house, then they will bring me mice as tribute." The contrapositive is, "If I am not being brought mice as tribute, then there are not cats in the house." Plural logic aside, this is pretty close! And now we can turn it into a goal: "If I want mice to exist in my house in non-dead states, then I should avoid cats." Now we've managed to refactor this into a goal: "I should get cats if I want fewer mice."

I'm not sure if anything was gained from this exercise.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: