November 29, 2005

Attenuate Goliath’s Technical Talent Strength

Posted in management, Product Development at 10:19 am by scottmaxwell

This post is part of the overall posting “How Can David Beat Goliath?- Strategy #7: Attenuate Goliath’s Strength“:

Large companies have a large division of great technical talent. How can smaller companies compete with this large company advantage?

Well, actually…in my view, this is more of a perceived advantage than a real advantage, as most great products originate from a small group of talented architects, engineers, and developers rather than a large group (take a look at The Mythical Man Month. Some of Fred Brooks‘ points are substantially similar. If you don’t have the time, Wikipedia has a summary).
Creating the Edge…

Small companies actually start off with a strategic edge with respect to the technical talent issue and, if they focus on a few staffing and organizational, they can increase their advantage:

  1. Inject the customer into the process and the people.  The closer the development group is too the customers needs, the better!
  2. Everyone should sit together. Yes, projects can get done without people all sitting together, but if everyone sits together then the results will be better.  The more communication opportunities the better!
  3. Architecture matters! My sense is that architects can design only what they know…if you want the best architecture, you need to start with the best architects.
  4. The core group of up to 3-5 highly talented “grade A” people who together have a very good feel for the issues and approaches around building the product and are highly productive programmers. Having too many people in this group actually hurts!
  5. Expand the group (only when the product is ready for it) by hiring only “A caliber” people!
  6. As the group expands, create an organization “structure” that activates a healthy tension between groups. The tension is really important to create, as it will result in better technology through (healthy) debates. If you separate out the people into several groups (and rotate many of them), do not allow one of the groups to have more “power” than the other groups, and encourage debate, you will be able to create the healthy tension. I would at a minimum separate out:
    • Group 1: The people who design,
    • Group 2: The people who develop, and
    • Group 3: The people who test the results (including aspects of software delivery, installation, and configuration).
  7. Rapid development cycles for all aspects of the product AND supporting activities (installation, configuration, training, service, marketing, etc.). This approach seems to be gaining rapid adoption, as it works really well. It gives you great starting points to examine, share with prospects, and generally improve, which results in much more rapid product and even business model evolution. It also seems to keep people excited about coming to work (instant gratification is good!) AND it forces all aspects of the business to work in a well-choreographed manner (they get lots of practice!), which has significant benefits.

As the organization grows further, separating the development group further by natural technology segments (e.g., UI, API, kernel, and other natural components) works really well. It allows the teams to remain very small, and the teams align with the technology. (You will want to shift people around and think of them as a pool of resources to some extent, as the natural groups will change over time as the technology changes.)
Many books and software programs have been written to facilitate technology development that are better studied than summarized, but my sense is that the points above are the key leverage points in most emerging growth technology companies at the expansion stage.

Does offshore development create a strategic advantage?

Many companies are going offshore for parts of their development effort. In my view, this is an economic advantage rather than a strategic advantage. Offshoring can help you economically, but in most cases will hurt you strategically (in the very best cases, it is neutral strategically). The major issue around offshoring is around communication (the communication between departments generally goes through only a few people, which essentially creates a low bandwidth pipe that makes managing that much more difficult even if you solve all of the other issues around offshore staff).

I have found that there is one situation where offshore development is both an economic advantage and not a strategic disadvantage (and I have made several investments in the approach). The situation is when the development effort started offshore and continues to be run completely out of the same offshore location. This has the economic advantage of offshore staff and does not have the strategic disadvantages noted above. Also, there are some great technology people offshore! From a strategic perspective, it does not really matter where the company is based, as long as the company staff is all-together, at least initially!

The technology advantage of the large companies is more of a perception than a reality. Emerging growth companies start with the advantage and can grow the advantage if they approach it right!

Advertisements

1 Comment »

  1. […] A huge set of great technical talent […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: