Controlling Coding Standards. How And Why
12 March 2021 3 min read
A middle-sized outsourcing company QArea from Eastern Europe decided to use Duecode in several areas to fix with a coding standards initiative. These areas are:
- Low maintainability of the code.
- Developer lock-in.
- Manager blind spots of what’s happening on the project.
- Hard-to-measure coding skill sets of developers.
- Certain surprises come to light too late (usually at the time of the delivery).
QArea’s primary purpose was to start a company-wide initiative for better project control and accountability. It will result in a calmer work process, transparency and early issue identification, less negative risks associated with delivery.
Here are three rules we were starting with:
Meaningful description in the commit comment
Each comment to a commit should have a short description of what has been done. The amount of symbols >= 30.
Less than 30 symbols
This comment doesn’t add any value by having a meaningful description:
30 symbols and more
This comment is OK as it describes what developer worked on:
Without the mentioned ticket, it’s hard-to-impossible to understand what the developer worked on, looking at, and his commits.
It could be that the ticket was not created, so the working developer is doing isn’t tracked at all. As a consequence, it’s impossible to negotiate this work with the client or understand what the developer is working on and how to check his delivery.
Mentioning ticket in the commit comment
Each comment to a commit should have a short description of what has been done.
The ticket is not mentioned
Ticket is mentioned
If a ticket isn’t mentioned, it’s impossible to attribute a code (delivery) to the issue in a tracking system (request). Thus traceability fails. It creates a wide array of issues that attribute to black-boxing the work. Less transparency = more risks = less control = less certain delivery.
Code quality threshold
The code quality of each commit deployed should have at least B code quality rating.
Code quality is C+ and lower (yellow, orange, and red zones)
Code quality is B, B+, A, A+ (green zone)
Standardized code quality is what we offer to clients. It helps developers that lack experience and skill, get feedback and correct issues.
Code quality is a cornerstone of high-quality delivery as less technical debt = less time spent on fixes = more value delivered to the client.
Duecode helped QArea to bring transparency into their workflow and develop a work habit for engineers. These lead to increased efficiency and productivity. Moreover, now the development process becomes visible for managers, helps them to see what happens with their codebase, and get valuable insights on each developer.