Outsourcing for startups
13 February 2014
Guest Article by Lloyd Ernst ( RCL Mentor)
Outsourcing for Start-ups
I see so many start-ups that simply waste money, unintentionally (I've invested in them). They get $100k, or maybe a couple of million, and before they know it, the money is gone! I once told a new investor in my business that I valued every cent he invested “as if it was my own”. He promptly told me "Bugger that! this was the money that I was going to use to send my kids to college!"
So when you’re at the CitiBank ATM getting a credit card cash advance to pay the staff salary, you'll be debating if you really needed to spend all that money on the EMC SAN or that $1000/day "consultant" during your early start-up phase. There are times and places for big shiny EMC SANs and $1000/day consultants. Most people get this timing wrong.
The same can be said about start-ups and outsourcing. It can be a good way to extend your time to life and reduce time to market OR you could just be wasting precious time and money. The trick with outsourcing for start-ups is knowing WHAT to outsource and what to keep in house.
#1 - Own and Create Your IP/Architecture.
You cannot, should not, and must not outsource this function of your start-up! You are the owner/creator of your IP and Architecture - not a company in Hyderabad, Manila, or Ho Chi Minh City. This doesn't mean you personally need to be an uber-tech-god/goddess yourself. However, someone in your company who has a significant piece of skin in the game should be! That person needs to be living, thinking, breathing this stuff 24/7. This is the sort of person who goes to sleep dreaming about what they are going to be working on tomorrow: "Sorry honey, not tonight - I’m thinking about distributed content mechanisms for mobile networks in emerging markets.” You don't get that level of commitment when you outsource to IBM, Accenture or Avanade. (Use these guys when Sequoia Capital opens their cheque book).
#2 - Product Management (see #1)
You cannot outsource product management (especially not to a $1000/day constant!). I think this is more important than #1. A good product manager is like your technology architect. Instead of understanding how TECHNICALLY it all works, your product manager understands how it works from the BUSINESS LOGIC side of things. In many cases in early-stage start-ups, you are the product manager. See #6 below about how you can outsource some low-level Product Manager functions.
#3 - Design is King
Design is important these days. Design is something that can be outsourced, but again, probably not to Hyderabad, Manila, or Ho Chi Minh. Find a local designer in Australia, UK or the US for the core design layout & style guides - Get them in, work together on this. Once the design is nailed down, the rest will follow. Change it on the fly - you should be always able to tweak and change things, even at a moment’s notice. If your developers whine that it's too hard, takes too long to make a change, etc., screw them! Change your developers today! If it can't be changed quickly and easily, they built it wrong. If the new design/layout doesn't work, change it back.
#4 - QA (Gratuitous Plug Alert: QA is CloudStaff's forte)
I do not have a good track record with software QA (Quality Assurance) teams. In my previous business, WebCentral.com, I had about 6 developers. I never had a QA team, because I always figured they/I could test the work. Plus, I used to wait for the customers to find the problems and then fix them quickly. Back then, we only needed to support a couple browser versions and screen resolution was limited and customers were more forgiving and we didn't have twitter.
Consider what you’re supporting today: multiple browsers, different operating systems, mobile versions, varying screen resolutions. Customers have a tendency to complain loudly to a large audience even if your product is free and business logic is getting a lot more complicated.
I have since learned the virtues of good quality assurance. I am now a believer. Good QA means you deliver a better product and your developers focus on coding. The key to good QA is getting good test plans - and lots of them. Then it's throwing people at the test plans. These people run each test on each device and on each browser, etc, and they do it again each time you make a change QA can be a “set-and-forget” function once you have good test plans written.
If your development team say, "We use automated test systems - we can do it ourselves,” that's perfect! Tell them that you will reduce their hourly salary to $8/hour for every hour they spend playing or even thinking about this stuff. This is something that you can, you should, you must outsource.
Not one single second of your developers’ time should be spent on this.
In fact, the development team really should not manage the QA process; a QA manager or a Product Manager should do that. When developers manage QA, testing tends to skew toward what they know is working. Development should not drive QA, nor should it set the QA agenda.
As the business owner, you should expect to see a summary of the QA tests. It's simple to read, there are nice big coloured pie charts that should show which tests Pass, which are Blocked and which ones Fail, etc. It gives you visibility of the project’s progress.
#5 - Developer Productivity
Should I outsource development? It depends of the type of development. If you’re developing some really key, special technology, like a new video codec, a real-time chat protocol, or special security application, then no, you shouldn't outsource the key or core of that project. Determine which parts of the project should be moved to a remote team. Then, there will be lots of stuff that you should simply outsource.
However, when you do outsource development, never rely on a single developer. With all remote development teams we try to achieve a productivity multiplier effect. Have one senior developer and buddy them up with two or three smart junior developers. It gives you more bang-for-your-buck. It also means knowledge is shared and in a few years, those juniors will be senior developers.
#6 - Outsource the little stuff
Now for the fun part. Get yourself a PA. In fact, get your team a PA. However, this is NOT the kind of PA that is going to be checking with QANTAS about the vintage champagne they are serving in first class on the A380 from London to Sydney (I think it's Louis Roederer).
This is someone who can do the little things. Get them to save you 2 to 5 minutes here and there. Start simple and then build:
Ann - Skype Peter. Give him the password/domain, then change it in 1 hour and update Password Safe.
Ann - Find out what pizza the developers want, order it. Use my credit card.
Ann - Sign me up for a free account on this site and put the password/username in Password Safe.
Ann - Post this XXXX to Twitter, Facebook, LinkedIn.
Ann - Research this person.
Ann - Go to this website, get all the names of the VCs in Singapore, phone them and ask reception for the name of the partner who deals in Green.
Ann - What is the cheapest flight from London to KUL?
Ann - What are the last activity on my credit cards?
Ann - Summarise our top 20 competitors’ Tweets/LinkedIn posts.
None of the above is rocket science. In fact, I can probably do every task faster than Ann, but I value my time at $1,000/hour. She is $8/hour. The same thing applies to my in-house developers. Sure, they can go and spend 10 minutes screwing around on Pizzahut.com and order their own dinner - but it will take them 10 minutes. It takes 30 seconds of their time for Ann to ask them what topping they want. (I don't trust developers with my credit card anyway; the last time I did, I got a $1,000 bill from Amazon when someone ordered a High I/O Quadruple Extra Large EC2 instance server and forgot to shut it down.)
More importantly, hiring a PA sends a message to your team. You’re telling them, “you are valuable, and your time is valuable, so here is someone who is available to help you with the ‘little stuff.’ Now get back to work!”
And it's not as over-the-top as you would think, but you might even consider two PAs and have them cover 8AM to midnight – with a few ours overlap. When you’re working at home at 10PM, it's great being able to throw a simple task to your PA. But it also prevents you from having a “single point of failure." If a PA is sick or leaves, you have a backup. There is always research/data harvesting work they can be doing in the background for you.
Finally, about that champagne...
[11:46:45] Ann: Hi Lloyd, I called QANTAS, they are not sure of the vintage of the Champagne, but they told me they know that they are serving Comtes de Champagne Taittinger on that flight.
Thank you, Ann.