How To Determine If You Need Better Code Quality
Say you’re a businessperson running a startup. You're told that code quality needs to be improved. You’re not sure how to think about this, given that you don’t understand tech. You feel you can’t make an informed decision. What do you do?
Answer the following checklist, which is presented in terms of business outcomes, not tech:
- Are bugs occurring more frequently than you can tolerate?
- Do you keep having more outages than you can tolerate?
- Are you able to keep up commitments made to customers?
- If a prospect comes along and asks a lot in technical terms (lots of users, low latency, high reliability), are you able to confidently say yes?
- Does your system work fast in peak hours?
- Are your customers happy with the tech 1 ?
- Does the system have arbitrary limits like number of users in a group that need to be lifted?
- Do you want estimates to be less unpredictable? They’ll still be unpredictable, just less so.
- Do your engineers say that development takes longer than it should because of the bad code?
- Do you want your team to do fewer things better?
If you answered no, then you don’t need better code quality; you should continue doing things the way you’ve been doing them.
If you answered yes, then you need to invest in better code quality. From now on, some time will have to be allocated every week towards improving code quality. All engineers will have to be trained. Processes like code review will have to be in place. You as the CEO should stop asking for your requests to be done ASAP somehow. Things will be done only properly. Enough time should be given, rather than having unrealistic expectations, because a commitment was made to customers, or for any other reason. If you want code quality, the entire company should run in a different way from now on.
There’s no free lunch. If you want the outcomes above, you have to pay for them.
If you’d like my help with the above,
Not features, UX, etc.