The Economics of NoSQL versus “New SQL” versus RDBMSs

roi

Economics are a big deal when deciding whether to go with a NoSQL, NewSQL, MPP DBMS, or traditional RDBMS.

Many of the products  (in all four of these categories) claim that economics are on their side, because either…

  1. Their products are ultimately cheaper than the alternatives, or
  2. Their products produce greater benefits, that dramatically overshadow their cost.

The first is basically a Total Cost of Ownership (“TCO”) argument.  The second is about  higher ROI (return on investment) or shorter payback periods, versus the alternatives.

The TCO, ROI, and payback period for any particular data store (be it of the NoSQL, NewSQL, MPP, or RDBMS variety) will vary greatly according to the application.  It is important not to take vendor claims of  ”X% improvement” for granted.

Instead, create your own economic model for quantifying expected costs and benefits. Here are some factors to consider:

1.Upfront Hardware costs – Many vendors claim their products require cheaper hardware, either by using fewer machines or by using cheaper machines.  Hardware costs affects both up-front project costs (CapEx) as well as yearly maintenance fees (operational costs) paid to the hardware vendors.  Hardware costs can usually be further subdivided into processors, memory, storage, network interfaces, and “other” (racks,  load balancers), dedicated storage appliances, etc.  The cost of memory can be a significant driver of costs, as well as the type of storage used (SSDs, SANs, RAID arrays of regular old hard disks, ….)

2. Software license costs & maintenance – The cost here can vary wildly, from $0 for one of the many open source NoSQL solutions, to millions of dollars.  This item includes up-front CapEx costs – as well as the annual maintenance bill, typically about 20% of the purchase price.

3. On-going Software support costs – If you buy a commercial data store, customer support is probably included in your annual software maintenance bill (see the previous bullet). But if you are looking at open source, you will want to find a vendor that can provide ongoing software support.  And that costs, even if the software itself is free.  This is an ongoing operational expense.

4. On-going Hardware support costs – This is a support & maintenance contract on the hardware your purchased in #1. The cost varies per vendor, but is usually calculated as a percentage of the hardware purchase price – usually somewhere between 8% and 20%. For commodity servers (generic Intel- or AMD-based Linux boxes), many organizations forego official support contracts and have their own IT staff support the machines.

5. Power costs – If you use fewer boxes, or use more energy efficient hardware, then your power bill will be lower — sometimes significantly so.  If you want to get fancy and impress others with your “green-ness”, consider calculating your carbon footprint, and take into account any Carbon Offsets you’d purchase to reduce the system’s environmental impact.

6. Administrative costs – This bucket includes the cost of the staff needed to keep your system running and healthy — usually the full-loaded salaries of the DBAs and other administrators.  In general, the more hardware you are running, and the more instances of software you are running, the more administrative staff you need.

However, different products have different demands of administrators.  For example, “sharding” (sensibly dividing up data across multiple nodes) can consume a lot of administrator time if  done manually, but many NoSQL and NewSQL systems do this automatically.  Recovering from downtime – both planned and unplanned – can consume large amounts of administrative time, so the availability of the system impacts these costs.  Other tasks that can take up a lot of time, but vary considerably from system to system, include: time spent on upgrades (especially if updates to the software come out very frequently),  time spent on performance tuning, and time spent on monitoring, backups, etc.  Different products, and different rules governing data and IT, require varying levels of attention from human administrators.

7. Developer productivity - If the structure and type of data in the datastore changes, often the applications that use the data store need to be changed as well. So, you should account for the fully loaded salaries (or consulting fees) for the programmer time needed to make these changes.

8. “Hard” revenue impact - Different configurations of products will achieve different levels of availability.  This ultimately translates into some amount of system downtime or time when system is overloaded.  If your system is essential to your company actually making money (for example, it is an e-commerce store), than every minute of downtime results in lost revenue.  If the system is still “up” but is overloaded, then you lose the ability to serve some customers who would have bought.  Again, the result is lost revenue.

