How would you describe the way that decisions are being made in your software development cycle or in your company?
Is it Democracy?
Is it Dictation?
Is it Anarchy?
Here is a sentence I heard from one of my customers:
"This is not democracy, I am the manager, I decide what to do"
I believe that software decisions should be reached only if excepted and agreed by the team. Any input can be helpful and should be considered. Team member may have an opinion that can lead to a better solution.
Having said that, there is a possibility that the team will not agree on something. What then? I think that a good team can reach an agreement. In order to reach one, the team or one of the team members should sometime "climb down from the tree" or make compromises. It does not matter what your title is, whether you are the manager or a developer, use other team members to help to reach the best solution. Sometimes, it is not simple nor easy to give up your ego. If still the team cannot reach an agreement, someone should help the team reach one.
It is very easy to manage the team by authority and say something like "I am the manager…". I think that a true manager or a leader is one that manage the team without having to use authority.