Engineering requires more Science
Technology Flat Earthers
Flat Earth arrived in technology a long time ago with TDD and Clean Code. There is no scientific evidence proofing that 10-15 lines code means that the code is bad. TDDs claims to improve design but making features with tests. This is like losing weight by eating. What is funny is that in Flat Earthers there is no scientific proof and they believe just because they believe. TDDs/CleanCoders often fight like there is no tomorrow, and most of them never ever read the clean codebook. For sure we need a Detox.
I was thinking and actually is much worst them TDD / Clean code, our entire field losing senses. It's funny because we are leaving a technology moment where Data Science and Machine Learning are growing like crazy and are realities. So the question is why are we not applying Science to Engineering like we are going in Data Science?
We live in a are where everybody has an opinion and you need to hear people's opinions no matter is they are completely based on bullshit and people don't bother to even read 1 book or do any basic research. So I believe we are living a kind of middle age are of technology where there are lots of things we dont understand and we do not want to understand because we just choose to have feeling over-engineering, feelings over science, feelings over reality, feelings over sense.
Wrong values
Do not get me wrong. Collaboration matters, listen do your work-maters matter, however we need to be able to apply the right values. Otherwise, we will have very poor and mediocre results. For instance, it's important to everyone has a voice, for sure. But if you are saying 1 + 1 = 42. There is nothing to argue, there is no reason to listen and fulfill bullshit and fantasy. That's the big issue I see going one now, everybody wants to add value to the table, which is great but very feel and studying and doing the homework properly to do it so in the way that makes sense.
So going back to the values, what really matters? Have the FAKE sense of Adding value and being right and have an opinion or LEARN and do the right thing? Agile and Lean are about Effective Learning. In order to learn we need to be humble and say "I don't know".
Science-based movements
Deming was a statistician and Lean end up rasing from the manufacturing floor. Lean was always in favor of Data. Data Science is. In Data We Trust! Amazon, Google, and several SV companies are Data-Driven. DevOps is about data and is about proper learning.
Lean Startup is about experiments and assuming you dont know and you need to validate your assumptions with experiments. Product discovery goes on the same track, we need to validate our ideas with several experiments like User Surveys, Landing Pages, A/B/N Testing, Wizard of OZ and so on and on. Functional Programing is based on Math. All new languages have functional programming concepts that are going more and more into the rabbit hole.
How to Improve?
If you are an engineer get back to the basics: Algorithms and Data Structures, they matter, stop trying to fix everything with a relational Database and some old OOP language. Software Design matters and if you did not read it yet I recommend read the Philosophy of Software Design. If you are a Software Architecture you need to make sure you have clear and real use cases and do proper Trade-Offcs, Pocs and benchmarks to make sure you are on the right track.
If you are a discovery professional like Ux or Lean BA you need to make sure you apply science in your experiments and follow the scientific method. If you are a manager do not manage by common sense in numbers, understand why something happens, work with RCAs, 5 whys and system thinking tools. Increase your talent density and hire engineers with a science mindset. More process and control you have, more slow your system will be and worst results you gonna get. Sharing is caring, make sure information flows and there are regular training, Lighnigh talks, Dojos, Hackathons, Code Rethreads, Host meetups, and incentive open source commitment.
Cheers,
Diego Pacheco