Small businesses have their own set of problems and context. Many are hyper local and suffer from problems of scaling. Plenty are family run businesses with issues of next generation involvement or family problems getting in the way of businesses. Old and trusted employees with the right intentions but the wrong skill set.
Having had the privilege of closely working with a family business, I will share one of my experiences of the managing your way around in such businesses.
In most small businesses, nobody except the owners or their most trusted immediate successor gets to be the boss. Everyone else in a constant pursuit to please the owners and in absence of formal management protocols, this makes it difficult for managers to get things done.
Usually in small businesses, staff is added to help the actual executor who might be the owner or a key employee leading to an absence of autonomy. With the growth of organization, the leadership should gradually change into management protocols with managers to avoid chaos. But unfortunately this is not true with all cases.
With increasing workload, the key people add more staff to help them get through until they realize that things need to be automated as it gets impossible for them to manage. Work flow arrive at a bottleneck, processes get delayed, workflow gets disoriented and so on.
There is nothing to panic though, it is just a transition point when a company emanates from a small company to a well managed enterprise. And this is where the management needs to understand the difference between leadership roles and managerial responsibilities.
Once the processes reach higher levels, it turns into micro management across multiple verticals draining the time and energy of key people. This is when the management needs to introduce managerial roles with formal protocols and properly defined responsibilities to successfully grant autonomy up to a certain level.
Breaking up the organization into a multi celled structure where the manager of each unit performs as a leader to get things done and handover the output to the next level of hierarchy.