The acid test I use is:
- remove / replace all the phrases feeling like for-programmers, as-a-developer
- review the remainder
Let's see how it works using your examples.
- your question. Fails the test - nothing programming-related in the remainder:
We have a situation in our team in which one member prefers his own ideas no matter what problems it has.
When confronted with issues about a specific work he made - this teammate can get very protective and does not see the problems.
In a result, this is a serious work issue for our team, because in the end some of the teammate's work will fall through to the end-result, and it will damage our work result.
Should we confront the teammate about his overall behavior?
Should we go the boss and tell him we can't deal with it and it's hurting our work results?
- "boss that only seek to please users". Passes - no amount of my acid can wipe out:
Automatic Reference Counting for iOS programs. This is a major improvement over the manual retain/release calls one previously had to use. The code is easier to write and easier to maintain. The changeover itself is likely to produce some crashes. But once those are worked out, the number of random weird crashes is likely to go down.
- "colleague who makes bad decisions". Passes - because of:
M:M relationships are being stored in the database as a comma-delimited string rather than using a conjunction table to hold the relationships
- "decisions we think are right". Fails - nothing programming-related, nothing at all
Saved only by clearly programming-related answerclearly programming-related answer. And by the fact that it isn't damaged (yet?) by another dozen of not so good answers that somehow just tend to stick to off-topic questions like that.
prototyped/implemented things my way ahead of time (on my own time) so that when a decision meeting comes, we could say: "Well, this already written code..."
Not that passing the test necessarily guarantees the question is good. Rather, failing it indicates that question is likely bad.