9. “Soft” revenue impact – This includes things like “greater customer satisfaction”, “higher accuracy”, “better response times”  – things your choice of system might affect that will impact customers, and will thereby affect the amount of revenue they give your company.  ”Soft” costs are very real, but are often difficult to quantify.

Note that the above factors assume that you will own your infrastructure – the hardware, software, etc.  ’The model needs tweaking / revamping if you are “renting” infrastructure in the cloud, by using something like Amazon Web Services, for example.  (In the future, perhaps I’ll post about the economics of cloud deployments).

Who Should Do Win-Loss Analysis?

win_lose_dice_382x254

At most companies, everyone agrees that Win-Loss Analysis is very important. After all, without understanding why you are winning deals and why you are losing, how are you to know what you’re doing right and what you need to change? For example:

  • Are your sales people blowing it by not properly qualifying the deal or understanding the prospect’s problems?
  • Is your product a true winner or is it deficient in critical ways?
  • Are your products priced competitively?
  • Are you lacking in other components of the big picture, such as professional services or customer support?

However, despite the benefits, Win-Loss Analysis rarely gets done.  The product managers and product marketing managers, who are traditionally responsible for Win-Loss, are usually too busy and overloaded.

But there is hope. Win-Loss Analysis is a perfect job for an outside consultant or contractor, and can often be done extremely cost effectively while freeing product management and product marketing staff to focus on strategic tasks that can’t be outsourced.

In fact, a consultant might get better and more accurate results that an employee because lost prospects are more likely to be honest with an outsider.

Why? Because:

  1. They don’t have to worry about offending the sales person, the product, or the vendor as a whole.
  2. They don’t have to worry about the consultant using the Win-Loss conversation to try re-opening the sales process – a decision prospects are often loathe to revisit after a protracted selection process.  This fear is a major reason lost prospects turn down requests for Win-Loss interviews.

A Win-Loss consulting engagement usually involves interviewing a majority of the customers and lost prospects from the last quarter or half.  The consultant has a short conversation with the internal account team for each customer or prospect to learn their take on why the customer was won or the prospect was lost.

Then, the consultant interviews each customer and prospect, delving into the areas most likely to provide actionable feedback.   Depending on the account, topics might include the business problem driving the product purchase, product fit (or lack of) with the problem, competition, account team dynamics, and the customer’s internal decision-making process.

If done right, these conversations — without fail — uncover distinct patterns across several customers.  Follow-on conversations — both internally and externally — dive into the causes and effects of these patterns.  Finally, the consultant works with internal employees to identify specific initiatives and actions to improve the situation.

Now, of course, the mandatory plug.  At Sure Product Consulting, we do lots of win/loss analysis projects. In fact, some clients have a perpetual subscription with us, where we attempt to interview every single win and loss, and report out the results to the client every quarter.

Please contact us to discuss how we can help you get started with win/loss analysis.

How to get a results-focused testimonial from a former colleague/client

I got some questions about results-focused testimonials after my last webinar. In the last post, I gave a high-level template, but here is one at a much more granular level of detail.

It can be daunting to give this template to a recommender and tell them to fill it in. I suggest that instead you make their life easy. Have a 5 minute conversation with them on the phone, ask them the necessary questions, and then you write the testimonial up for them using this format. Send it over to them so they can edit it to their liking and then post it on LinkedIn.

1) Provide a half-sentence of background on them and their company (example: “I’m the CTO of a startup providing a Big Data analysis platform to retailers…”)

