Saturday 5 February 2011

Outsourcing, the oldest profession

I've always advised clients against outsourcing IT projects.

Since their aims are not aligned to yours, outsource vendors are like the mercenaries and auxiliaries Niccolò Machiavelli describes in The Prince. He said, quite simply:

"Mercenaries and auxiliaries are useless."

It's hard to make people realize that outsourcing salesmen/project managers are answering to shareholders other than your own. But readers of Machiavelli will know this already:

"The fact is, they have no other attraction or reason for keeping the field than a trifle of stipend... they are found and paid by you, and a third party, which you have made their head."

A classic management anti-pattern. Not only are their interests not the same as yours, they are essentially organized labour:

"They are all united, all yield obedience to others."

Once this outsourcer is embedded, they try to tarnish the reputation of employees and bring more of their own staff onto the payroll:

"The principle that has guided them has been, first, to lower the credit of [employee] infantry so that they might increase their own ...  [but] a few infantry did not give them any authority [so] they were led to employ [expensive, outsourced] cavalry ... and affairs were brought to such a pass that, in an army of twenty thousand soldiers, there were not to be found two thousand [employee] foot soldiers. They had, besides this, used every art to lessen fatigue and danger to themselves and their soldiers ... thus they have brought Italy to slavery and contempt."

Machiavelli recounts many anecdotes but this is the most interesting:

"And if the first disaster to the Roman Empire should be examined, it will be found to have commenced only with the enlisting of the [outsourcing] Goths."

It's an interesting comment because it was an idea taken up by Edward Gibbon 250 years later in his Decline and Fall of the Roman Empire.

So, why do companies continue to employ the services of outsourced parties? Well, today as in Machiavelli's:

"the scanty wisdom of man, on entering into an affair which looks well at first, cannot discern the poison that is hidden in it."

So, what does Machiavelli recommend?

"No principality is secure without having its own forces; on the contrary... The wise prince, therefore, has always avoided [mercenary soldiers] and turned to his own."

Failing that, a poor second would be a mixture of one's own employees and mercenaries as the (then dominant) French army had done:

"The armies of the French have thus become mixed, partly mercenary and partly national, both of which arms together are much better than mercenaries alone or auxiliaries alone, but much inferior to one's own forces."

Of course, one should bear in mind that if Machiavelli were so machiavellian, why did he end his life in disappointment and frustration excluded from the politics of his day?

Friday 4 February 2011

Notes on a Scandal

Notes I made many years ago when a client had a scandalously bad experience with an outsourced IT vendor:


In the anniversary edition of his book, The Mythical Man-Month, under a section entitled "People Are Everything (Well, Almost Everything)", professor Fred Brooks says:

"the quality of the people on a project, and their organization and management, are much more important factors in success than are the tools they use or the technical approaches they take."

"To make things even more interesting, some human beings are much more productive than others. Results vary in the exact quantities but study after study has shown that good developers can be between 10 and 20 times more productive than poor developers" [1].

In "Software Craftsmanship The New Imperative" (Addison Wesley), Pete McBreen made the following points:

1. Stop Choosing Developers Based on the Lowest Bidder. Quoting "Deming's Profound Changes", he says "End the practise of awarding business on the basis of price tag alone; instead minimize total cost in the long run."

2. Hold Developers Accountable for Their Work.

3. Start exploiting the Difference in Productivity Between Developers. "When one startup with a team of 25 developers heard that two large, established companies were starting a joint venture to enter the same space, they were worried. Then they heard that the joint venture was using a 'team' of 600 developers. They were safe. With a team of 600 they would waste a month just deciding how to format the requirements documents" - Josh MacKenzie, ThoughtWorks.

4. Hire Small Teams of Good Developers. "Rather than hiring a horde of 30 or more average programmers, customers should hire 2 or 3 master craftsman. Pay these craftsmen as much as you would have paid the horde of average programmers." Afterall, is having 30 mediocre lawyers defending you better than one brilliant barrister?

This leads to the point "Good Developers Are More Valuable Than Their Managers ... Hierarchical organizations do not work for software development. The command and control model of scientific management is outmoded for knowledge workers. It is not relevant when the employees - not the managers - provide the knowledge, skill and ability to create software applications."

"Given a choice between paying $1 million per year for a team of 20 average developers or paying $1 million per year for a team of three outstanding developers, I'd choose the small team every time. The added bonus is that the hidden overhead costst are much smaller with the smaller team - another benefit of using outstanding developers." 
In "Software Craftsmanship The New Imperative" (Addison Wesley), Pete McBreen

