Archive for the ‘CTO/CIO’ Category

Outsourcing Engineering or Operations

Monday, April 26th, 2010

Our clients very often have questions over Why, What and How to outsource software development efforts, infrastructure, hosting, etc.  Readers of our book or frequent readers of our blog will notice that the questions are similar to those we ask in our “Build v. Buy” analysis.   The decision of what to outsource isn’t significantly different than determining when to buy rather than build.

Why outsource?  There are three very good and common reasons to outsource engineering efforts.

1)      You want to reduce your average cost of engineering and outsourcing may provide a way to do that (especially “offshoring”).  The right kind of outsourcing can reduce your unit cost of labor for engineering efforts.  But before you outsource, you should understand the full cost per unit developed of your engineering efforts so that you can measure and validate your cost benefit.

2)      You have near term capacity needs to increase engineering capacity that you cannot meet with current hiring practices.  If you need to 3x the size of your engineering team in 2 months, you probably need outside help.

3)      You fear that the engineering capacity need will be short lived and do not want the risk of hiring W2 employees.  Sometimes (2) and (3) are bundled together.  If you don’t have follow on work for some new system or product, you probably don’t want to hire and then fire employees.

The “What you should outsource” is very often mistaken as “why one should not outsource”.  There are almost always things you can outsource, and very often there are things you absolutely should not outsource.   We typically discuss 4 areas with our clients to help them understand what can and what should not be outsourced.

1)      Don’t outsource things that create strategic competitive differentiation for your company.  Having a third party develop the thing that differentiates you from your competitors is giving away the secret sauce.  It’s hard enough to protect intellectual property – if you simply give it to someone else you might as well just give it away.  Now probably not everything you do differentiates you from competitors.  For instance, if you run an ecommerce site you might determine that your product proposal system is a differentiator while search is not.  Outsource search, keep the development of your product proposal and analytics system in house.

2)      Don’t outsource product definition.  If you are in a product business, you really can’t outsource the definition of the product that makes you money.  We’ve seen customers try and it’s not pretty.

3)      Don’t outsource your architecture or standards.  Tightly coupled with product definition is the need to set the standards and architecture by which the platform abides.   You may believe that the beauty is in the idea or the specification of the product but if it takes off it will need to scale.  Few outsourcers are adept at defining scalable platforms because the largest and best companies simply don’t outsource that – ever.

4)      Don’t outsource areas where you need rapid response and flexibility.  These things might not be competitive differentiators – but if you expect a turn on a dime response in specific areas you aren’t likely to get those with a contractual relationship.

Finally we come to “How you should outsource”.  Here again, we have three common rules for our clients.

1)      Manage the outsourcer.  That means that you need to add employees to manage the outsourcer and the projects, which in turn means that the actual cost of outsourcing is higher than what the outsourcer has quoted.  Keep this in mind when considering outsourcing to dollar average costs down.

2)      Expect conflict.  Rarely do we see outsourced projects that don’t have conflict between internal engineering teams and the outsourced team.  Expect it and be prepared to manage it quickly.

3)      Deliver standards with specifications.  If you expect something to be 99.99% available, scale to 10x the current volume and deliver new functionality be very specific and demand proof.  We’ve even helped negotiate contracts where payment happens after proof in the production environment rather than delivery.

Summary:  Look to outsource when you want to manage the risk of growth or contraction and to lower your engineering costs.  Always expect that you will have to aggressively manage your outsourcer and always deliver specific standards of operation with your product specifications.  Never outsource areas that strategically differentiate your company or product offering or where you need strategic or tactical flexibility.

Intellectual Property

Monday, January 25th, 2010

If you think there are a hundred things you need to worry about as a startup, make it 101; you must not forget about intellectual property infringement. Unfortunately the environment surrounding intellectual property is complex and fraught with dangers for the unwary. Imagine a scenario where you come up with a great idea, spend thousands of hours developing it into a viable product, spend thousands of more hours attracting and retaining customers, only to find out years later that you have infringed someone’s patent and now owe them monetary compensation for the use of the same and potentially punitive damages for willful infringement. Obviously this is not a desirable scenario and therefore it’s worth doing a little bit of homework upfront to try and avoid that outcome.

Our first piece of advice is to seek legal counsel early; pay a little money to an attorney and get some peace of mind. Don’t just read a blog, even ours, and think you can go it alone. Educate yourself but seek experts when needed.

Types of Intellectual Property

A top priority should be to avoid infringing someone else’s ideas and the first step to accomplishing this is to understand the three types of intellectual property: patents, trademarks, and copyrights. These are all governed by federal law.

