How to create high quality software

Thomas Hansen - Sep 14 '22 - - Dev Community

This will be a surprise to most developers, but the faster you create code the higher quality you will get (in the end). It's almost impossible to believe in this for the average software developer. However, it's actually got nothing to do with software, but rather how the human brain works. To understand it, let me include you on some science about quality, and how to create high quality software.

20+ years ago some scientists were researching how humans taught themselves to create high quality products. They invited 100 people, divided these into two equal groups, with 50 in each group. They verified that none of the participants had any prior experience with ceramics, and gave these two groups two different tasks.

  1. Group 1 was to spend 8 hours creating one single ceramic pot
  2. Group 2 was to spend 8 hours creating as many ceramic pots as they wanted to

After the groups were done, they hired professional ceramic teachers, and had them evaluate the work. The group that had been allowed to create as many pots as they wanted to consistently outperformed the group that was told to create only one pot. Some of the participants that were told to only create one pot, weren't even able to deliver anything at all.

Transforming this to software development implies that the more projects you've participated in, the higher quality you'll be able to deliver over time. Hence, don't try to create "perfect code". In fact, ignore the quality of the code completely initially, and just deliver as fast as you can, as many projects as you can, churning out as much code as you can - And over time, the quality of your software will inevitably soar.

I realised this many years ago myself. As a consequence of my "discovery" I started creating LowCode software development automation systems that automagically created my code. Over time, as I analysed my code, I realised the code was literally perfect. There was literally nothing I could do to improve its quality. Today in Aista, each of us working for Aista can create literally hundreds of software projects per hour each. And we are taking advantage of it as we create software for our clients and partners.

Don't chase quality. Quality is a function of lines of code per second. Increase your LOC count, and quality becomes a natural side effect

In a way, this is the equivalent of applying "machine learning" to your own brain. The reasons are because machine learning is all about the number of iterations. The more iterations a machine based chess algorithm have gone through, the better the machine becomes at playing chess. The paradox is that the human brain works the same way.

As proof of my thesis, realise I wrote this article in 5 minutes. I basically just "plunged my thoughts" into the Markdown editor of DEV, yet still it's probably higher quality than whatever 98% of the world's population would be able to churn out, even if given hours to write. The reasons of course is that I've written thousands of such articles before.

Quality is a function of quantity. The higher the quantity, the higher the quality!

If you want to enable yourself to create thousands of projects per day, like we're able to do, you can follow the white rabbit below ... ;)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player