Outside-in Software Development: A Practical Approach to Building Successful Stakeholder-based Products