Product Development Marty Cagan

Enterprise Software

I’m frustrated by the state of the Enterprise Software industry, and I have been for quite some time. While there are some notable exceptions, I find fewer examples of good products in this space than any other. Many people view the enterprise software market as “mature” or worse, but I think customers are just frustrated and aren’t anxious to spend yet more money on more disappointing products. And they’re just not willing to dish out hundreds of thousands of dollars – or even millions – on “professional services” just to get them working.

I think there are a number of reasons for why the industry is in this state, but regardless, I believe that good product management can help improve the situation substantially.

Before I get started, let me clarify what I mean by that very general term: “Enterprise Software.” The two key points to clarify are who the software is sold to, and what type of software product we’re talking about.

Regarding who the software is sold to, the main point is that the products are sold to businesses rather than consumers. There is of course a full-spectrum of business size, and I’m intentionally not including the small office/home office/small business markets, because in my view they’re really much more like the consumer market than the enterprise market (and the reason so many companies in the past tried and failed in the huge small biz market is because they didn’t realize this fact and its implications for product requirements). I do however include medium-size businesses in this even though many people reserve the term “Enterprise” for a group like the Fortune 500. But I think many of the challenges start to show with mid-size businesses.

And then there’s the type of software. Enterprise Infrastructure products (e.g. security software, systems management, communications software) have some significant differences from Enterprise Applications (e.g. SFA, CRM, ERP), but I’ll speak to both here. I think the top 10 list is essentially the same, although I’d weight the importance of each item differently based on whether it’s infrastructure or application.

OK, so here is a list of ten techniques that are especially important for enterprise software companies:

1. Usability – Pity the poor souls that must sit at their desks all day and use the typical enterprise applications for purchasing, billing, customer service, and hundreds of other applications. If the people that actually had to use the systems were the ones that made the actual buying decisions I think we’d have a very different set of vendors. I’m very sorry to say it, but most of the applications are just awful. One of my favorite books is “The Inmates are Running the Asylum” by Alan Cooper. Nowhere is his argument truer than with enterprise software. I find too few enterprise companies doing any interaction design, visual design, or usability testing, and it certainly shows. Even when the application produces business results, there is still a sour taste in the mouth and you rarely find true enthusiasm for these types of products. It really is time to raise the bar.

2. Product Actually Needs to Work – Even more egregious than the poor product usability, there are still too many enterprise products that simply don’t work. At least not without tremendous investments in time and money to “customize” and “integrate” or without countless work-arounds. This is certainly not the case with all products, but the many out there that ship with often hundreds of serious defects give a bad reputation to all of us. The state of software QA is also not where I think it should be, but that’s another topic. As product manager, it’s essential to make sure your product does what it says it will.

3. Specials – One of the biggest mistakes companies make is that they think they can get their product requirements from their customers. I’ve talked about this elsewhere, but the most dangerous example of this is when the sales organization brings in a potential customer that has a big check all ready to sign if you’ll just agree to put these 14 features in your product. And soon you’re essentially a custom software shop and you don’t have anything resembling a generally useful product, and there’s a good chance even that initial customer isn’t happy with those 14 features (once they got it and tried it they realized they needed something different). Avoiding specials takes a lot of discipline, especially for a small company struggling to bring in some cash, but it is critical that you create products that meet the needs of a wide range of customers.

4. Customers and Customer Advisory Boards – The above is not to say that you shouldn’t listen to your customers – you should absolutely meet with and listen to many customers – just don’t expect them to be able to dictate your product requirements. To determine the real product requirements you’ll need to meet with many customers, and one valuable technique is to identify a half-dozen or so great potential customers (smart, enthusiastic, motivated, friendly) and invite them to participate on a “customer advisory board.” In exchange for the opportunity to work closely with the development team, they know that their needs will be understood and seriously considered, and they agree to be accessible to try out ideas and answer questions, and install software immediately and if it meets their needs to be vocal reference customers. Your goal should always be to have at least half a dozen live, happy customers when you release your product.

5. Designing for the Sales Channel – It’s critical to design your product around the needs of your sales and distribution channel. Different channels require different capabilities. The key is to provide value all along the distribution chain. If you’re selling through systems integrators, you’ll need to ensure that your product doesn’t try to cut them out of the equation. If you’re selling through VARs that supply a wide range of products, you need to ensure that your product doesn’t overwhelm them with time-consuming technical requirements. Many otherwise good products struggle because they’re not appropriate for their sales channel.

6. The Customer versus the User – Many enterprise products are designed around the needs of the person that will actually buy the product. They are “the customer” and that’s who the team talks to when learning about needs, and that’s who has to give the ok in order to sell the product. However, as we alluded to above, there are often several different users of the product that also bring needs and requirements. For example, the different types of end-users, the systems administrators, management, and often other business applications.

7. Product Installation – With consumer products, the vendors know that they have to make the product absolutely bullet-proof to install and something that just takes minutes or even seconds. But with enterprise products, many vendors have come to assume that they’ll be able to get dedicated systems administration staff that can craft custom installations that can take days or even weeks of work. And that these administrators will be able to watch over the applications daily. Even when this is true, when the person moves on, or is out due to vacation or illness, or just gets overloaded, things can quickly fall apart. Again, it’s time to raise the bar.

8. Product Configuration, Customization and Integration – An enormous professional services industry has emerged to fill the gap and try and get these enterprise software products to actually work, and further, to work with each other. I believe that the vast majority of that cost is simply due to poor product design and execution. However, even if you accept that the need for services is appropriate, there is still much that can be done by vendors to make their products easier to configure, customize and integrate.

9. Product Update – Installing a new version of enterprise software is never fun. The vendor thinks it’s the biggest event of the year, but the customer has their business to run, and installing updates of vendor software isn’t something they typically want to be spending their precious time and resources on. Having problems upgrading or requiring complex data migration is extremely frustrating to the customer. Again, most consumer products realize this and make a much bigger investment in technology to upgrade and in testing the upgrade process.

10. The Sales Process – For many years, in the enterprise software market, far too much of the sale was driven by the talents/personality/charm of the respective sales staff. A product selection was too often driven by the relationship between the sales rep and the customer rather than by whether the product was the best fit or not. While the relationship aspects are still very important (still more than they should be) today the Internet has changed the product research and evaluation process, and vendors need to support this new sales process.

If you can keep these 10 points front-and-center as you create your enterprise software products, you’ll be far ahead of your competition and your customers are sure to be grateful.