I have the “chance” to review old codes while upgrading. The “perfectionist” me end up refactoring and recoding some of the logic. This is a very typical issue of outsourcing enhancements. You can see layers and layers of codes on each other. Some overlap each other doing the same thing. It is no wonder that object locks and table locks occured!
This bring us back to the fundamental of code quality. With Agile, how does we ensure code quality with speed?
- Agile is about discipline with quality.
- Each iteration must include improved code quality.
- Code quality is proportional to performance. If your performance is degrading, it is time to review your codes.
- If you find the code hard to read, it is a sign of poor quality. Good codes are structured nicely and easily readable.
- Documentation is the code. Good codes means lesser documentation. Let the codes speak for itself.
- Your character reflect your coding. Good Agile coder emphasis quality deliverable and “do it right the first time” mentality.
In short, Agile requires high level of code quality due to speed and ease of change. While this is often neglected, do be mindful that this is reflected to the next Agile coder. You will not want to make me turn my head and vomit reading your codes.