I love seeing how a business works and I enjoy putting together systems to make it do so.
But that can turn into a bad thing. At both TurboPower and ComponentScience, I was involved in writing and maintaining the systems that helped the business function. In the latter stages of TurboPower's life, I took on some responsibility for a home grown system that had been around for years. At ComponentScience, I wrote the first system from scratch.
The purpose of both systems was very basic: collect, track, and fulfill orders. But the devil is in the details. Both companies had their nuances for licensing, subscriptions (or lack thereof in TurboPower's case), and product delivery. And those things evolved over time.
Both systems were built from the ground up to serve the immediate needs of the business. The one I wrote for ComponentScience certainly had just enough to do what we needed. It took our customers through the order process smoothly and delivered their licenses via email. But if you felt the edges of the system, they were a bit rough.
And that gets to the "bad" part. I love putting together the perfect system. I'm not happy with patching something together that works just well enough. It's got to be flexible, extendible, and downright cool.
So I have spent and will spend my time on the system instead of the product. But both need work, so my attention is split. It's so irritating to almost get there with the system, but realize you're not quite there.
At ComponentScience, the coupon feature was a prime example. If you downloaded a product, we'd send you an e-coupon if you gave us your email address. Behind the scenes, it was a multi-use coupon. You could hand it off to one of your friends, if you like. And we had most of the stuff in place for single-use coupons. But I never quite got around to making those work. Phillip would try to generate them. I'd know within minutes because the web app would throw an exception and send me an email saying "Single-use coupons not yet supported"! How many months did we live with that little irritation?
Could we have bought something off the shelf instead of writing from scratch? Certainly. It would have been best to do so from the start and that's what ComponentScience ended up doing.
But even then you might end up in a predicament. Unless you have the dollars to spend for a custom system, you're most likely getting something that covers some but not all of your business needs. So you need to dig into what you bought, be clever, and tweak it to do what you need. And you need to deal with the vendor when bugs in their system are readily apparent.
It's just not plain easy to get exactly what you want (notice that I said "want" and not "need") to run your business. This is completely unrealistic, but I'd really like to find or build the system that can do whatever I want, whenever I want.
--
Sean Winstead
Tags: ISV