"A long-term relationship with the developers is crucial, because the best person to maintain an application is the person who developed it... In contrast, the lowly maintenance programmer ... [will] take a long time because
the maintenance programmer has to learn enough about the application to understand the implications of any changes made. If they fail to do this, in all probability, new defects will be introduced."
In "Software Craftsmanship The New Imperative" (Addison Wesley), Pete McBreen

"Customers want great software. Software craftsmen want to produce great software... This fundamental alignment makes for a better relationship between customers and software craftsmen. Yes, the customer will pay more per developer. The payoff is that a smaller team of skilled craftsmen can handle the projects with realistic schedules and deliver high-quality, robust applications that will last for year."
In "Software Craftsmanship The New Imperative" (Addison Wesley), Pete McBreen

"Maintenance typically consumes 40 to 80 percent (average, 60 percent) of software costs. Therefore, it is probably the most important life cycle phase of software"
"Facts and Fallacies of Software Engineering" (Addison Wesley), Robert L Glass

"60 percent of software's dollar is spent on maintenance, and 60 percent of that maintenance is enhancement. Enhancing old software is, therefore, a big deal"
"Facts and Fallacies of Software Engineering" (Addison Wesley), Robert L Glass

"Understanding the existing product ... consumes roughly 30 percent of the total maintenance times and is the dominant maintenance activity."
"Facts and Fallacies of Software Engineering" (Addison Wesley), Robert L Glass

[1] http://community.borland.com/article/0,1410,31862,00.html

The Economist gets it wrong (again...)

I'm always amazed at the number of people outside of the financial world who think the Economist is a great magazine.

Oh, sure, I read it. But I don't take it too seriously. Their habit of embedding ideology in reportage is irritating. But it's their prognostications that make their "analysis" so laughable. Take a look at this week's edition:

Germany was the star performer among the rich G7 countries over the past ten years...


Last year its GDP grew by 3.6% ... America managed 2.9%. Growth in the rest of the euro zone probably fell short of 1%. Exports have been Germany’s main engine: they jumped by 21.7% in the year to November. In the first ten months of 2010 sales to China were already 17% higher than in the whole of 2009 and 46% higher than in 2007. 

- The machine running smoothly, 3 Feb 2011

Compare this with what they were announcing just 5 years ago:

[The] coalition may well not last much more than two years. The risk is not only that Ms Merkel's coalition will follow wrong-headed economic policies; it may also turn out to be unstable as well. Poor Germany.

- Taxing Times, Angela Merkel's coalition programme risks doing serious damage to the economy, Nov 17th 2005

As if to justify their change of heart, The Economist makes this absurd claim in the latest magazine:

Germany’s biggest companies ... a decade or so ago seemed to have been left behind by foreign rivals ... Siemens, which used to be content to sell overengineered and overpriced trains and generators to captive German buyers, has taken a leaf from GE’s book...

Huh? Was The Economist not aware of the magnetic levitating train that Siemens started building for the Chinese over 10 years ago?

What Germany has done is encourage and concentrate on engineering while the profligate Anglo Saxon economies outsourced technology and ran up debt.

I put my money where my mouth is regarding Germany and in 2007 sold my shares in British banks and  bought an apartment in Berlin shortly after. I avoided the crash and the investment has done quite nicely.

I've come to recognize that reading The Economist can seriously damage your wealth.

Sunday 30 January 2011

The Economics of Open Source Software

Who contributes most to Open Source software?

According to the United Nations University in 2006, it was Norway (measured per connection). The fact that it was a Northern European country did not come as a huge surprise. I've been using and sometimes contributing to open source software for the last 15 years and the number of Scandinavian names in the source code became humorous (of course, the contributors could have been from Minnesota :-).

The linked article says:

"Researchers compared the number of open source mailing list postings from different countries with the Internet penetration of each country. When ordered by this metric, Western Europe came out on top."

So, here's some original research. I wrote a short script that takes the surnames of the contributors from the actual code base. We can use these to give us a rough estimate of where the contributor comes from (sure, Minnesota and Sweden are going to be indistinguishable, but you get the idea).

The two sources I chose were Spring and Hibernate - two projects that are used extensively at the investment banks I've worked at these last 5 years.

The results are below. Feel free to use this script on your pet projects but please publicize the results if you can.

I asked an Indian QA friend of mine why there are so few Indian names - a surprise given India's large number of IT workers. He laughed and asked why anybody would work for free.

Spring

phillip:spring henryp$ grep -r "@author" ./src/ | perl -pe s/.*\\@author//g | perl -pe "s/\\<[^\\>]*\\>//" | perl -pe s/\\,/\\n/g | perl -pe s/[^a-zA-Z\\n\ ]//g | perl -pe s/^\ *//g | perl -pe s/\ *$//g | sort | uniq | perl -pe s/.*\ //g | sort

