I think it&#x27;s more complex than that.<p>If you look at a practice like Unit testing,  you tend to find some organizations are having success with it and others not.  Some of them see it as a &quot;waste of time&quot; and others see it as a &quot;timesaver&quot;.  How the practices are implemented are as important as the practices you decide to use.  If the unit tests for your project take 3 minutes to run you may have a problem.  If you are writing a large number of hard to maintain mock objects you may have a problem.  If the program is not divided into units that are easy to test that is a different problem.<p>Another good example is the use of Vagrant.  It is very possible to have Vagrant spinning like a top,  but in a lot of places you hear software management grumbling that a team of 3 people wasted 2 weeks screwing around with it.<p>I see it so common for developer discussions to center around &quot;cargo cult&quot; positions (i.e. &quot;singletons are evil&quot;) and not around a real dialog about the work to be done and how to do it.