bearjaws
When someone is bike shedding you need to show how trivial what they are talking about is.

"Oh it won't work because it will break xyz" "Okay so what does it take to fix xyz?" "maybe a day or two" "..."

"It's going to cost more to have xyz" "Oh how much more?" "$100 a month" "..."

"It should be blue instead of red" "no customers prefer purple" "alright we will defer this to product team / customer feedback"

That being said, people who bikeshed a lot are pretty terrible to work with, they are usually the ones first to tell you how hard a change is going to be and why we shouldn't do it. They would rather do nothing and stay in their comfort zone. Toxic to work with, fire if they cannot change.

codingdave
> The accusation turned their relationship toxic

That sounds like a completely different problem. Bikeshedding is typically just someone getting caught in the weeds, and not a big deal to correct. Point it out, re-focus and move on.

If it turned a relationship toxic, or if people made such a big deal that it even gets described as "outright accuse", it sound like things were blown out of proportion, and there is likely a completely different root cause to the toxicity.

karmakaze
One thing I can't stand as much or more than bikeshedding, are people who will do 'armchair development' in a meeting of many people, raising obstacles, possible solutions, pros/cons, followed by debates and estimations of risk or effort, etc. We could just make a list of items to explore and have two people work it out. Similarly for group guessing figures, when someone could just run a query/report to get an actual number in as much time.
AnimalMuppet
In a meeting? "Let's take that offline."

In general? There needs to be one person with the authority to make the final call on the question. That one person needs to hear the bikeshedder, not until they stop talking, but at least until they start repeating the points they previously made. Then they make the decision, and they don't revisit it without sufficient new information.

If the bikeshedder can't accept that, then you need to get rid of them.

al_borland
What one of my teams did in the past when things went off topic into an unproductive area was simply call out that it was off topic for the meeting, to shift things back to the main point. At the same time we would add it to a running list of future discussion topics, so they felt heard and the idea wouldn’t get lost, but it didn’t need to derail us in that moment. Most of the stuff we added to that list was never actually discussed later, as it was ultimately unimportant.

Sometimes the person talking would call themselves out, to have it added to the list, which was always nice. I ended up doing this a lot. An idea or issue would pop into my head, I’d bring it up, then as I was talking about it I would stop and say we should throw it in the parking lot and keep on the main topic.

We also had a weekly (maybe every other week) meeting to just talk about stuff. This gave us a forum to get into some of that oddball stuff if we needed. Having a time and place for this dramatic reduced the spill over into other meetings.

raxxorraxor
In my experience it helps if you straight up tell them that the easy solution is fine or that a quick solution is needed. This is a problem of sensible requirement management which prioritizes certain tasks.

Sometimes the problem is that their task queue only has work they don't like. We all have something like that. Maybe it helps to set these tasks to a higher priority.

ahoka
Always define the scope of a discussion laser sharp in advance. “This is outside of the scope of this discussion/decision” becomes your jolly joker. It also does not hurt to put an “escape hatch” in any design. For example if you design a JSON schema, add some kind of support for optional extensions. Everyone will come up with use cases that would need that escape hatch, but almost none will be actually implemented in practice.
paulcole
You need one person who is ultimately responsible for decision making. They take input, decide when they’ve received enough input, stop the debate, and then they make decisions.
evnix
For non-US English speakers,

Bikeshedding: Futile expenditure of time and energy in discussion of marginal technical issues

tacostakohashi
I think this question is too general, do you have some specific examples?

If someone is bikeshedding about what some other project that they aren't working on or going to do themselves, then: "That's a great/interesting idea, why don't you put it in an email/ticket and it can get prioritized in the context of the other deliverables for the project".

If it's about their own project/work, or how to tackle it, then: "Sure, whatever you think is a good idea, just go do it. I trust your judgement. Do it however you feel is best, let's look at it when it's done.".

Bikeshedding isn't always a bad thing (as distinct from talking too much, being all talk no action, being disagreeable / argumentative, which are). It can be used deliberately or constructively too... if someone has big project that they've spent a lot of time on, and are emotionally attached to, but you think the whole project is actually stupid or a bad idea... then you can stall it by telling them you support their goals, and want to work with them, but you just have some positive suggestions for this inconsequential aspect of their project that you'd like them to think/talk about at great length... and then will often get sucked into it, lose sight of driving their project forward, but not get upset or defensive about a confrontation.

perrygeo
The IEEE consensus process has some good ideas on how to achieve "rough consensus" even in the face of persistent objections: https://datatracker.ietf.org/doc/html/rfc7282 . Some takeaways

- Lack of disagreement is more important than agreement.

- Rough consensus is achieved when all issues are addressed, but not necessarily accommodated.

- It's not a vote - one strong, well-reasoned objection carries more weight that dozens of "yeah looks good to me"s and vice versa.

I think it's important to not label concerns as "bikeshedding" at first. Or to label someone as a "bikeshedder" a priori. That's a shortcut to critical thinking and good way to shut down communication. All concerns should be heard, initially at least.

But not every concern should carry the same weight. Dealing with someone who repeatedly brings up the same minor concerns is exhausting. This requires a decision maker who can politely move the debate forward saying "We've noted your concern but we're not addressing it here ..." The group acknowledges the issue, the person raising the issue gets "I told you so" rights, but it's explicitly de-prioritized - no insults required.

austin-cheney
Bike shedding occurs when the decision makers are not the stakeholders. People will naturally ignore the challenges and focus on things trivially convenient when they have nothing to lose.

Your solution then is to impose ownership onto the people providing input, with all the liabilities and rewards that entails. Failure then mandates severe penalties. If that is too much of a risk then simply remove their ability to provide input and replace it with a top-down managerial decision absent their input.

leros
I don't know if this answers the question, but I think one of the big responsibilities of a leader is to make a decision when the decision isn't obvious and it's blocking you.

Someone: "And we're building that shed next week"

Team: <bikeshedding conversation>

Leader: "Let's paint it black, it's not that critical and we can always change it later"

It doesn't matter if its the best choice. Getting blocked on it is too expensive and other people are too worried about covering their own butts that they waste time on it.

eternityforest
Standards, best practices, and copying.

I'm always looking for the hidden unofficial standard, or the option that has the best fit with either existing tech or the "Next Big Thing" people are moving to.

Like, if you ask me to choose a language, there's only about five I'm even going to look at. "more elegant code" isn't enough reason that I'd want to use some new language nobody knows, that half the IDEs don't support well.

withinboredom
Nothing wrong with bikeshedding, as long as everyone bikeshedding knows they are bikeshedding. It only becomes a problem when someone asserts that blue “is the one true color” to paint the shed and doesn’t recognize that a shed can be other colors.

At that point, you reach an impasse that the other team members must then bend to that person’s opinions or leave.

yamumsafknho
imo that dev should be served with a pip, which means if you dont get your act straight you're about to get fired.

deadlines means cutting down the spec. cutting down the spec means having to make decisions to release before the deadline and moving all the overthinking to the next iteration.

nicbou
"We can get back to that. Let's work on the key issues first."

"Sure, red is fine. Let's not overthink this."