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.