2) Another half-sentence on the problem faced that led to them hiring you (example: “…as we started to gain traction, we realized that we had an overload of ideas and opinions about future product definition. Everyone disagreed, and the roadmap was changing on a daily basis. We were trying to hire a full-time product manager, but it was difficult position to fill – we couldn’t find someone with sufficient experience and proven results…”

3) (optional) A half sentence describing their reservations about hiring an outside consultant (example: “…We had reservations about hiring an outside consultant for such a strategic function as product management…”

4) (optional) Another half-sentence about why/how they overcame those reservations. (example: “…but the clock was ticking. We could not afford to wait any longer.”

5) AT MOST, a half-sentence about what/how you (the consultant) did (example: “I need not have worried. Sue immediately got up to speed and brought order to chaos.”)

6) Then, the RESULTS they got (example: “Within three weeks, we had a well-researched, well-defined product roadmap that everyone agreed on. As a result we put out a leading-edge product that has great traction in the market, and we attracted key investors to our recent financing round”

7) (optional) Then the recommendation: (example: “I absolutely recommend Sue to startups who need to move fast and need strong product leadership.”)

 

What I WISH I knew about client testimonials when I was starting out

While no one has ever hired me for a project based solely based on my collection of testimonials, my clients tell me it helped them pull the trigger and decide to go ahead with our first project. In their minds, the risks of hiring a stranger was mitigated because so many people were willing to publicly sing my praises.

So, I can’t complain. My collection of testimonials/LinkedIn recommendations has served me well.

But HOW I WISH I could go back and give my contacts a bit more guidance on how to write a testimonial that would really serve my business.

It turns out that the best testimonial is one where the client talks mostly about him/herself, and hardly even mentions the consultant. It focuses on results the consultant provided and not the consultant’s personal attributes and personality.

The ideal format for a results-focused testimonial: the client talks a bit about his/her business, then the problem they faced that led to them to hire the consultant, and then the great results they obtained from doing so.

Contrast this to a character reference testimonial. An example: “Sue is great, she knows her stuff and we love her. She’s professional, smart and a real expert. I’d definitely hire her again, blah, blah…”

Character reference testimonials are great. But results-focused testimonials are infinitely more powerful to a prospective buyers. Just one results-focused testimonial, from a similar client with similar problems, is worth at least 5 character references. Maybe 10.

Unfortunately, I did not realize this when I started out. So about 75% of my testimonials are character references. This is because I did not give any guidance to my recommenders. And by default, humans seem hard-wired to give character references instead of result-focused testimonials, UNLESS you tell them specifically what you need.

I should have provided a template to my recommenders that would help them quickly form a result-focused testimonial. Nowadays, that’s what I do.

In the next post, I’ll provide the template I use for gathering testimonials. Stay tuned.

Three Options in Your Proposals

When  proposing a fixed-price project to a client, I nearly always present three options for doing the project:

  1. lowest price / lowest value
  2. medium price / medium value
  3. highest price / highest value

If the client has a very small budget, then I’ll sometimes figure out a “lowest value” project that has the client’s employees doing a lot of the legwork, and where I provide the process for doing so and the analysis.

An example:  I provide an interview guide and training for the product managers to do their own win/loss interviews.  For competitive analysis, I might provide the framework, project manage the research activities to be done by employees, and then I’d do the end analysis.

For the highest value option, I usually pitch something that is very valuable to the client but beyond their stated budget.  It is usually  a full-service option that handles any and all administrative work and also provides the secondary deliverables that the client would usually derive on their own from our research.

So, for example, instead of just providing a competitive analysis report, the “gold” option might also provide 1) a sales training presentation on the competition, 2) battlecards for Sales, 3) 10 product videos, each 3 minutes long, highlighting key product differences, and 4) a deck (complete with speaking notes) that the VP Products can give to the executive leadership team.

When you present three options, most of the time people select the medium option. But you’d be surprised at how often the gold-plated, highest-value option also gets selected.

 

The Content Manager Product Pattern

Content Management is huge in enterprise software, and thus the Content Manager Pattern is one of the most important high-level Product Patterns.  Content management is the primary function of most software described as a platform, server, or online service.  It’s not just limited to the realm of official “Content Management Systems (CMS),” and what I mean by “content” is much broader

