What is a standard?
Standardization is a process of developing guidelines or way of doing things for common and repeated tasks. Standards are generaly opinionated by experts in the field and are widely accepted by the community.
We require standards to follow to have a common ground for collaboration and organization of repeated tasks.
Standards for collaboration
- When multiple people are working on same domain / system, it’s much easier to follow a pattern for specific tasks.
Standards for organization
- Even when working alone, it’s easier to have a pattern of doing repeated tasks.
So, Basically standards form when a certain task becomes repetitively accessed among a group or by an individual.
Standards are not rules, they are just a way of doing things. They are not enforced by anyone, but are widely accepted by the community.
How I define standards for use cases.
When I often come across a task which might be recurring, I try to do multiple Itertions of it and find certain patterns.
For example, consider a web server.
- I identify different tech stacks in which I can build a web server.
- Then I try to analyze the deployment process of each tech stack.
- After analyzing different steps involved for each tech stack, for the use cases I have, I’ll make the decision of which tech stack would be standard.
So, yes it’s like finding a common place for dinner or haircut. We explore for a bit and find a good place and then we keep going there.
This also means, standards are not perfect or not the best!
There will be better ways of doing things ( just like a better diner ). And the standards can also change over time.
See React for example, It’s an industry standard which formed because everyone needed some interactivity. It’s far from perfect, but it’s widely accepted and used.
Either way, more time we spend on some system, we’ll find better ways of doing things and we’ll keep improving. So, don’t let the idea of standards stop you from exploring new things or give you a false sense of security.