I love the definition of solution from old good MSF 3.0:
Solution is the coordinated delivery of the elements needed (such as technologies, documentation, training, and support) to successfully respond to a unique customer’s business problem.
There several things in this definition that appeal to me:
- It clearly separates solution, developed with specific customer in mind, from product targeted at market, as also outlined in MSF Process Model.
- Customer's business is in the center of attention. And if the best way to address this problem is not development of new software, so be it - it can be as simple as re-engineering existing system and providing adequate documentation or training; or instead of throwing development effort at scaling problem, one can just add more hardware capacity. Again, in case this is the best approach.
- There is no place for technology bells and whistles. If a mere VBScript can solve the issue, why waste precious time and resources on ultra-modern super-cool JavaFX (no offense here) development, if it does not add anything valuable for business?
- At last, technology is not a sole focus of solution development: delivery, documentation, training, etc. are equally as important.
Be sure to deliver your customers solutions and not just software pieces. "Software installed" is not a goal here, "problem solved" is.