That's a great idea, but there's one complication. You might be able to overcome it, if you understand the problem of understanding problems.
This is a recursive answer.
The answer to your question is that you need somehow to understand the problem domain in which the business problem exists before you can solve said problem. But I need to explain why that is before I can give my answer. (I.e., you need to understand the problem domain of business domain problems. Really.)
Solving real world problem involves understanding:
- The problem domain
- How the user will use the program to solve the problem
- How the computer works.
It's the first two that are really a challenge. A good programmer understands #3. Someone with strong Usability skills might be able to get #2 right, but they still have to understand the problem domain. And that's the challenge because folks who understand the problem domain and are doing a repetitive job suitable for automating just don't think like a computer. It's a completely different skill set. If they did think like a computer, they couldn't do such a repetitive job.
I once had someone ask me to distribute their educational software. (I write software and couldn't find a distributor 15 years ago so I started a company distributing the software, but that's another story.)
But here's how their software worked:
- The program shows a prompt (picture,
etc.)
- Student speaks an answer.
- Teacher decides if it's correct and
clicks on a "sticker" button and it
displays a sticker for the student.
That's it. Yes, that's all it did.
(I won't even get into the problems with this fostering Extrinsic motivation which diminishes Intrinsic motivation- i.e., this would demotivate students in the long run because they lose interest in speech for it's own natural benefits (you tell a joke and get a laugh) and they'd get bored with the little stickers.)
Here's someone who was a subject matter expert and went to all the trouble of learning how to write software (or worked with someone who did) but they didn't take advantage of the computer. They used it like a sticker book.
When I taught SW Engineering I always told my students you have to solve the problem manually first.
Project GreenLight is a great model for this
If you have a contest for Business Problem/Solutions as well as Programmers and then put them together you might have a winner. This could work kinda like Project Greenlight where they had a contest for a Script and for a Director. The winning Director had to make a movie out of the winning Script. They let the contestants vote on the best script and director. Even then, the Director and Screen Writer might not get along and have a shared vision.
The real trick is going to be grading the Business Problem/Solutions that are submitted. There are an infinite number of them. And it probably requires Domain Knowledge to evaluate them. Barbie the Real Estate chick isn't going to understand Harvey the Hog Farmer's need for tracking his hogs.
You'll need a Domain Expert who really understands his job well enough to know the right way to solve it manually. And most people aren't particularly good at what they do. They aren't constantly looking for ways to do it better. If they were they'd be programmers already .