(For more on clean code, check out my previous post.) - John
There is a concept in programming called, "clean code." Clean code is easy to read and understand. It's well structured, organized, and lean. Its opposite is spaghetti code, where code is just hacked together and if it mostly works, it's declared good. Businesses are similar to programs in that they're working systems. Something goes in one side of the business, an input, and something else comes out the other, an output. Like programming, businesses can be hacked together or well designed.
The problem with a spaghetti code business is the same problem with its equivalent program: its inconsistent, difficult to understand, hard to scale, and challenging to operate. Just like the program, these businesses can work, more or less. As long as there is market demand they can limp along in mediocrity until competition becomes too fierce or demand wains.
Clean code reflects the results of careful analysis, design, and editing (refactoring in programmer-speak). Similarly, clean businesses require a lot of rigorous thinking. A clean business is well defined and serves one mission. Each of its component pieces has clearly defined boundaries and responsibilities. Waste is non-existent or minimal. Larger businesses have to be clean to some degree and this is where the classic business hierarchy is often laid out: CEO's, CFO's, CMO's, CTO's, the marketing department, IT department, the sales force, standard operating procedures, and etc. Large business's do not hold a monopoly on the clean principles however, and these can be applied all the way down to the tiniest freelancing Joomla developer.
How well defined is your business? Do you know what sources funnel business to you? Do you have a marketing plan? Do you have explicit SOP's and roles? How often do you examine the pieces that make up your business and how they integrate in support of your mission?