To “manage content”, software platforms/servers/services usually offer some subset of the functionality described below.

The Content Manager product pattern

What is it?  

  • Stores, secures, shares, organizes, and searches content.
  • The content might be user-generated or from an external system.
  • Example: Gmail’s content is both user-generated (messages created by Gmail users) and from  external systems (messages sent to Gmail users from outside Gmail)

Where to find it?

  • 99% of products described as “servers” or “online services” have the Content Manager pattern at their core.
  • Most multi-user software products have the Content Manager pattern at their core, even if they are desktop clients or mobile apps.

Use when:

  • Users need to share content with other users  (example: Salesforce.com Sales Cloud users share data about prospects and opportunities, Craigslist displays user-created advertisements to other users)
  • Users want to store their content online so that they can access it from anywhere or use it with other online tools.  (example: Dropbox, Shutterfly, Facebook, Gmail)
  • An “engine” (see the upcoming Content Generator pattern) needs a place to find source content and to store result content (example: for a business intelligence (BI) system,  a report design is source content and the result content  might be a report with the data for the day 4/30/2012).

Typical Functionality

There is obviously a slew of user stories underneath each of the following functionality buckets, but in this post I’m only going to cover typical functionality at a very high level:

1. Storing content

This lets users put content into the system, and provides the baseline functionality everyone typically expects.

  • Basic “CRUD” (create, read, update, delete) functionality, plus copy
  • Ways for users to publish/deploy/import content into the system.  This might include the concept of content statuses like “drafts”, “pending review” and “published”
  • Ways to move content to a different location within the system
  • Way to unpublish (but not delete) content
  • Export content to an external system or file
  • Ways for users to “link” to or refer to the content from elsewhere

2. Finding content 

Once you have more than a few pieces of content stored in a system, you need to provide ways for users to find both specific pieces of content as well as discover relevant content they might not have been explicitly searching for. Typical functionality includes:

  • Content properties (such as date modified, author)
  • Quick search, advanced (property-based, wildcard-enabled) search
  • Content listings  - filterable and sortable

3. Organizing content 

Users like to organize their content in ways that make personal sense to them, mainly so they can quickly find their content again.  However, the desire to organize is still there even if you provide a top-notch, all powerful search.  To this point, when Gmail was first introduced, it did not support folders nor a way to quickly keep messages but move them out of the inbox.  Google quickly introduced those features based on user feedback. Typical organizing functionality includes:

  • “Home location” for each user – where s/he can quickly find his/her own content immediately after logging in.
  • Ways for users to provide and change user-friendly names and  descriptions to content,  author-provided and user-provided tagging, categorization/folders
  • Favorites & bookmarks

4. Securing content and providing access 

These Content Management features ensure users can only access the content to which they are  authorized. It assumes a user management system (a different Product Pattern that I will hopefully cover in the future).

  • Administrators can decide what users are allowed to access what content, including which users are allowed to share with others.
  • Users can choose to share content with specified other users, and specify the “proper level” of sharing for that user
  • Privileges / permissions on content
  • Content Ownership, and differences in ownership versus authorship

5. Sharing / Social

These features primarily let users provide some information to others about WHY they are sharing content and how to use it.  Also, single users may use these to remind just his/her “future self”, and no other users, of important things about the content.

  • Discussion: comments / threaded discussions
  • Popularity measures: followers/friends/fans on the content, likes on the content, most read, etc
  • Quality measures: ratings, reviews, vote ups / vote downs
  • Suggest related content: similar content, recommended based on your ratings of this piece
  • Share with others: Email, Facebook / LinkedIn / Twitter / Google+, other

6.  Advanced Content Management

  • Editor-designated “Featured” content
  • Versioning of multiple revisions
  • Managing dependencies between content
  • Content expiration (useful for job posts, ads, etc)
  • Archive & purge of content  in system
  • Backups of all content in system

 

Product Managers and the Fear of Selling

