I spoke with a software manager recently who's considering selling some software that's working great for their company. "We're about 90% done," he mentioned, with the implication that he's nearly ready to unleash his creation in the marketplace, and I immediately recalled one of my earliest lessons in "product", and one that's echoed over and over through the years.
When it comes to productizing software, "done" is usually just a good start.
The prototypical software-to-product path starts with an application that's built to solve a business problem. Once the software is proven, the leap to selling that software seems like a minor increment.
If you didn't build productization into your work from the onset, though, you'll need to address a whole host of concerns. Not all of these will apply to each new bit of software, but if you don't have all this support in your company, you'll need to develop them.
- Branding. If you're a widget company, you can be the best widget company in the world and still find it difficult to sell whosiwhatsits. Don't count on a lot of umbrella support for a software product unless your main business bears a strong resemblance to that software, and if it does, be prepared for nervousness among your prospects - they'll be (rightly) worried about you gobbling up their businesses once you've sold them your software. Branding, marketing and sales are first-class concerns if you're really going to sell software.
- Support. This is huge -- your life will change as soon as you sign a customer to a software deal. You'll need more than a guy to man emails and phones -- you'll need to be able to replicate problems your users are seeing, help them use your software to solve problems you've never encountered, and educate them on all aspects of your platform. If your software features any integration, be prepared for many multiples more demanded of you and your team.
- Maintenance. Somewhat related to support, you'll need a plan to maintain software over time if you're going to keep your customers happy. This is no accident; your ability to release updates and new software versions across a number of customers can only occur with careful planning and precise execution.
Each of these needs is worthy of more pages of discussion, but suffice it to say these are all contributing reasons why software products are so much more challenging than internal applications. In my opinion, this also brings greater reward.