When you are building your product, there should be a big focus on removing frictions on every aspect of your product building and operations.
These friction points could be related to how your team is building their product, or it could be how you are operationally running your company. Some examples could be related to the steps needed to build and push the code for your apps. Or it would be related to the steps needed to deploy your code. Or this could be related to the steps needed by a salesperson to generate a new lead.
Each friction point kills the momentum of your team. This is especially impactful in a negative sense when your team is in highly productive zone. This is equivalent to a situation where while you are running a marathon, your shoe laces open up every 10 minutes. And you need to fill up a form and get an approval to run at every mile. This would kill the momentum of the runner and make them less likely to finish the race.
One another angle that is a huge problem for companies are when your team starts being so afraid of their own product code and processes, that they do not want to make changes. Once this happens, they are unable to make the right choices. They cannot develop the features which are needed because it would break too many things. Even if they end up trying to develop, they are not able to do justice to the feature because they are scared to touch parts of code and try to work around it.
As this goes on and on, this leads to complex bugs, which can only be fixed by changes in the scary parts of the code. However, because people do not want to touch that part of the code, they try to patch around that, which leads to even more bugs. This can bring down the morale of the team and your best people might start leaving. You could end up losing the very people who had the best chance of fixing this issue.
At the end of it all you are stuck with an unmaintainable code and unable to respond to the market need and the competitors. Companies must never be scared of their own code and whenever they find this happening, they should take the problem head on and delve into the code and do the right thing. This helps them maintain momentum and build the best product.
It’s understandable that the above steps can be difficult to do that especially when your are understaffed and barely able to meet your deadlines. For that very reason, it’s important to create a fine balance and find the right fit for yourselves. What matters in the end is whatever gets you faster to your goal. The choices people end up making largely depends on their individual situation.
One thing that has seen to be helpful to people is if they have “great taste.” If they accept a subpar situation and are fine with dealing with friction, fear and frustration on daily basis, they might end up in a tight spot. However, if they have great taste, they find constantly strive for a better operating situation, which helps them find time and energy to fix the above issues.