fear of sellingMost product managers and product marketers I know have a fear of — or at least a strong dislike of — selling.

They find selling unpleasant and often think they are bad at it.  Especially the closing the deal part.

Alas, this fear/revulsion of selling is perhaps the biggest obstacle that’s stopping product managers and product marketers from successfully going independent and becoming product consultants.

Believe me, I understand it. I had it too. For me, this fear came from time in the corporate world, where colleagues in Sales frequently made broad statements like “Product Management  (or Marketing, or anyone really) knows nothing about how to sell,” etc….  Unfortunately, I bought it, and later had to train myself out of that way of thinking.

It is true, the most skilled Sales people can close deals for products that they don’t like and don’t really understand.  In the same situation, most Product Managers are not skilled enough to close a deal.

But selling products and selling solo consulting work are completely different.

First, realize that in consulting work, you are not selling a product external to yourself. You are selling YOURSELF and your ability to truly help a client. And selling yourself is definitely something that you’ve done before: when you did job interviews, when you applied for college, etc.  Selling consulting work is much more like interviewing for a job than selling a product. If you can get a job (which you obviously can or you wouldn’t be reading this) – then you can sell yourself and your ability to help out.

Second, if the thought of sales gives you hives, don’t think of it as “selling.” Instead focus on finding ways to TRULY HELP this prospective client. Aim to be of genuine service, not to close a deal.

Infographic on Big Data & Decision Making

Infographic on Big Data driving decision-making

Behold, an interesting infographic on how Big Data is (or isn’t) driving corporate decision making…. Via GigaOm, originally from data published by Capgemini.

Infographic on Big Data driving decision-making

Infographic on Big Data driving decision-making, via GigaOm and CapGemini

Product Patterns: What is Content

In my posts about Product Patterns, I’ve mentioned the word “content” a lot.  I’ve even mentioned a few high-level product patterns called the “Content Manager” and “Content Authoring Tool.”

This is an important product pattern because basically every piece of software that touts itself as a “platform” or “server” or “service” uses the Content Manager pattern.  The Content Manager pattern underlies just about any software or service where people share or collaborate.

But first, before I get into the details of the Content Manager product pattern, I need to first define what i mean by “content”  because I am using a much broader definition of “content” than many people.

But what do I mean by “content”?  

Good question!  I tend to use a broader definition than you might think.  My definition is not limited to what’s managed by an official “Content Management System”  (aka “CMS”), like Microsoft Exchange, Drupal, or WordPress.

By “content” I mean any type of “object” that either a user creates, that the platform/server itself creates, or that a third-party system created.

This “content” is managed by a server to allow users to use it, share it, secure it and control access to it, etc.  (This definition needs improvement, so please comment below if you have suggestions on how to improve it).

Some examples of “content” from the enterprise software world:

  • In VMware vSphere, a virtualization  platform, the “content” are virtual machines.
  • In Jira, the content are issues/bugs that need tracking.
  • In Salesforce.com, the principal content are leads, opportunities, and profiles of prospects and customers
  • In Eclipse, the content are user-created code files, libraries, and executables.
  • In the Oracle Database, the content consists the “user data to be stored in the database and metadata that describes that data.
  • In Microstrategy, a business intelligence platform, the content includes OLAP cubes, reports, and dashboards.
  • In  Microsoft Exchange Server,  email messages are the content.
  • In WebEx, the content is  presentations and meetings.
  • In DemandTec, a promotion and price optimization SaaS platform for retailers, the content are prices for individual retail items and promotion plans.

And here are some content examples from the  consumer side

  • In WordPress, a blogging platform that has evolved into the leading CMS (Content Management System), the “content” consists of blog posts, articles, and snippets of web pages.
  • In Google Docs, the content consists ofdocuments, spreadsheets, presentations, forms, and drawings.
  • In Shutterfly, the content are photos and albums.
  • In MediaWiki, the software that powers Wikipedia, the content are wiki pages.
  • In craiglist.com, the content are the user-created advertisements.
  • In YouTube, the content are user-created videos.
  • In Gmail, the content consists of email messages.
