That is a difficult question. In our company we are somewhat unique, as I mentioned, because we happen to have 50 people who are trained and skilled in various disciplines of science and engineering. When you put all of those people in one place, you are often able to generate, through a lot of brainstorming, a number of good ideas. As a small company we then have to decide from that list of good ideas which ones we either invest in ourselves or seek additional support to nurture into an innovation that can be useful to people.
In terms of assisting other companies to do it, that's something you improve upon with experience. You have to find a way within your organization to efficiently translate good ideas into a tangible technology or prototype, which you can then show people has merit. Often when you reach that stage you can garner additional interest or funding or support that will help you build a business case to go that last leg of the journey into commercialization.
I think every company, depending on its particular industry sector, has to basically decide how to prioritize which ideas actually get funded, because it is typically not possible for a company to try to invest in all of its ideas and bring them to an innovation stage.