Great things take time. Evolution and complexity are two sides of the nature development. Let’s take cars. Cars are becoming more and more complex. At the same time, cars are becoming more reliable, faster, more efficient, safer and better. It took humankind a century to get there. The progress pace is impressive, but incomparable with software development.
Things change in software development world with an astonishing “never seen before” speed. 10 y.o. technologies are history. 10 y.o. software without major upgrades is dead. While 10 y.o. cars are quite good and decent.
We, software developers, are blessed with a gift that makes our industry truly different — we can upgrade working systems on the fly. To have a new car you should sell an old one and buy the new car. To have a new version of SaaS application you don’t have to move a finger. Software developers have a luxury to iterate fast, fail fast and emerge viable, efficient solutions.
Software development industry is not so young, it is about 50 years old. It took us 50 years to reach the point where “software is eating the world”.
Companies: Hedgehogs and Foxes
OK, back to the main point of this essay. There are two types of companies: Hedgehogs and foxes. Hedgehog company takes one area and digs deep. It usually create a single software application for a single market (no matter if niche or wider). Fox company builds many applications for various markets, it constantly tries many new things and never stick to a single thing.
I don’t like foxes. In most cases they can’t create something significant. However, let’s check some examples. Rovio created 50 or so games till the Angry Birds slam-dunk It’s a hedgehog company. It was fully focused on game development. They tried various models and various gameplays. They iterated and failed many times.
Apple is a hedgehog company (well, there were different times at Apple, but now this statement is correct). Apple launches new products with care. No rush jumps to find a hit, but careful and passionate immersion to the roots of people’s problems and great solutions.
Salesforce is a hedgehog company that pushed the SaaS model into enterprise and without doubts has the best CRM solution on the market.
What about fox companies? Many (not most) service companies are foxes. They take various projects without clear focus. They use diverse technologies and ready to work with almost any industry. They tend to grow huge, make good money, but they’ve close to zero chances to create something significant, something disruptive. I’m not aware of foxes in product development. Maybe there are plenty, but most of them are quite unknown and “not on the radar”. Maybe this “fox” strategy is devastating to product-oriented company success.
Definitely it is not enough to focus on a single thing. You need great people, good strategy, real passion and so on and so forth. There’s one more thing you have to know and think about — time. With some luck your first solution of a problem may be exceptional, but it’s an extraordinary event. Time can be your worst enemy or your best ally. You should learn how to master time.
Time: Patience and Persistence
Patience is good. Without patience you will cut corners and provide superficial solutions. You will rush and deliver something of a poor quality. I still can’t master patience. I’ve been trying hard last year with some promising results, so we’ll see.
Patience and passion help you to solve the same problem again and again, bringing in new experience, new technologies, new people, new ideas. Someday your n-th solution will be precise and sharp, it will touch the right chords and resonate with people. It may happen in 3 years, in 5 years or in 20 years. Many companies explored promising areas, but failed due to lack of patience, lack of persistence.
However, there are times when you have to run full throttle, forcing everything and everyone to squeeze the last drops of energy. Usually this mode is required to overcome a crisis. You just can’t slack when situation is harsh and uncertain.
Balancing between these two modes is hard. I personally like to run fast, but it burns out energy and decompression period is inevitable afterwards. I still can’t master the balance.