The leadership principle is as follows: “Leaders are obligated to respectfully challenge decisions when they disagree, even when doing so is uncomfortable or exhausting. Leaders have conviction and are tenacious. They do not compromise for the sake of social cohesion. Once a decision is determined, they commit wholly.”
I have a hard time with this, e.g. my team is debating between two JavaScript frameworks. How do I stay firm in the decision while keeping others positive?
Sometimes the answer is not that important, it’s about making people feel heard in the decision making process. So a good tech lead will create a process where there are clear boundaries around idea generation, debate, and decision making.
Having a clear decision maker is also important, and make sure that is broadcasted well ahead of the decision actually being made.
Finally, after the decision is made and some time has passed, do a retrospective (either group or 1:1) to ask for feedback around what could have gone better. This acknowledges that the decision was tough, but you're extending an olive branch to keep improving things.
Would the decision maker always be the Tech lead (formally designated / acting) or would that be the person who is the owner for the feature related to which the decision needs to be made ?
The decision maker should ideally be the person who is going to do the actual work (the person closest to the feature). In many cases, though, if the person doing the work is junior, lacking context, or hasn't yet earned the trust of the team, the Tech Lead could make the decision.
In these scenarios, I'd make sure the feature owner is closely tracking the decision process and they feel heard by the Tech Lead, since they'll be the ones living through the consequences.
Makes sense - thank you 👍