Our project head is a genius software architect, a gentle and considerate person in general, a geek by nature and delicate by voice. But, at times, we (my teammates and I) differ in opinions -- especially of software architecture issues, system design issues, UI issues, etc., with our leader.

When and how (if ever) should we express the difference in opinions?

Suppose you think your boss is wrong. You have three options


do what he says and end up frustrated thinking that you do something stupid - not very good long term
tell him he's an idiot - he'll either ignore it or you get communication problems - gets you nothing or hurts you.
tell him that you have specific concerns about the ideas he proposes and explain those concerns - any good boss will explain his position and then you can get to a decision that is good for the business. It's quite likely you'll see that his idea is better than yours and you've been ignoring something very important.


Always think of the outcome. In most cases you don't want to be right for the sake of being right, you just have to do good job. The third option helps achieve that.
