I am facing a dilemma:
Currently my mobile/web development start-up company is working on two non-profit projects, that may find an audience and therefore promote the company's name among mobile users of several platforms.
But to continue on after this altruistic job of my co-workers, my venture would need an investment to create products, that we potentially are going to sell in future.
Therefore we need to deliver products for customers, who are willing to outsource their mobile/web development.
But the two companies, one that makes its own products, and one that makes software for other's request should be completely different marketing wise.
For our products to be popular, we need to have an image of a company that is reliable and strong. To serve others - that we revolve around client's satisfaction, etc.
Should I have two different companies (and therefore - brands) - one for own software development (like Microsoft), and another for outsourcing (like Accenture), or these two paradigms can successfully live together in an image of one company?
It's very tough to be good at both business models because of resource management not marketing or brand perception. It's nearly impossible to split your staff's time effectively between product development and client projects. As a result, you'll end up maintaining separate management structures for each of the directions, which is essentially having 2 companies. The only advantage to such a corporate structure is the ability to use profits from one side to subsidize the other one.
If you really want to become a product company you should follow the typical path of using client projects to finance in-house product development and its promotion. This way as the revenues from your products grow you reduce the resource allocation to client work until in-house products are profitable enough to support company's growth. That's what 37signals did and many bootstrapping companies still do.