A lot of flip flopping and lack of follow through.
Who made that decision? We did. Can we give up on that and try something else? Of course.
I kinda like to have at least a shepherd for the day to day decisions, if not a commander.
In practice in my current environment it's been the occasional PM that takes some ownership that fills that role, but in many groups I see the floundering without leadership.
Internally I think they think they're making progress because everyone on the team is always happy with their decisions, I may just be the old curmudgeon that's frustrated with what I see as wasted effort.
Your peers form an agile group to deliberate. You have non-management product owners and stakeholders to guide you (shepherd you).
You have a supervisor who deals with HR business like time off, but is unrelated to your product decisions.
This essay was illuminating:
Tyranny of Structurelessness
https://en.wikipedia.org/wiki/The_Tyranny_of_Structurelessne...
"Contrary to what we would like to believe, there is no such thing as a structureless group."
The same essay was linked to me a previous time I made a similar public complaint :)
The feedback my own manager shared with me that had been collected from my reports was that they appreciated what I was trying to do, but that they also wanted me to have a more active technical leadership/decision-making roles.
What I'd failed to do was talk enough specifically with the rest of the team around what they wanted the roles to be, vs just assuming they'd want maximum autonomy. This will vary depending on composition of team, familiarity of the devs on the team with the problem area and stack, etc.
It will also depend on if managers are expected to be almost-purely people-managers or if they're also expected to be domain knowledge leaders as well.
There's no one-size-fits-all approach, but the thing I've seen that separates a good manager from a bad manager is being able to adjust their approach in things like that based on the situation vs sticking to a script.
I'm saying this as a candidate that didn't get selected. I got great actionable feedback on how to be a better leader, and I'll keep my fingers crossed when there is another opportunity available.
i.e. when it comes down to the icon, your group should agree to trust the designer, and then trust the designer. The benefits are numerous: 1) People get to make the decisions within their realm of expertise, 2) No aimless debate, products are built faster, 3) If there was a bad decision, there is one person who made the decision, but the whole team should share accountability since they all agreed to trust the person who made that decision.
The process by which that decision is made is the process by which you select a person to make that decision. Ideally, that happens at the hiring level, so once, for example, a designer is assigned to your team, you already know that s/he is good enough to pick the right color. You don't have to engage in office politics to discover whether or not you can trust him/her, and you don't have to engage in office politics to allocate praise/blame in the event of particularly good/bad decisions.
there also is a ted talk by semco ceo ricardo semler: https://www.youtube.com/watch?v=k4vzhweOefs
Not a peer.
I favor democratic decision making processes.
Use voting systems appropriate for the task. Roman eval for new hires, go/no go. Approval voting for triage, new features. JADs for "visions". Creative writing exercise for post-mortems. Etc.
"Democratic" does not mean winner-takes-all, which is suboptimal.
"Democratic" does not mean consensus.
I rather don't agree with this one.
'Voting' should almost never, ever be used.
For so many reasons.
Rarely should everyone have an 'equal say'. You are not 'equal citizens' in this. Second - is that it leads to politics - 'I helped you last time, you help me this time' etc. Unless you get into crazy things like 'hidden ballots'.
There is no substitute for leadership.
Often, a mediocre decision, executed upon well, will lead to better outcomes than 'great decisions' wherein their is fudging, lack of insight etc..
In situations that require broad input, a decent moderator should be able to assess the 'consensus' and go with that.
In many design situations, architects and designers should basically set the direction, absent issues brought up by team members.
Things like 'should we all use the same IDE' or 'what IDE's can we use' - obviously require a lot of input from team members and maximum flexibility.
But things like API design ... that needs to be really well curated and it's best left to the experts - with strong feedback from team members.
Second this, true in my experience as well.