November 29, 2005
Attenuate Goliath’s Technical Talent Strength
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:
- Inject the customer into the process and the people. The closer the development group is too the customers needs, the better!
- 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!
- 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.
- 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!
- Expand the group (only when the product is ready for it) by hiring only “A caliber” people!
- 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).
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!