You may have heard the term enterprise software before. Generally, they sell big software to big business. There'll be a team of dedicated sales people that works on a client for months, even years, doing demos, sales pitches, hammering out terms, etc. for and with the executives at the customer. The customer has a list of features they want that they use to narrow down the possible solutions. Eventually, if all goes well, the customer signs a contract and writes a big check. Then the professional services consultants descend, adapting the product to the customer's needs and existing business systems. After a while, there's another version of the software and the cycle repeats. There are a lot of software companies in Austin that follow the model. Tivoli was one. Motive was another. So's ROME. And that's just the companies that I've worked for.
Note that I haven't mentioned said anything about what the customers and the product do. That's because it doesn't matter. Look at the model described above and think about what sorts of behaviors it creates incentives for. There are a few biggies. First of all, you want a product that looks impressive. That's not the same thing as useful. Often those things coincide, but often they don't. When push comes to shove, the one that brings money in the door is the one that wins. Many times, sales people will demo something that doesn't actually exist. Secondly, there is no incentive to make the product simple. After all, the more complex the product, the more time it takes to install, and the more billable hours your services people rack up. Third, once you get the check, the customer no longer matters. All you have to do is a good enough job that the customer won't sue. Maybe, if you're especially forward-looking, you'll try to maintain a decent relationship so you can sell them the next version a couple of years later. Even that has a hook; you can implement a feature well enough that you're not lying when you say you can do it, but not so well that customers can actually use it. That's the next version, which is available for the low low price of $1.5 million. You can generally get away with a lot, as the people who use the software aren't usually the people who use it.
Naturally, this type of focus has an impact on development. Sales will scream for some feature they need to sell a particular client. Or they may have already sold the client on that feature and it needs to be designed, developed, tested, and documented by the end of the quarter. Services will scream that some part of the product is buggy or unusable. What matters is building something that vaguely resembles what was sold as soon as possible. Everything else is secondary. Quality is an afterthought. A well-designed architecture is too much work. One could even argue that it's bad business to focus on quality. I can't help but think that kind of business is living on borrowed time. The customers tolerate that model, and in some cases even insist on it, but I can't see a future in a company whose best customers write a seven figure check and never use the product.
So, after all that, you're probably wondering why I put up with it. Well, the easy answer is, I thought that's how the industry worked. I thought I was just being naive and idealistic. Turns out I was wrong, though, so I'm not going to have to deal with it anymore. My new job is at Works. They were one of the early dot-com cliches, selling office supplies online. 7 years and two business plans later, they have a pretty nifty product for managing payments in various organizations. The model is different. Works is what is known as an "application service provider" (ASP). The product is hosted on their servers and accessed through the web. The most well-known ASP is Salesforce.com, but you could argue that web mail is the quintessential ASP. Works gets no real money when they sign a customer. Instead, they only get paid as customers use the product. If the product isn't useful, efficient, or reliable, the customer doesn't use it and Works gets no money. The model is built from the ground up in a fundamentally different fashion that aligns their interests more closely with the customers' interests. That's the theory, at least, and what I've seen so far confirms it.
I really wanted the ROME job to work, as I've had more than my fill of employment volatility. I did my best to improve things, but there was only so much I could do, and only so much frustration I was willing to deal with. To be fair, things aren't that bad, but given the opportunity for something that is better in nearly every respect, how could I possibly turn it down? It's quite possible that the enterprise software model has many profitable years ahead of it. It's quite possible that I'm turning my back on lots of money, but it isn't 1999 anymore; options are nothing more than lottery tickets. What matters more is a demonstrably sustainable business and a positive environment. Baby needs cash and a content father.
¶ 1030 Posted at 01.17 PM ⇒ No Comments ( software | (un)employment )