*Whew!*   That’s a long list, for sure! But  hopefully it drives home two points:
  1. First, “Content” is not limited to just the “Content Management System” (CMS) category of products.
  2. Second, “Content” has a broad meaning,  ranging from spreadsheets to virtual machine images to sales opportunities. Content management is THE MAIN activity performed by most software described as a platform, server, or online service.

Product Patterns: The big ones you see over and over in Enterprise Software

Since I’ve become attuned to Product Patterns (buckets of software functionality that appear in product after product ) I’ve noticed dozens of them.  Maybe more.  Some are big, top-level patterns.  And some are really sub-patterns, that exist in the context of a larger pattern.

I’m going to start with a few of the high-level Product Patterns  that I see again and again in enterprise software.

  1. The Content Manager – manages some kind of content: secures it, organizes it, makes the content searchable, lets users share it
  2. The Content Viewer – renders content for viewing by humans.  It lets users view and navigate through the content, not edit it.  For the ability to both view and edit content, see the Content Authoring Tool Pattern.  (Many software platforms don’t have a Viewer because they simply use the web browser to view content, or because they use a Content Authoring Tool to both view and edit.)
  3. The Content Generator – takes one type of content and generates a new kind of content from it.  (like generating a populated dashboard from a chart design).
  4. User Manager – manages logins, user accounts & profiles, etc.
  5. The Workflow Manager – automates a business process by routing content,approvals, tasks, and the like to users.
  6. E-Commerce Manager – self-evident, but when built into a software product it’s often to let the user buy more or renew more licenses to run itself.
  7. The Content Authoring Tool – lets users create content.  Often this content is then deployed to a server with Content Manager capabilities, and then managed by it.

Each of these high-level Product Patterns breaks down into several sub-patterns that I’ll cover in more detail some other time.
Most software “platforms”  or “server” products — whether they are installed servers or software-as-a-service offerings — are implementations of at least one or two of these patterns, and sometimes all seven. Some examples:

Product Pattern Examples

Microsoft Office tools (Word, Excel, Powerpoint) – These are “Content Authoring Tools.”   The content: documents, spreadsheets, and presentations.

Wikipedia / MediaWiki & other wiki platforms - Most Wikis are a combination of a Content Viewer, Content Manager,  Content Authoring Tool, and User Manager.   Most users just view pages (via the Content Viewer).   Other users (authors and editors) log in using the User Manager and create and edit Wiki pages.  And the Content Manager gives all users the ability to search content, to categorize content, and track revisions to the content.

Craigslist is a Content Manager, User Manager, and a Content Authoring Tool.  The content is primarily user-written advertisements.   Viewing

Kickstarter is a Content Manager, User Manager, Content Authoring Tool, plus E-Commerce.  The content is mainly user-written project descriptions/advertisements.

A Business Intelligence platform like Microstrategy is a Content Manager of report and dashboard designs, plus a Content Generator that runs the designs and populates them with current data, a Content Viewer to render the reports, and a User Manager.  The content is reports, analytic data cubes, and visualizations.

Salesforce.com’s Sales Cloud is a combination of six Macro Product Patterns:

  • A Content Authoring Tool to let users create content like new leads, opportunities. customer profiles, and other related info,
  • A Content Manager to secure and manage access to , Content Generator, Workflow Manager (to move
  • A Workflow Manager to route leads from one stage to the next and collect approvals
  • An E-Commerce Manager to let Sales Cloud customers convert from a trial license to a paid-for license, and to purchase extra seats.
  • A Content Generator that generate sales forecasts, reports, and dashboards from user-entered data.
  • A User Manager to manage user logins and accounts.

Facebook is primarily a User Manager plus a subset of the Content Manager (search, routing of status updates to other users).