3 ms·
> I also like the double crux technique: collaborate to find the crux for each party, the most important point upon which the argument rests, such that if it tu
by dataflow 4y ago
> I also like the double crux technique: collaborate to find the crux for each party, the most important point upon which the argument rests, such that if it turned out to not hold you would change your mind. Turns an argument into a collaborative exploration.
In theory it's nice. In practice this doesn't get you anywhere nearly as often as you'd hope. Because IRL disagreements are almost often over the magnitude of a problem, not over their existence.
Trivial example for the sake of illustration:
Teammate 1: {writes some code}
Teammate 2: "That's hard to read, can you do it {this} way? It's much easier to understand the code that way if we find a bug."
Teammate 1: "That's too brittle though, can we do it {that} way? That way it's much less likely for the code to break in the first place."
Both sides can understand each others' positions perfectly fine. They just think their own concerns/priorities are a bigger deal than those of the other person.
Same goes with many political and other issues; this was just a silly example to illustrate.
- FeepingCreature 4y agoThe way I try to cut through that kind of disagreement is to clearly identify the source of my opinion, and the situation in which it would apply. Ie. "Instinctively, I'd presume that in a few months when the customer inevitably notices that the thing they asked for was not what they should have wanted, having done it that way is going to come back to bite us." "Too brittle" or "too hard to read" are borderline unempirical; it can be beneficial to construct the actual situation that makes it relevant, so the argument can be brought back to empirical disagreements about reality. And of course ultimately, if something is a subjective statement it's easy to reach agreements on the facts - Ie. "I feel like X", "well I feel like Y", where both are true statements - at which point you can stop pointlessly arguing and fall back on negotiation. "Well, I'll accept your PR if you at least Z."
- seanp2k2 4y ago“Let’s make a framework!” YAGNI. Best code is no code. Fix the people and process problems as much as possible before opening up the IDE or even writing the JIRA.
- keithalewis 4y agoIn one group I worked in the first rule in the coding guidelines was "Don't sweat the small stuff." I was surprised by how many back and forths were quashed by someone just asking, "Is this small stuff?"
- dataflow 4y ago> at which point you can stop pointlessly arguing and fall back on negotiation. "Well, I'll accept your PR if you at least Z." Or, for example, your coworker (and/or yourself for that matter) might feel "negotiation" is the wrong kind of approach toward engineering problems in the first place. Again, nice in theory, and sometimes that might work, but it has lots of failure modes. For example, you can end up with nonsensical Z's that neither of you would otherwise find particularly worthwhile or compelling, even though you both agree that, yes, Z would improve things slightly. Exaggerated example: imagine the original debate had been over "we should leave the bike by the road so it's convenient to grab it and go" vs. "we should lock the bike by the house so it's harder to steal it", which is a debate over a 2-minute task. Your compromise Z might end up being an additional 1-week task like "well I'll let you leave it near the road if you/we first build a brown bikeshed for it so it at least looks nicer". You might both agree that it would indeed looks nicer that way, so there needn't be any disagreement on Z itself, but neither of you would've felt it appropriate to spend any time or resources on Z in the absence of the negotiation. Usually it's not that stark of a contrast, but I've seen milder versions of this play out frequently in practice. Even when both people play along a few times (which often doesn't happen), they end up getting tired of having to go through it every time there's a disagreement.
- FeepingCreature 4y ago> Again, nice in theory, and sometimes that might work, but it has lots of failure modes. For example, you can end up with nonsensical Z's that neither of you would otherwise find particularly worthwhile or compelling, even though you both agree that, yes, Z would improve things slightly. I think that's where negotiation is a stronger frame though, because that sort of debate generally comes down to "how do I get through this faster", and the negotiative framing is "I disagree, but it doesn't matter, because the thing I actually want is for us to stop having this conversation, how can I achieve this with the greatest efficiency", or phrased otherwise, "what do I need to give you to make you go away?" Which there is much less to talk about.