Copyrights are granted to people for any expressed form of an idea or information that is substantive and discrete. Under the Berne Convention copyright is automatic even without application once it is produced in a “fixed medium”, such as a drawing, document, or electronic file. Copyrights are issued by the U.S. Copyright Office. One of the limitations of the copyright protection is “fair use”, the definition of which is not always clear but allows the use of your work by others for such things as parodies and news.

Trademarks are protect words, names, symbols, sounds, or colors that distinguish goods and services from those manufactured or sold by others. Trademarks are issued by the Trademark Office of the U.S. Patent and Trademark Office (PTO). Unlike patents, trademarks can be renewed forever as long as they are being used in commerce.

Patents grant the receiver exclusive rights to the invention and are granted through the U.S. Patent and Trademark Office (PTO). The length of protection is currently 14 years from date of filing for design patents and 20 years for all other. Design patents protect the unique appearance of items that can be manufactured but not their function, such as furniture. The five primary requirements for an idea to be patentable are:
  1. Patentable subject matter – The subject matter must be such that the federal legislature and judicial branches have determined to allow and includes machines, processes/methods, compositions of matter, and improvements of those. Algorithms and laws of nature (e.g. E=mc2) are examples of subject matter than cannot be patented.
  2. Utility – The idea must serve a use or purpose.
  3. Novelty – The idea must be new and not known by others.
  4. Nonobviousness – The idea must not be obvious to someone practiced and working in the field of the matter. For example if the idea involves a method of producing chocolate candy, the idea must not be obvious to an experienced chocolatier.
  5. Enablement – Within the patent application the idea must be described in sufficient detail as to enable someone to make use of it.

Research

The next step in protecting your startup is to do some research. Use tools such as the Google’s patent search or the search engine at the PTO site to look for patents and applications that are close to your idea. If there are patents that appear to be close to your idea change your idea, design, and implementation now. If you think there could be any doubt call in an expert, someone very experienced in the field and with the relevant patents, or call a patent attorney to receive a legal opinion.

Patent vs Trade Secret

Once your sure you’re not infringing the next decision is how to protect your own intellectual property. Copyrights and trademarks are usually pretty straightforward decisions. Things get murky when deciding between a patent and a trade secret. Trade secrets are intellectual property that is not widely known outside of the company. This can take the form of formulas, processes, or methodologies. A great example of a trade secret is the formula for Coca-cola. The reason this can be a difficult decision is that as soon as a patent is filed it becomes public record and your competitors will gain insight into your business. If you are eventually awarded the patent you gain the sole right to use your idea. If you keep your idea a trade secret but your competition determines how to reverse engineer your product and begins using your idea, you have no recourse.

Patent Application

Once you decide to proceed with a patent the application process can be very long often taking years to complete. The process of receiving a patent starts with an application that includes a specification, a summary of the invention, all claims being made, and a declaration of invention. This application along with the filing fees initiates the process. A reviewer from the PTO studies the application and investigates prior art. The reviewer can issue a patent or reject some or all the claims. If any or all of the claims are rejected the applicant can resubmit the same or modified application. If rejected a second time there is an appeal process that includes the Board of Patent Appeals and Interferences and eventually the US Federal Circuit Court of Appeals.

Conclusion

If you’re unfamiliar with intellectual property this may all seem a bit overwhelming. The two critical things to take away are 1) spend the time upfront to educate yourself and your team and 2) seek expert help when confused or you arrive at a critical decision. The investment in both will be well worth it in the end.

Updated Recommended Reading

Monday, January 11th, 2010
How many a man has dated a new era in his life from the reading of a book.  ~Henry David Thoreau, Walden

Now that we’ve completed one of our major writing projects and are on winter break from another writing-intensive project, I’ve spent the past few weeks catching up on some reading. I keep a both a pile of unread books/articles as well as a list of books that I want read. When the pile gets low I go to the list to replinish the pile. We often share reading recommendations amongst ourselves.

All of this reading has made us interested in updating our old recommended reading list with a new reading list. This time we’ve decided to use Amazon’s astore to do this since it makes adding, updating, and categorizing our list quick and easy. You can find the permalink on the righthand side of our blog. We’ll try to keep it updated as much as possible so you know what we’ve read and thought worthy enough to pass along. If you have suggestions of great books let us know in the comments.

NOTE: The purpose of this blog isn’t financial gain but given the new FTC requirements for full disclosure we feel obligated to state that the recommended reading list is an Amazon associate’s page, for which we get some incredibly small amount back in the event you do use our links. We are not really interested whether you use our links or not, we just want an easy way to recommend books to you. For those fellow bloggers that haven’t seen the FTC requirement, here is the relevant couple of sentences:

The revised Guides specify that while decisions will be reached on a case-by-case basis, the post of a blogger who receives cash or in-kind payment to review a product is considered an endorsement. Thus, bloggers who make an endorsement must disclose the material connections they share with the seller of the product or service.

One final quote to leave you with…

Outside of a dog, a book is man’s best friend.  Inside of a dog it’s too dark to read.  ~Groucho Marx

Using Vendor Features to Scale

Tuesday, December 29th, 2009

If you’ve had the opportunity to participate in an engagement with us you know that we tend to utilize the Socratic method of asking questions. And, it’s not uncommon for us to hear a company explain how they plan to utilizing a particular vendor’s feature to scale. For databases this is often clustering. We believe relying on a vendor to scale violates several of our architectural and scalability principles. Let us explain a couple of our more significant concerns with this practice of relying on a vendor.

First and foremost you should want the fate of your company, your team, and your career in your own hands. Do not look for vendors to relieve you of this burden. As a CTO if the vendor you vetted and selected fails, causing downtime for your business, your are just as responsible as if you had written every line of code. And if it is significant or frequent enough you should expect to be relieved of your position. All code has bugs, even vendor provided code, and personally I would rather have the source code to fix it rather than have to rely on a vendor to find the problem and provide me with a patch. This statement should not be taken to imply that you should do everything yourself such as writing your own database. Use vendors for things that they can do better than you and that are not part of your core competency. See our post on build vs buy for the four question to answer when making this decision.

With scalability, as with many other things in life, simple is better. The more complex you make your system to provide scalability the more you are likely to suffer from availability issues. More complex systems are more difficult and more costly to maintain. Clustering technologies are much more complex than straightforward log shipping for creating read replicas.

One of our beliefs, and should be one of yours also, is that it is most cost effective to be vendor neutral. Locking yourself into a single vendor, whether hardware or software, gives them the upper hand in negotiations. If you don’t think the sales rep knows this, ask yourself why they are willing to throw in some of these features at such an initially steep discount. The reason is that they can make up for it next year when you have to renegotiate.

If these concerns resonate with you, check out our database scalability cube post for ideas on how to design a scaling strategy that you can own, is relatively simple, and is vendor agnostic.

10 Rules for Vendor Negotiations

Monday, December 7th, 2009

Almost all technologist get the opportunity at some point in their career to negotiate with vendors and/or manage a vendor relationship. Often this is a critical part of the job for the VP of Operations or the CTO/CIO. Below are some ideas on how to make the negotiation and ultimately the relationship with the vendor successful.

  1. Be honest. Don’t lie to vendors about anything. It’s often tempting to stretch the truth about other vendors and their offers, timelines, budgets, approval requirements, etc. It’s better to say nothing, lies will damage the relationship forever.
  2. Don’t take things personally. The vendor’s sales reps do this day in and day out, most aren’t going to lose sleep worrying about if you like them or not. Your loyalty and motivation should be to your investors.
  3. Consider the relationship. While negotiating is often viewed as a game, be aware that your behavior will follow you into the relationship. See rule #1.
  4. Give yourself time. Time is your best friend in negotiations. Many vendors have rearranged their fiscal year because their clients know how desperate many sales reps are to close sales and receive their commission during these times.
  5. Give yourself options. Follow our advice on scalability so that you are vendor neutral and can change vendors with little effort or concern.
  6. Do your homework. Find out about the vendor, their customers, their solvency, their post sales support, etc.  Use your network, find out what other people pay for similar services. Be prepared for there to be huge differences based on the total size of a purchase a company makes but at least know the ballpark range.
  7. Keep negotiators separate from implementers. If possible have the people negotiating the deal different from the people who have to work daily with the vendor. This way in the event either party feels slighted in the deal they don’t have to work with the same people the next day.
  8. Don’t discuss your budget. The vendor has no need to know how much you can afford to spend on this purchase. It’s okay to let them know that you will need additional authorization to make the purchase if you think the price is beyond your ability to authorize.
  9. If it’s not in writing it never happened. Lots of things get said during negotiations that get put into the contract and therefore never get delivered. If it’s important get it in writing.
  10. Ask for anything. Once you’ve exhausted the pricing negotiation ask for other things that aren’t cash related such as additional modules, higher support levels, steeper discounts for future purchases, etc.