I liked his pointing out that we are affected by "charisma-driven-development'. Some of my favorite takeaways came near the end: --Code review seems to be much more effective than Test Driven Development at developing good code. --Sleep deprivation, stress, and other brain-taxing effects contribute dramatically to poorly written code. I wish the presenter would have gotten more quickly to the points that were made and that there had been more examples and graphics in the slide deck.
I’ve long been skeptical that doing analysis on open source code bases is representative of the work professionals do in proprietary code bases. Yes, Github is an easily available dataset, but is it truly representative?
TLDR: Code reviews + enough sleep are the only things that have measurable impact on defects (code quality?). Excuse my while I write my 3D game engine in Visual Basic 5 using COM objects and RPC to do math on my distributed cluster of Visual FoxPro servers.
@@SimonMorganYay This touches on a major obstacle in adopting empirical practices in SE: many in this profession are simply too lazy to watch a damn video, let alone read/conduct research.
The heart of the problem here is that the "empirical method" simply does not apply to an activity like software development where you never need to write the same thing twice. It is obvious that things like SOLID, TDD, OOPS, are simply schools of thought with no underlying benefits but studying them does no good. For example the "study" that shows that "code review" finds 60%-80% of "bugs" is laughable. If it did work any company would get an enormous competitive advantage simply by mandating code reviews - of course they get nothing of the sort. But that's the problem with trying to be "empirical" - applying methods that are unsuited to the problem domain they are "studying" simply because they work in domains like physics. The "scientific method" is not designed to work in all domains so trying to shoehorn it here is a recipe for failure.
@@CripplingDuality Is your snarky comment supposed to imply that companies _do_ get ernomous competitive advantages by doing code reviews? And they just don't take advantage of this because they're not as smart as you so they haven't figured it out?
@@mymoomin0952 Some do and don't don't. I'm currently doing some consulting for a company that doesn't have any automated testing at all and no formal reviews. Yet they are pretty successful w.r.t. their competitors and the product works well. The codebase is not "amazing" but it's pretty much the same as other companies I've worked in that do have automated tests and reviews. It's not like they have a large number of producing issues either - it's all pretty standard when it comes to feature releases and occasional bugs.