What is part of your core competency?
This article was inspired by “Delivering Happiness” by Tony Hsieh.
I am happy to off-load anything to a third party so that I don’t have to support it in the future. I am more than happy to off load billing to chargify, shoppify and the likes so that I focus on my business, on my core competency.
I have built my share of custom billing systems and I don’t feel the need to do so anymore. It’s usually not part of my businesses core competency. I have built many custom CMSs and don’t want to deal with that either anymore. I have built my share of CRM, PIM, Analytics, marketing campaigns, SMS, IM servers; you name it I probably built it.
So now, when I start a new business I make the list of the third party companies and tools that I am going to off-load what’s not part of the product experience to:
- CMS/Blog => wordpress/radiantcms
- Marketing email campaign => MadMimi, Mailchimp and the likes
- CRM => Fatfree crm, sugar crm
- Analytics => Google
- Forums => BBpress
- Billing => Chargify, Shoppify, Spree
This way the only thing I need to build it’s what’s really valuable for my customers, the thing that I am producing. I don’t need to learn the inner working of PayPal, Authorize.net or Cybersource’s APIs. I can concentrate in providing value to my customers and in marketing and sales. So I try to eliminate anything that can distract me from those goals.
Unfortunately it’s not always quite clear what’s part of your core competency. I know of companies that pretty much did almost the exact opposite of what I am suggesting from the engineering side, and in most cases was not the engineering team’s fault.
If a company sells subscriptions to email alerts of time-sensitive deal/coupons, and articles on how to find the best couture all of which is delivered by email. What is considered part of their core competency?
Of course finding and evaluating the deals/coupons for real value and opportunity is their main core competency. The writing of the articles is also part of it. What about the billing for the subscriptions? What about the tools to write the articles? What about the CRM tools to manage the customers and handle the leads of prospective clients? What about the email delivery?
Here is the breakdown currently in place for such a company:
- Finding the deals/coupons => in house content providers
- Writing the articles => in house content providers
- billing system => in house engineering custom paypal integration
- cms tools => custom made by in house engineering
- crm tools => custom made by in house engineering
- email delivery => VerticalResponse
- credit card processing => PayPal
Now this company sends out about 20 deals alert a day to a couple thousand recipients. That’s about 40,000 emails a day and growing. So I can see how they don’t want to have to manage all of those emails, and they want to make sure they get through the spam filters. Usually nothing beats companies like Mailchimp, Constant Contact and so on to make sure that your emails get delivered, every time.
What’s interesting in the list above is they pretty much completely violated all of my principles of what I consider part of the core competency.
Let’s look at what’s part of the customer experience:
- Receiving the emails
- Reading the articles
- Reading the deals alerts.
- acting upon the info received
Let’s look at what’s not part of the customer experience:
- The sales team managing leads is not and yet a CRM tools was built
- The content providers editing the text is not and yet a CMS tool was built
- The recurring monthly billing is not and yet a billing system was built
Wordpress/Radiant could have easily been used for the CMS part, either sugarCrm or FatFreeCrm for the CRM, and again chargify would have been a perfect fit. (I can’t image why anybody would build a custom crm, pim, cms, billing system anymore. There are so many that work so great that you can integrate with and customize, open source or sass.)
Now, I personally would not want to deliver all those emails myself, but then again why not? Delivering emails is quite inexpensive and I do consider it part of the experience. On the other hand if I don’t have to worry about email delivery, can-spam act, ip banning and off load that work too, I’d probably would.
The problem with this company is that VerticalResponse has been having consistently problems delivering their emails. I counted over a couple dozen incidents in the arc of 6 months where VR delayed the emails by hours or people would show as bounced while they didn’t. (VR has a policy of trying 1 or 2 more times after a bounce happens then the bounced email get purged on all future communications.) At least 15 hours per week of engineering time is spent chasing and fixing, when possible, these VR related issues. That’s real money wasted.
My initial suggestion is to signup with somebody else, split the load and then go with the provider with the better record. Still it kept nagging me, why is the engineering team supporting all of these systems that can easily be offloaded and no customer would be affected and it’s not supporting, beside integration, the one system that is actually affecting their customer. The timeliness and delivery of the articles and deals alerts is definitely part of their core competency. Why not a/b test an in-house solution? Why give up control on your product?
It actually comes down to 2 factors:
- Not engineering, but the business not fully understanding their core competency. They rather pay for the email delivery fee and countless man hours than a chargify monthly fee.
- Inertia. The billing system is there already, the CMS is there. Why throw away all that code, all that effort. It only requires 2-3 people a couple of weeks of their time whenever a bug is discovered or a new feature is thought out. Of course if using radiant or wordpress, the plugins and features would already be there, but you would have to migrate and there is a whole bunch of FUD associated with that.
That’s is a classical case of being penny wise, pound foolish. On payroll people for as much as you pay them, by rule of inertia, they can be misused, it doesn’t matter. You’re going to pay them anyway. A monthly fee or a metered plan is much scarier. Giving up some control to a domain expert is scarier and more painful on our wallet.
I guess nobody takes account of how much did that one feature cost? $8,000? $16,000? vs $249/month? How much is tomorrow’s feature going to cost ya?
How about the features that you don’t have but your customers need? That feature you can’t deliver because your engineering team is busy fixing non-core competency problems? How much is that costing you? It’s a slow death coming from the top.
So whenever management asks you to implement a forum on the site or a custom cms system. Before getting excited about implementing all the logic. Ask yourself:
- How is this helping the business in making money?
- How is this affecting the user experience? Is it customer facing?
- Is there a service or an open source project that already does this well and can I integrate it faster then cooking up my own version?
- Which implementation would be easier to maintain? mine or the third-party? Which one would suffice the requirements?
- Is this part of the company core competency?