Mon. Feb 2nd, 2026

Unlocking Efficiency: Rethinking Obstacles in Software Development

How many times do you open a door per day? It’s much higher than you expect. The obvious ones are homes, bedrooms, toilets, cars, offices, restaurants and shops. Now let’s consider the non-obvious ones, fridges, kitchen cabinets, metro tourniquets, train sliding doors, elevators, changing room curtains…

Doors create frictions

Every time you are forced to go through a door it’s an obstacle that slows you down. Some doors are here for a good reason. Your main door is for security, your bathroom door is for privacy.

Does your kitchen cabinet look like the left picture where cupboards have doors to hide what’s inside? Surprisingly, restaurant kitchens don’t have a single door. Everything is visible and easily accessible. It looks messy but it’s highly efficient.

How does it apply to software? Let’s dive deep.

Login pages are virtual doors

Login pages are doors that you need to unlock to access more content. Typing passwords is time-consuming, it’s like looking for the right key.

In your development process think about every time a developer needs to log in (laptop, email, saas). See if you can remove friction by removing useless logins. How many times are you requested to use a MFA? How long does the session last before you need to reconnect?

If you can’t remove a gate because of security, there are ways to make it a painless experience. Face recognition to unlock mobile devices, fingerprint to unlock laptops, password manager for SaaS. It’s like having a bouncer who recognised you and opened the door for you.

Please don’t get me wrong security always creates friction and you want a strong door for your flat but don’t need one for your bedroom.

Loading times are virtual doors

Loading screens are easy to notice in video games. They always interrupt you in an exciting moment. When you open a door to go to another room, the game displays a loading screen while it loads the corresponding game assets. In most recent games, slowly opening airlocks or elevators is a way of hiding loading screens.

Loading times are everywhere. Whether it’s compilation time, running tests, linter or just waiting for a webpage to load, each time we spend waiting is time lost. For instance, I’ve seen a team enforcing a linter during a pre-commit hook. This was to ensure the consistency of the code. But you have to wait 20 seconds every time you commit. If the linter fails it doesn’t let you commit. You don’t want to be battling a linter, over a missing space when trying to fix a production bug at 2 am. Instead, you could just return a warning for the linter issue. Or you could include the linter as part of the save function of your editor.

They may not feel like a lot, but they accumulate. It’s usually a good investment to reduce waiting time for the team.

Process and approvals are doors

“My door is always open.” said every manager ever. Yet everyone would prefer not to have to visit their boss and be autonomous to make decisions.

Code reviews are doors you must go through to merge. Budget approval, and hiring validation, board meeting. Almost every time you need to ask for permission it’s a door that slows you down. Amazon has a leadership principle that sums up perfectly

Bias for Action: Speed matters in business. Many decisions and actions are reversible and do not need extensive study. We value calculated risk taking.

Conclusion

I acknowledge my obsession with doors. Use them as a framework to make decisions. Think about doors next time you put a process in place. You always need a door but different goals require different doors.

By admin

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *