Apr 2005
Enterprise Software
04.15.05 Filed in: SVPG Blog
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.
Email to a friend
Sign up for the free newsletter here.
Consumer Internet Services
04.06.05 Filed in: SVPG Blog
In the last issue I wrote about the role that domain expertise plays in product management, and I alluded to deeper differences in types of products. For more traditional types of products, such as Enterprise Software, these differences are fairly well-known. But for consumer internet services, this is new enough that I thought I’d share some of the most important lessons that I’ve learned from doing large-scale internet services at Netscape, AOL and eBay, and working with clients at several other major internet service companies.
I should say up front that I love building very large-scale consumer services. Creating products that are used and appreciated by millions of people around the world is an amazing thing. And unlike most types of products, there’s nothing between you and your customer – no sales force or distribution channels to work through – you can reach your user base easily and instantly, and try ideas out in near real-time. You know right away if people love or hate your new ideas.
But it’s also very hard.
Sometimes the hardest problems of all come when you actually manage to create a great product and people love it and word starts to spread – I call this situation “surviving success.” eBay came very close to collapsing in 1999; far closer than most people realized. More recently, Friendster got off to a great start but has stumbled badly and it’s not clear if they’ll recover or not (I hope they do, I think they have the ingredients for a great service).
Below is a list of ten techniques that are especially important for large-scale consumer internet service companies. It’s a general list, meant to apply to many types of services including e-commerce, social networks, search engines, and games, as just a few examples.
1. Usability – In my opinion, most companies give far too little attention to this in every type of product (especially enterprise software!) but with a consumer internet service there simply is no getting around that it’s really all about the user experience, and if you can’t find a way to make your service something that the target user can figure out how to use and why they should use it, then you’re going nowhere fast. Also remember that performance is a key factor in usability. If a page takes to long to load, people will think it’s broken or just go elsewhere because the experience is bad.
2. User Profiling – When you have millions of users, there is no “user” but rather you have at least several important types of users. It’s critical that you segment your users into the most important profiles and consider each one separately. When you create a feature, you need to examine how each user profile will value and respond to that feature.
3. Scalability – Weird things happen to products once millions of users start using them. Databases break, performance bottlenecks pop up all over, user interfaces become unusable. You can do some amount of load testing during QA, but I’ve found this only finds the easy problems. I guarantee you that you’ll have surprises, and not pleasant ones. Managing the scalability needs takes a collaboration of product management, design, engineering, and operations. It also takes a proactive management team that allocates a significant amount of engineering and operations resources on an ongoing basis (I generally advise 20-30%) to scaling the product and infrastructure. If you get to the point where everything breaks and the engineering team is telling you that the “house of cards has collapsed” you’re in big trouble. The only way I know to avoid that is to “pay your taxes” by working on scale continuously from day one, and don’t let yourself get to the brink.
4. Availability – Very quickly you find that there really is no time of the day or week or month or year that your service doesn’t need to be running. I don’t know of anyone that has achieved 100% availability, but I know outages are painful to everyone. The life of a consumer internet service provider is not for everyone. Things happen at all hours, weekday and weekends, and everyone I know in the business has their stories. You need to design in high-availability to all of your thinking just as you need to do with scalability.
5. Customer Support – One of the biggest (and least fun) surprises that most consumer service companies run into is customer support. Traditional models of customer support can quickly bankrupt even the best services companies. This is oversimplifying a complicated topic, but you have no alternative but to design and build the product to absolutely minimize customer support costs, especially if you charge a fee for your service. Yet always remember that it is not about controlling customer support costs, it is about ensuring a great customer experience.
6. Privacy and Data Protection – Consumer internet service companies can very quickly end up with far more personal information than they ever imagined. You may be collecting this data for purely innocent purposes, such as to provide a personalized user experience. But today customer data like e-mail addresses and credit card numbers is a very sensitive asset, and you don’t want the press and possible penalties and especially customer anger that results if that data gets into the wrong hands. You need to put the protections in place early to absolutely ensure that you are protecting the information that your customers entrusted you with. And as the recent AOL criminal case illustrates, you also need to protect the actual user data from your own employees.
7. Viral Marketing – If your product is good, your users will want to share that experience with their friends, family and co-workers. That’s absolutely what you want, but it’s surprising to me how few companies actually do anything to facilitate this most powerful form of marketing. Consider what you can do in your product to enable users to invite their friends to try it. Also, work the numbers. Most companies are willing to pay a certain amount per new user (customer acquisition cost, usually for marketing and advertising). Maybe you can funnel some of that money to your users instead? But even without financial incentives, find ways to make “sharing the love” easy.
8. Globalization – If you have a good service, you’ll find that it will quickly spread beyond your country’s borders, first to other countries that speak the same language, then to the rest of the major internet-connected countries. It is far less expensive – and overall faster to market – to design a product that can easily be localized than it is to try and take a product for one country/currency/language/culture and rewrite it for another. You don’t have to localize initially for all the countries, but as your business spreads you can much more rapidly and economically meet your new users’ needs.
9. Gentle Deployment – When millions of people are using your service, any change is a big deal, and every change needs to be considered carefully. I’ve written elsewhere on “Gentle Deployment Strategies” but suffice it to say here that changes need to be deployed intelligently. This doesn’t just mean great QA. It also means deploying gradually, and giving your users time to switch when they have the time to learn about the changes, not when you happen to roll it out. In many cases, this means deploying the new version alongside the old so that people can switch over a period of time. Also, do everything you can to eliminate gratuitous changes. It’s hard enough for your community to absorb features that they know they want and need.
10. Community Management – Every company is dependent on its customers, but for consumer internet service companies, this community of users takes on even more powerful importance. They can make you or break you. It has never been easier for them to communicate how much they love your product – or how badly you just treated them. If your users value your product, they will want to be loyal, and they will want to be a part of the great community you are creating, but they also want to be appreciated and recognized, and not just with lip-service. There are many ways to reach out to your community – to learn from them and understand where they want to see your product go. There are also many ways to show your gratitude to the community and to recognize those that make especially valuable contributions. Do this, and make community awareness a top priority for everyone in your company, from the CEO on down.
If you can keep these 10 techniques in mind as you create your consumer internet services, you’ll save yourself a lot of grief. But as I said above, these are great products to work on, and it’s easy to become hooked on these types of businesses.
Email to a friend
Sign up for the free newsletter here.