Arendsen
Brannen
Clarka
Colyer
Cook
Davison
Donald
Dupuis
Evans
Fisher
Harrop
Hoeller
Hotaria
Johnson
Jr
Kersten
Kopylenko
Ladd
Laddad
Leau
Lewis
Olivieria
Parkinson
Pawlak
Piper
Pollack
Poutsma
Risberg
Ruiz
Sampaleanu
Smeets
Strachan
Templier
Thompson
Wiersma


Hibernate

(Slightly tidied)

phillip:hibernate_trunk henryp$ grep -r "@author" ./ | perl -pe s/.*\\@author//g | perl -pe "s/\\<[^\\>]*\\>//" | perl -pe s/\\,/\\n/g | perl -pe s/[^a-zA-Z\\n\ ]//g | perl -pe s/^\ *//g | perl -pe s/\ *$//g | sort | uniq | perl -pe s/.*\ //g | sort

Andersen
Andersen
Andersen
Anthony
Badner
Badner
Baird
Bartmann
Bauer
Bech
Bech
Beck
Benedict
Benke
Bernand
Bernard
Bissen
Bogaerta
Boguckia
Booth
Bradby
Brands
Bredesen
Burgel
Burkea
Burns
CENANI
Carreira
Chanfreau
Chanfreau
Channon
Chiba
Christian
Clow
Clowater
Colebourne
Costello
Costello
Cowan
Currie
Danciu
Davidson
Davis
DePue
Dec
Dillon
Doroskevich
Dyrkorn
Eberole
Ebersole
Erb
Fan
Feodorova
Ferentschik
Fifield
Flaherty
Fleurbaaij
Gloegl
GonzlezCadenas
Goroschenya
Graves
Greene
Gregory
Grinovero
Hanson
Hardy
Harris
Hazlewood
Hernndez
Hicks
Inger
Janssens
Johnston
Jones
Joshua
Jung
Kapanadze
Karpensteina
Kasar
Kevin
Khan
Khana
Kimptona
King
King
Kinga
Klyushnikov
Komander
Krishnan
Laakkonen
Lea
Legan
Leonard
Levinson
Lichtmaier
Lipsky
Liu
Loubyanskya
Luck
Lunsford
MAX
Mackenzie
Malolepsy
Marchignoli
Marlow
Meissner
Michi
Miller
Mlodgenski
Molitor
Moon
Mueller
Nance
Nishizawa
Obradovi
Orban
Ou
Patni
Patricio
Pedersena
Perrotta
Prasolov
Ragnarsson
Ralla
Reddy
Renuart
Richarza
RobHasselbaum
Robertson
Sandberg
Schenk
Scheper
Sin
Snaps
Stansberry
Stansberrya
Steve
Stevens
Straaten
Sturm
TextType
Travelli
Udbya
Urberg
Varszegi
Voelkl
Warski
Washio
Zamarreo
Zibrita
Zibrita


Happy (Chinese) New Year!

While my better half is away in Singapore to celebrate Chinese New Year with her mother's family, it seems an appropriate time to post analysis on China.

Dr Martin Jacques, co-founder of think-tank Demos, gives an interesting talk over at TED. Although entertaining, it promotes a very populist claim that... well, Jacque's book entitled "When China Rules the World" pretty much says it all.

After being told in the 1980s that the world business language would become that of booming Japan, I'm not a huge fan of extrapolation. So, what's the contrarian view?

Hedge fund manager and serial short seller Jim Chanos is skeptical of China's astounding growth. SeekingAlpha.com reports:

"In a TV appearance this past Friday, Chanos pointed out that construction is 60% of Chinese GDP compared to only 5% for exports. That’s huge. “We’ve seen this movie before,” he says. “Whether it was Dubai a couple of years ago, Thailand and Indonesia during the Asian crisis of the late ’90s, or Tokyo circa 1989, this always ends badly.”"

So much for economics. What's the technology angle? Jacques' presentation mentions the much praised Shanghai magnetic levitation train that can reach 350 km/h. However, he neglects to mention that it was built by two German engineering companies, Siemens and ThyssenKrupp.

What Jacques does mention that is truly contrarian is that the Chinese love their government. The world's largest private PR company, Edelman, says that 88% of Chinese trust their leaders compared to about 20% of Americans.

The Edelman Trust Barometer as it's called is taken seriously. Owen Pringle, online marketing executive at Amnesty International, told me it has been instrumental in their change of direction. He said this strong Chinese respect for their government makes it hard for a Western NGO like Amnesty to ask them to reject the authoritarian ways of their leaders and embrace Western institutions.

Aside from this one surprise, the presentation is the usual playing to the public gallery. It's interesting to note that Jacques is the former editor of the now defunct Marxism Today. So, perhaps his prognostications should be taken with a modicum of salt.