Outsourcing vs. Local Sourcing Software Development

For whatever reasons (and there are many) sometimes we need help with our software development.   One of the biggest fallacies in getting help is that it is cheaper to hire a $20 / hour engineer on the other side of the world than a $100 / hour engineer in the neighborhood.  

It's just not true in many cases.

You're looking at the wrong cost factors.  The question is "How can we get this project done, correctly, in the quickest and most cost effective manner"?

For the vast majority of us, our user requirements are a constantly shifting target.   So there is a lot of interaction between you and your development team.  Which means face to face.  And don't forget knowledge and productivity.   A good engineer can out code a mediocre engineer by a factor of 10.  Really.   Also if they are a disciplined group, you don't have to spend a lot of time up front on detailed requirements. 

In the end you get a more usable product, faster and at less cost.   And don't forget those bug fixes. 


Barriers to Entry

We've got a great business with a great model.   Often I get asked "But what are your barriers to entry from competition?"   Now if your first answer is your patents, think again. Fence_2 That doesn't prevent anyone from copying what you do.   When I was at Novell many years ago, we viewed patents as a great tool for negotiating a deal.   So, we do have some very clever technology.  Not enough.  We also have a very unique business model.   Very niche oriented segmentation.  Maybe or maybe not enough.  But the one thing you can have which cannot be copied is relationships.   Great post on this on Tom Peter's blog. 

In an age of interchangeable products and easily duplicated services, customer relationships have become one of the most powerful competitive advantages available to a business.

Here's a personal example.  We do all of our banking with Square 1 Bank.  Why?   Because they spent the time to get to know us.  Know our needs.  Understand our vision.   And Bob, Leslie, Stasia, Amos and others are always available and quick to help whenever we need them.   And we return the favor whenever we can.   Should Silicon Valley Bank come calling when we are successful would we change?   I doubt it.  Because we've spent a lot of time with our bankers.   And once you have a good relationship, you never want to leave.

The Soft Belly of SaaS

Dvorak wrote an interesting piece called "Don't Trust the Servers". 

The danger of putting your data at the mercy of a company's servers was made apparent when Microsoft's own WGA servers crashed over the weekend.

I'm a big believer in redundancy and having critical items under my control.   Crash Because putting your faith in some web service to be there 24x7 just is asking for trouble.   At least for mission critical items.   When Skype went away I was miffed because I couldn't talk to my brother in the U.K. for a day, but pity the businesses built around Skype.

But they don't make your life any easier.   A couple of weeks ago I contacted SalesForce.com because I wanted a copy of my data.  I have a backup Sugar CRM system running on a server and figured that if anything happened I could spend a couple of hours and bring up the system.  So I got the "trust me" email.

We actually backup all of your data for you.
If you still want to do your own backup, you
can either do a data export of your reports to
excel (in the reports tab) or you can request
a weekly data export of all your account
information for an additional $600 per year.

Oh, that's wonderful.  For only $600 I can get my own data I put into the system, back to me.  Inspires confidence, doesn't it?   

When building systems I always look for the single point of failure.  And in the case of SaaS where they hold your data in silos it's a massive single point of failure.   

Moral of this story, when you're designing your system ask yourself what happens to your customers if you suddenly went away for a couple of days.   


Improve your bottom line, encourage employee turnover

You see if you have customer-facing employees who know how things work and are helpful, your customers may develop a personal relationship with them.  And that means trouble.   Because if that employee leaves you may lose customers.    Cyborg But if you can pre-program cheap interchangeable employees, you never have to worry about paying a fair wage, improving benefits or training.  And if they leave after 6 months, that's great!  Not enough time to develop empathy with your customer.  Everything is script driven.

A tale of two Smiths grocery stores.   Scott's grocery store firmly believes in this philosophy.  I bet you he doesn't even remember anyone's name there.   While here we have have 5 grocery stores within a 10 minute radius.   We know everyone's name at our Smith's and they will do anything to help us and we do 80% of our shopping there.  But what happens if Krogers burns them?   The employees will leave and we will too.

So there you are, focus on that bottom line and never mind the fact that you cannot get new customers and have a high customer churn rate.  That's not your problem.  Is it?

After 12 years, it's goodbye

I've had the same plan, same number with ATT wireless - Cingular - ATT for 12 years.  Att_logo_220x57 They're turning off the network, and wanted to jack my bill by 500%.

I'm with Sprint now.  Tried to buy from website.  Didn't work.  Tried calling, and after 3 tries and 3 hours got the wrong plan and wrong phone.   So went to an independent Sprint / Nextel office.  Got it all done, switched over the number in 45 minutes.

Local touch is everything.  Always go to an independent.   Same price, less hassles, better service.