I love the topic of regression but hate regression in itself. As a student, my newly found subject is Regression and the Culture that creates it. Not just the Engineering culture but the culture at home, at school, when we are with our friends and how we humans are brought up.
To me the idea of developed places and developing places is about who prevents regression and who creates it. I carefully did not write “country” because with the little travel I have done, I can say that in every country exists “developed” places and “developing” places.
Upbringing and the impact it has in being oblivious to regression
I was born in a lower middle class family. We were a joint family. We had 9 people living in 600 sq foot area. My brother and I were the two kids at home. We got a lot of love. Everyone prioritized us against anything else. We had one toilet for 9 people. We had someone dedicated to clean the toilet once a day. That wasn’t one of the 9 living in the house. It was a help who would come in to do that job. So as kids we were driven to a mindset that it is someone’s job to clean after us.
We woke up from our beds – were not asked to make our beds but were asked to just go and freshen up to get ready to school. Breakfast was cooked by mom and all we had to do is do well at school. All the so called comfort of not cleaning up after us was to do well in school.
This is the story of not just me and my brother. It is a story of how many kids grew up in India to get themselves an Engineering degree and a job. Even today when someone returns to their home – everything is taken care of. Their real comfort zone is their home. Their parents and relatives treat them like prodigy.
People at home treating kids like their only job is to excel at school create narrow skilled regression creators. Without a holistic approach to helping someone grow up – the generations of regression creators need two people to clean up after they are done. Even with the code they write.
This upbringing had nothing to do with the financial status of the family. In a country like India, the richer kids were more spoilt that way. They created more regression because wealth covered up their regression. A friend of mine at school took me to his home once and I was baffled. There were 6 people living in 3000 square foot house. Apart from the 6 people – they had 2 people full time at home whose job was to clean up after anyone is done. After the kids threw their toys and moved on to something – the help would put the toys back. After they are done potty – the help would clean up the kids and the potty.
During my late teens, I did stay at my friend’s house in Bangalore in the name of group study where he did clean up after he was done. I was baffled by it. I never folded my blankets and cleaned the plates in which I ate till then. I was having a new uncomfortable experience. It made me think about how we have been brought up.
Women in India are more regression aware than men
While I shared with you the story of us elite boys and men creating regression, girls in India are brought up to clean up after we elite class boys and men are done with things. Our mothers and sisters do the heavy lifting.
Since they know what it really means to clean up after someone, in anything they do, they expect little help from others to clean up. While my mother engaged a domestic help she would still end up doing a lot of work. After she is done cooking – she would clean up the kitchen. Men would just leave the kitchen (even if they did cook) as though they have won the war and nothing else is important.
Due to the nature of knowing the pain for someone to clean up after they are done – they are more regression aware than men. Being aware doesn’t necessarily translate to preventing regression but being aware is the first step to prevent regression.
The culture in the West that helps prevent regression
When I traveled to some places in the West and stayed at a few houses, everything looked different. The first time I went out with a friend and had to pay for my own dinner and he for his was the biggest cultural shock I have received. I noticed how everyone does everything in their house. Really small kids can leave a mess but once they are of certain age – cleaning up after is ingrained.
I also noticed people being good at carpentry, plumbing and basic electrical work required for house. Their garages have the toolkits required to fix a whole lot of things at home all by themselves. They depend less on other people to do their own work. Two reasons. One – if they can do it – they love doing it. Two – it is also expensive to engage a specialist and is only worth if need be.
The concept of domestic help is not so common in the West. In one of the houses I stayed, there was a help who visited once a week and charged a good money (and I am happy they did).
So, people in West are good generalists who respect and value the role of specialists. People in India are specialists limited to one or two things and don’t respect or value generalists.
Learning the culture of the place from public toilets
Everywhere I go in the world, I observe public toilets. I have done quite a few roadtrips in the US. As nature calls everyone’s phone number, I had to visit public toilets. Observing how toilets are maintained is a great way to understand culture of the place. In my few road trips in the US there were 20% of the public toilets that were horrible and 30% just okay and 50% were clean.
Public Toilets even in India that showcase culture of the place and culture of the people visiting the place. For example, toilet at Starbucks is 80% of the time cleaner than the one in Cafe Coffee Day in India. The coffee at Starbucks is twice the cost to that of CCD. I have spent equal amount of time and unequal amount of money at both the places.
Starbucks in India has less staff sometimes than what I have seen in CCD and yet they manage to achieve this. It is a combination of multiple things. It is keeping it clean so that when someone messes it up – they feel guilty enough to do some cleaning on their own. Also having the right lighting matters. Dark places are good to hide the mess.
Also when someone walks into a toilet and it is super clean – even people with the mindset of “let someone cleanup after me” try to keep it clean because the next person going in is going to come back and give an awkward look if they are still hanging around the cafe.
Be it Starbucks or CCD, I always make it a point to leave it cleaner than I entered. This is with two things in mind. One – helps promote a good culture. Two – it makes it inclusive for children and women especially in a unisex toilet.
How is all this related to Tech, Engineering and Quality?
We have the same set of people who don’t cleanup after they are done, writing code, writing test code and striving to achieve quality. Their deeply ingrained nature of – someone will clean it up – creates regression. Even if people are regression aware. The speed at which a company wants to move – the constant changes they want to deliver – makes people focus more on delivering a result without bothering the regression they are creating.
If a company has enough money to hire people to clean up – they manage to move forward albeit growing and managing the regression. If they don’t – they collapse.
Regression becomes a blocker for speed. This is when many companies think automation can remove the blocker. Very few, I mean, a handful, think about how to prevent regression in place.
Lifecycle of regression in *most* (not all) tech companies
- No regression >
- Minimal and unnoticeable regression >
- Regression starting to choke – Let’s hire people who will clean up >
- Regression is not a blocker now >
- Regression is a blocker again – Let’s hire people who will automate >
- Regression is a not a blocker now >
- Regression is a blocker again – Now that we have invested enough on it – let’s not invest more >
- Learning to adjust and live with regression
I have seen this across many organizations. Many means many. A hundred of them. 10 years of working with them. Having seen many people come and go but just staying there as a forever student. Observing how regression comes to choke and how people respond to it. How many of them do a quick fix and how few really go and address the root cause.
Reducing and preventing regression
Some thoughts. Not all.
- Regression is a combination of multiple factors. Human behavior is one component to it. The culture that people in C and V level bring in plays a vital role to what kind of human behavior is aided or not.
- Being regression aware is very important. Regression cannot be completely avoided. It can be minimized to the extent that it does not become a blocker and it does not need to be managed.
- Tech debt that gets accumulated results in huge need of regression cleaners. Keeping the tech debt at minimum is an equal responsibility of leaders as much as creating the tech piece is.
- The investment being put in on regression needs to be on check. The regression created by trying to reduce regression is an invisible cost that also needs to be factored in.
- Even companies who are cash rich should put more money on preventing regression than managing it.
- Look at automation as necessary, continuous but a temporary solution to reduce regression. Real regression reduction is in the hands of people and not inside an automation script.
- Every team should have a bonus to reduce regression to a minimal. This way the company can progress fast in the medium to advance stages of the growth.
- The larger focus of Testing and QA should be in identifying where regression is growing and partner with everyone to reduce and mitigate.
- Reducing and preventing regression is a continuous persistent goal that marries vision and people behavior.
- More and longer people get used to someone cleaning up after them – the more deeper regression runs in their blood and the culture they influence in other people they work with.
- Celebrate not just successful releases but celebrate no or reduced regression.
- Have a dedicated stream of focus in observing and collecting data around reducing and preventing regression and talking about it during retrospectives help shape the behavior of people.
- This can be addressed only with a top down approach. Never a bottom up.
Premature conclusion on reducing and preventing regression
Inefficiency is the largest employer of the world. Remove inefficiency too quickly with tech and you are setup for a major civil unrest.Kunal Shah : https://twitter.com/kunalb11/status/1142731255001296897
I completed 16 years in testing 95% of the bugs I found were supposed to have been found during unit testing. It amazes me that I have built a career out of finding things I was not supposed to. Long live unit testing.Pradeep Soundararajan : https://twitter.com/testertested/status/1164961489037299712
The day I realized how much more useful I can be in the value chain when I am preventing and reducing regression – my understanding of everything we do in tech changed. I am focused on helping my customers prevent and reduce regression. No obsession to any form of testing.
Some portion of it results in growth in my business and most portion reduces it. It sounds scary but If I don’t disrupt my own business someone else will and the fear comes true.
Not just for the sake of my business but I do care for people. That’s why I leave toilets and places cleaner than how it was when I entered. It gives a great sense of satisfaction to help people live in a clean place.
Be it coding or be it in toilet – the longer the mess remains – the harder it becomes to clean. Clean your own mess. Help others to clean their own. Let cleaning be everyone’s responsibility. If someone makes it your job to clean – start there but don’t remain there forever. Help the company move up the value chain in preventing and reducing regression.
Teach kids to clean after themselves. In everything they do. May the world be a cleaner place. May this post become irrelevant by the time my daughter grows up to understand “regression”.40