If you choose to run a software development agency: - Shoot for between 3 and 10 clients. Any less and you'll be very stressed about losing a client. Any more and you'll be overwhelmed with juggling too many balls. - Fire bad clients. They aren't worth the stress, frustration, and opportunity cost. - Work on your process. Doing an hour of client works earns you one hour of revenue. Improving your agency processes can…
Totally agree in principle, but I've found it's very hard to do this in practice.
Unless you have a priori knowledge of an industry, before your first consulting gig in it, it's hard to just step into a business domain and know what specific problems an industry has that can be improved with better software and which of those specific problems are generic enough to be shared by many companies in that industry – while not being served "well enough" by an existing product. And you have to figure out if it's a niche that's big enough to support a company, while balancing other desires, e.g., not spending weeks traveling around the country to sell and work with companies in this sector.
I'm not saying it can't be done. It can, obviously; there are companies doing it. But it's not easy to just go do it. From my limited exposure to consultancies taking this approach, many kind of kept their eyes open and fell sideways into it, i.e., they worked with one client in a sector and realized the client's competitors had similar problems.