Streamlining Development: The Crucial Role of Standardization

Pradyuman
Debugging Diaries
Published in
5 min readJan 4, 2024

Introduction

So I recently shifted from an MNC to a startup. At my old company, I never understood the importance of following a particular set of rules for standardizing various processes like PR creation, story creation, etc. But now that I work at a startup where these standards are missing, I understand their importance.

The Significance of Standardizing Git Commits

The Git commit message is a really important feature that a lot of early-stage developers underestimate. When I joined my first company, I used to see senior staff engineers writing commit messages in a particular standard, which goes something like:

[short-id] :<single-line-description>

I didn’t understand the importance of this until one day, when I was going through code and was unable to understand the logic behind it. Using this commit message, I got a message from a person who wrote code in no time and cleared my doubt.

In this article, I am not giving you any suggestions on how to standardize your commitment but just helping you understand its importance.

Crafting Consistent and Informative JIRA Stories

In most videos related to agile practice, they guide you about how to move your stories around the board, what a backlog is, etc. But fortunately or unfortunately, my first team didn’t have a scrum master. Team members have to make their own stories. And adding to it, we followed the Kanban model; it’s like an endless sprint where you take up a new story whenever you are done with the old one.

I used to struggle a lot with finishing my story. While my teammates were finishing 3–4 stories, I was stuck in 1–2 stories. In a casual discussion, I brought up this problem and got some really simple yet effective solutions for it. It was all a game of story points. The rules were simple:

  1. 4 hours of work was equal to 1 story point.
  2. No story should have more than four story points. If it will take more effort, break it down into smaller stories.

By applying these small changes, I was able to increase my velocity.

Code Naming Conventions

I became aware of the significance of code naming conventions during my time in college, when I had to debug my own code and could not figure out what a stores. Although it was a small project, it took me a couple of hours to figure out what was wrong with the code. From that day on, I pledged to write descriptive variable names for projects with a large number of files.

There are lots of standards that you can follow; some languages even suggest their own standards for variable naming. Here are some links to help you with the same:

  1. Golang Conventions
  2. Python Conventions
  3. Google’s Conventions for C++

You can find many more of these standards with the help of a simple Google search.

Enhancing Collaboration through Documentation Standards

While following standards is really good practice, it’s equally important to maintain and document what standards we are following because there are hundreds of standards available out there to be followed. So if two people in the same team start following two different standards, the purpose of bringing in the standards will not be solved. So it’s really important to set common ground on what standards to follow.

To automate this process, people generally use Linter. Every popular language out there has its own version available to use. I would highly recommend using it for projects in order to write more efficient and maintainable code.

Resistance to Standardization

Here is the harsh truth about people.

People fear change if they don’t understand the reason for it

When any organization starts standardizing its process, be it coding convention, PR creation rules, or story format, it’s not just a change; it’s a cultural shift. People are so used to old ways of working that they don’t want to put effort into something they are used to doing subconsciously. So leaders and management have to put in some additional efforts to make them habitual to new ways. One way to boost standardization process is by using automation whenever possible.

Linter is the perfect use case for this. Instead of making programmer code in a particular way, we give that task to an automated process. This way, the programmer doesn’t have to put in additional effort, and standards are also maintained.

Conclusion

Being in a new place where there is no initial base for the various standards mentioned above gives me the opportunity to check which standard will suit me and the organization most. In addition to this, it also gives me the opportunity to explore more about the standards followed by other organizations, and their pros and cons.

Thanks for reading this far. I hope you got some valuable information from this article. Do share some standards that you follow at your organization.

--

--

Pradyuman
Debugging Diaries

Architect of Insight: A Devotee to the Art of Observability | Building Next-Gen Observability Solutions @ CtrlB 🔍