Have you ever visited a farm? A farm which produces milk, or meat, or even wheat, or corn? If you've been there, I'm sure, you've seen many interesting things all over the place: tools and mechanisms, people and animals. I'm also equally sure, you haven't seen there one thing - variety. Meat farms do not breed cows, pigs, chicken and rabbits. Milk farms do not feature cows together with goats on their premises. Grain farms do not harvest dozens of kind of grain. Instead they specialize in something and they try to stay as uniform as possible with respect to animals they grow, grains they seed and tools they use. Why do they do that? Because variety inevitably means higher costs of operation, but farms can not benefit from variety. For them it makes a lot more sense to have 200 cows of the same kind, than 100 of one and 100 of another since they require different treatment thus rising the cost of support.
On the other hand there are enterprises, which directly benefit from variety - zoos! The more different species you have in the zoo, the more money you can charge for entry tickets, the more visitors you can attract. Yes, operational costs go up as you add more animals - obviously lion requires completely different conditions than pelican, and most likely you will need two different people with different skill sets to look after them. But since you are able to directly sell this variety to customers, it does not undermine your profits.
So, the difference between a farm and a zoo is in their relation to variety: it kills the farm, but propels the zoo.
We see examples of both in our day-to-day lives. We enter farm land, when we rent a car, call a taxi, use corporate computer, eat in McDonald's. We go to zoo, when we shop in the mall, eat in the restaurant, buy a vacation tour.
Look at you business, department, or team and see what you are running - a zoo or a farm. Chances are that you are running a zoo, when you should be running a farm. Run a farm unless you really know how to benefit from variety, which zoo has to offer.
It feels great to be done with something on the programming side and then feeling free to move on to the next thing. We all do that at times. But it’s not really real until our users are able to enjoy it.
Way too often more attention is paid to the process of creating something than to the actual value of the result for others. The truth is that value is realized not at the moment the product is created and the more so not in the process of creation. Value is realized when the product is delivered and used.
We increase return on investment by making continuous flow of value our focus
Like quality is everyone's business every day, so delivery of value should be.
Some days ago I watched David Heinemeier Hansson's presentation on creating a profitable startup where he suggests that is generally more effective to sell to businesses than individual customers. That was kind of a useful observation that I, not being very experienced in running businesses, took for granted. In several days I concerned myself with checking out latest article in Joel Spolsky's column in the Inc.com magazine. It happened to be How Hard Could it Be: A Real Cool Customer. It was like one of those not rare alignment of stars that make certain idea pop-up again and again.
In his article Joel gives great arguments on why you'd better sell to businesses and not to consumers:
Businesses will happily spend large sums of money on fixed costs, because those costs can be spread out across so many of their customers.
This line of coincidences made me think a little about this idea. Being myself a part of a business I see that businesses pay easier not because they have lots of money (well, not only), but also because often for businesses it is easier to evaluate the value of certain costs. Businesses can see how "costs can be spread out across so many of their customers" and what they would have in return. Individuals usually do not go that far to do such kind of analysis and therefore their decisions to buy tend to be based on momentary considerations.
Quite a time ago I wrote about "good" outsourcing which is focused on business value delivery rather than on potential cost savings. Even when we speak about outsourcing to offshore locations costs should not be the major factor influencing the decision. What is more important is the ability of the vendor to deliver on promise. Deliver business value on schedule and within budget. If you read Outsourcing Handbook by Construx you will see that cost savings are not listed among 10 common reasons to outsource a project. Although the study did not explicitly focus on offshore outsourcing I believe the results would not much different. Outsourcing is there to help you leverage your own potential by developing your core competencies. Budget savings should be seen as vendor's ability to master his software engineering approaches to achieve higher efficiency than with in-house development team.
Speaking about Niklas experience with outsourcing I wrote before. I could not help commenting his general description of his job. Don't get me wrong, but believe that outsourcing to 4 countries with 12 hours maximum time-zone difference that make you work 24/7 is not The Right Thing™. On the high-level I divide outsourcing into 2 types: outsourcing to save (i.e. Bad Outsourcing) and outsourcing to focus (i.e. Good Outsourcing).
When you outsource to save costs you send wrong signal to your vendor: whatever it is, it should be cheap. And when vendor receives this signal, he starts sacrificing things to save costs. The first thing he sacrifices is quality. Quality of office, quality of equipment, quality of workforce, quality of deliverables. This ends up as a nightmare for your managers and engineers.
On the contrary, I never repair my car myself. I outsource this activity to focus on my core competencies. And do not seek for cheap service providers. I seek for those whom I can trust, for those who save my time. Such outsourcing partners can boost your business by enabling you to deliver more value to your customers.
The point is how you decide what is better for you. Good list of items to consider is given in a post on Jeitosa Group's blog:
- Workforce Quality/Skill
- Workforce Availability
- Workforce Costs
- Workforce Flexibility
- Government Support
- Tax Considerations
- Communications Costs
- Communications Infrastructure
- Real Estate Costs
- Statutory/Legal Requirements
- External Infrastructure
- Travel Accessibility
- Political/Economic Stability
- Multi-Language Abilities
As usual with list of comparison items like this you need to clearly understand relative importance of different items for your case. Sometimes workforce qualification and availability will be more important than cost. Sometimes travel accessibility will not be an issue. You want to know what matters to you and what does not.
When you will be looking for an offshore partner you should be aware that a company can address some general deficiencies found in peculiar to the country or region. For example, at SoftServe we have communications infrastructure much better than throughout the country which makes nearly any means of communication available to our clients and employees. Also we run a language school to make sure that "language barrier" is not an issue for our people.
Probably, you have heard about Google shares drop on July 20 shortly after they announced Y2007 Q2.
One of the reasons for such "poor" quarter results was aggressive hiring (read "investment in human capital"). This affected the bottom line and the bottom line in turn raised concerns among investors and analysts.
You agree that for hi-tech company like Google humans are most valuable capital. Not technologies, not patents, not buildings or computers.
And to me it is a good sign that a company is investing in its most valuable asset. Or may be I do not get this "Wall Street" thing with shares and stuff?