This document is a collection of fallacies I encountered during my years as software professional.
Most of them are known from the literature in some way or the other.
The problem with them is that they might be correct according to intuition. However, lead to a lot of unnecessary spent money.
Interestingly, I see the mistakes repeated over and over again. Because of missing knowledge, due to well known cognitive fallacies or also because of opportunistic behavior and politics.
-
Shortcuts Exist They don't
-
One-Fits-All For architecture and/or practices (like QA, integration, )
-
Do it later Divergence of responsibility
-
Focus System- instead of Business Requirements
-
Upfront illusion
-
Always positive netto produtivity
Adding Developers always helps to improve and never lowers productivity.
Problems: 1. producitivty is lowered 2. good ppl get frustrated 3. team changes to the bad -
No Opportunity Costs
Adding a bad dev to a team and forget that you miss the opportunity to add a good one. -
Quality does not matter
Also includes "quenstiong engineering practices" because they are easy to identify (like test writing and code reviews) -
Wrong Metrics
The act on wrong metrics which generate missleading incentives. -
You cannot manage what you cannot measure
Take this for granted and therefore act according to the "Wrong Metrics" fallacy. -
Hire for Projects
-
Customer Focus
A good thing. However, see definition of waste and non-necessary-value add activities and necessary-value add activities.
Often in combination with "Too Expensitve Improvment" -
Too Expensitve Improvment Fallacy because one just extrapolates the gained time without considering that it's an expontential growth of time gain and that it could be an enabled for other improvments.
-
CVs do not matter
-
Experience matters
-
Semantic Missmatch
Everyone is free to define terms as he wants. However, taking a term which represents a concept, redefining and applying it will not lead to the same outcomes. This often happens with hype terms like "agile" and "DevOps". Ther original meaning is dismissed or the meaning is redefined for a company. The fallacy is to expect that the new concept will lead to the same outcome as the original concept, just because one uses the same terms. -
Cargo Cult
This is similar to "Semantic Missmatch". The fallacy here is that cherry picking e.g. easy to implement practices or a part of a mindset will lead to the intended outpt -
Appeal to Methodology
A famous exapmle is "This is not Scrum, we are not doing Scrum, this is a bad thing.".
-
Progress is money spent
-
Focus on project
-
Speed stability trade-off
-
Avoid Pain When it hurts, do it more often.