<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8781199663912312322</atom:id><lastBuildDate>Thu, 26 Jul 2012 03:59:34 +0000</lastBuildDate><category>EFQM</category><category>javascript</category><category>PS3</category><category>Motivation</category><category>YAGNI</category><category>XP</category><category>無駄</category><category>Accessibility</category><category>W3C</category><category>UI design</category><category>Xbox 360</category><category>Floats</category><category>Misc</category><category>TTS</category><category>Development Process</category><category>Tutorial</category><category>Black Swans</category><category>Management</category><category>MBA</category><category>Unions</category><category>3G</category><category>Ajax</category><category>Programming</category><category>Finance</category><category>Quality</category><category>Politics</category><category>stackoverflow</category><category>Equal Pay</category><category>iphone</category><category>Leadership</category><category>TDD</category><category>Mathematics</category><category>Chrome</category><category>Consoles</category><category>Hype vs Craft</category><category>Estimation</category><category>Marketing</category><category>Presentation</category><category>TQM</category><category>Communication</category><category>Deming</category><category>facebook</category><category>HRM</category><category>改善</category><category>Cartels</category><category>OLAP</category><category>Internet</category><category>CSS</category><category>REST</category><category>DotCom</category><category>Pay Determination</category><category>HD format war</category><category>Enterprise Software</category><category>Gmail</category><category>Culture</category><category>Market Pricing</category><category>Strategy</category><category>Banking</category><category>PDCA</category><category>Web 2.0</category><category>E-readers</category><category>Open Source</category><category>Word 2007</category><category>SOAP</category><category>C#</category><category>Learning Cycle</category><category>GPL</category><category>teched</category><category>WCF</category><category>Agile</category><category>Autism</category><category>HTML</category><category>Scrum</category><category>Collaboration</category><category>microsoft</category><category>IE</category><category>DBA</category><category>Photo Manipulation</category><category>OLPC</category><category>Freedom Zero</category><category>Tayorism</category><category>Databases</category><category>CoQ</category><category>Sparklines</category><category>Job Evaluation</category><category>MDX</category><category>Grammar</category><category>Utilities</category><title>Business vs Programming</title><description>The differences and similarities between business and programming, and ideas around how they should work together.</description><link>http://bizvprog.blogspot.com/</link><managingEditor>noreply@blogger.com (Keith Henry)</managingEditor><generator>Blogger</generator><openSearch:totalResults>101</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/bizvprog" /><feedburner:info uri="bizvprog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-6975448775632027669</guid><pubDate>Wed, 23 May 2012 17:16:00 +0000</pubDate><atom:updated>2012-05-23T18:16:40.447+01:00</atom:updated><title>Right now governments really should have a deficit</title><description>&lt;p&gt;And I'll tell you why...&lt;br /&gt;
&lt;p&gt;The allegory constantly used by governments and the media is on of a household, and the recession is like the breadwinners losing their jobs. Obviously anyone sensible would cut back, yeah?&lt;br /&gt;
&lt;p&gt;But, countries are nothing like households, and that allegory just doesn't work.&lt;br /&gt;
&lt;p&gt;I'm not arguing that they shouldn't cut back at all, but I think a healthy government should be running some degree of deficit during a recession.&lt;br /&gt;
&lt;p&gt;Here are my assumptions:&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;1. There will ALWAYS be boom and bust&lt;/h3&gt;&lt;p&gt;We can't stop the cycle of boom and bust, it's been going for hundreds of years and will continue for hundreds more. Maybe one day, but no financial theory to date has come close to a way around them.&lt;br /&gt;
&lt;p&gt;With that assumption we should plan for them: busts will happen. Booms will follow the busts, for a while, until it all starts again.&lt;br /&gt;
&lt;p&gt;During a recession governments should know that, inevitably, a boom will come again. During a boom governments should know that, inevitably, the bust is coming.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;2. Governments benefit from long term stability&lt;/h3&gt;&lt;p&gt;Boom and bust is a vicious cycle and an unstable one: governments have to plan for how much money they have to spend, so instability always messes them up. They have to make guesses as to how much to spend on defence, the police, public health, welfare and so on.&lt;br /&gt;
&lt;p&gt;All but the most extreme libertarians and neo-cons admit on the need for at least some government spending on things like fire services (you might not want to insure your neighbour's house, &lt;a href="http://en.wikipedia.org/wiki/Fire_insurance_mark"&gt;but if it's on fire you want it put out regardless&lt;/a&gt;).&lt;br /&gt;
&lt;p&gt;A governments plans on spending are always guesses - estimates of how much taxpayers will earn and hence how much tax they will pay. A simple fact is that they'll never be 100% accurate, but you want them to be as close as possible. Another simple fact is that boom and bust make those predictions less accurate.&lt;br /&gt;
&lt;p&gt;This means that either a deficit or a surplus is inevitable, we should expect and account for one or the the other.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;3.Tax &amp;amp; spend are inextricably linked to government revenue&lt;/h3&gt;&lt;p&gt;There are lots of theories as to how (and which model is best) but whether you're left or right, and whether you follow &lt;a href="http://en.wikipedia.org/wiki/John_Maynard_Keynes"&gt;Keynes&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Friedrich_Hayek"&gt;Hayek&lt;/a&gt;, how much is taxed and how much is spent by governments has an effect on how much money people have and how much tax renvue the government takes.&lt;br /&gt;
&lt;p&gt;A government cutting taxes obviously has less revenue, but what does that do to relative wealth? A government cutting spending? They have more money, but public sector employees have less money and government contractors lose business. Less tax is collected - left vs right can argue about whether that is more or less than the amount saved by the cuts, but my point is that it's unpredictable.&lt;br /&gt;
&lt;p&gt;Nobody (including all the best economists) can actually accurately predict the relationship. However it the effect is not one that damps the boom and bust cycle - government behaviour exaggerates the booms and the busts like a binge dieter.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;4. Governments&amp;nbsp;should not have a large surplus&lt;/h3&gt;&lt;p&gt;I think most people expect to be paying a fair amount of tax, and that means the government not having loads of cash left over from the tax they've collected.&lt;br /&gt;
&lt;p&gt;Economic right wingers tend to cut taxes when there is a surplus, governments on the left tend to spend more.&lt;br /&gt;
&lt;p&gt;Something they never seem to do is to try and save that money, partially because elections are coming up and voters want to see something short term, but also because there isn't really anywhere more secure to keep it. You can't really save money in a bank that you underwrite, and if you don't underwrite it you're relying on whoever does.&lt;br /&gt;
&lt;p&gt;For instance in the UK many local councils did have a surplus before the current crisis, which they invested with Icelandic banks. When those banks crashed that British taxpayer money was lost, and (unsurprisingly) Icelandic voters decided not to pay additional taxes to repay most of it.&lt;br /&gt;
&lt;p&gt;Another reason that governments shouldn't save is that they can't get great rates of interest - that comes from taking high risks and someone looking after tax payers' money just can't do that. They have to go for low risk, low payout investments, like &lt;a href="http://en.wikipedia.org/wiki/Gilt-edged_securities"&gt;gilt bonds&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;5. Governments can borrow more easily than anyone else&lt;/h3&gt;&lt;p&gt;Note that I'm not saying that it's always simple - governments can fail to the point where they can't borrow any more, but that's rare compared to that happening to people or companies.&lt;br /&gt;
&lt;p&gt;Maybe not if it has come from Greece, but as a general rule government debt is still one of the safest investments. Much as the news goes on about governments going bust, most of countries can borrow money for a lot lest interest than most people pay on their mortgages.&lt;br /&gt;
&lt;p&gt;Right now the UK government can borrow (i.e. issue bonds) at 0.5% that will be paid back in 10-15 years, well into the next boom. What's the best mortgage or loan you can get?&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Putting it all together&lt;/h3&gt;&lt;p&gt;For governments to benefit from long term stability they need a plan that always works. They shouldn't be savagely cutting back or raising taxes in the recession and obnoxiously binging or reducing taxes in the boom. If tax and spend is linked to GDP (as assumed above) then alternating cutting and binging could make it all worse.&lt;br /&gt;
&lt;p&gt;You want a tax and spend strategy that uses the boom times constructively and weathers the bust times as well as it can. If that's the case then the tax paid and amount spent should stay fairly constant. If you're left wing then that's high tax and high spend all the time, if you're right then that's low tax and low spend all the time. Either way, it should be fairly constant.&lt;br /&gt;
&lt;p&gt;If the tax and spend system is constant then there will be either a boom surplus or a recession deficit. You either have to plan for surplus during the boom, or plan for deficit during the bust.&lt;br /&gt;
&lt;p&gt;I don't believe that governments can help themselves during a boom. They will always blow that surplus on something stupid, like Millennium Domes, or weapons programs, or wars, or massive tax cuts, or something even dumber. They have an election to win every 4 years and the financial cycle is 10-15.&lt;br /&gt;
&lt;p&gt;Even if they save the cash, there's not really anywhere safe to put it.&lt;br /&gt;
&lt;p&gt;So it is my conclusion that they should break even during the boom and pay off the debts that they built up during the bust. During a recession they shouldn't panic and change all the plans, instead they should run into debt while the economy recovers and pay it off when the boom comes.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=QF3f9J2xufo:dXxJC8fLNio:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=QF3f9J2xufo:dXxJC8fLNio:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=QF3f9J2xufo:dXxJC8fLNio:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=QF3f9J2xufo:dXxJC8fLNio:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=QF3f9J2xufo:dXxJC8fLNio:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/QF3f9J2xufo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/QF3f9J2xufo/right-now-governments-really-should.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2012/05/right-now-governments-really-should.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-2343943657585325281</guid><pubDate>Mon, 18 Apr 2011 12:53:00 +0000</pubDate><atom:updated>2011-04-18T13:53:45.154+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Politics</category><title>The argument for AV</title><description>&lt;p&gt;The UK will vote on May 5th on whether to switch to the Alternative Vote system (AV) rather than the current First Past The Post (FPTP). I'm a supporter of AV, but FPTP has huge support from both the major parties and from Rupert Murdoch, which means that it both doesn't have a chance and must be the right way on principal.&lt;/p&gt;

&lt;p&gt;Fact is &lt;i&gt;anything&lt;/i&gt; legal that Murdoch's against I'm for on principal.&lt;/p&gt;

&lt;p&gt;There has been a lot of misinformation about this: lots of bad examples in every media outlet trying to make AV seem much more complicated than it is, and no clear explanation as to why anyone would want the switch in the first place.&lt;/p&gt;

&lt;p&gt;So here's my go: imagine a typical UK voting scenario at the next election. There are 6 candidates:&lt;/p&gt; 

&lt;ul&gt;
&lt;li&gt;Conservative - centre right, currently in power, conflicted on EU.&lt;/li&gt;
&lt;li&gt;Labour - slightly less right than the Conservatives but more authoritarian&lt;/li&gt;
&lt;li&gt;Liberal Democrat - centre left, but lie a lot.&lt;/li&gt;
&lt;li&gt;Green Party - left wing and pro environment, but tiny.&lt;/li&gt;
&lt;li&gt;UKIP - right wing and isolationist.&lt;/li&gt;
&lt;li&gt;BNP - left wing and openly racist.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;FPTP&lt;/h4&gt;

&lt;p&gt;Under the current FPTP system you cast your vote for one of the above, but you have a problem if you don't support either of the top two.&lt;/p&gt;

&lt;p&gt;For instance I'm left wing, but I don't think much of the Labour party. The Green Party is closest to my political views. However, a vote for the Greens is a wasted one - only Conservative and Labour have any real chance of winning. I end up voting Labour, as despite the fact that they're my third choice I would still rather see them win than the Conservatives.&lt;/p&gt;

&lt;p&gt;This tactical voting isn't only a problem for me - suppose that someone is right wing economically but prefers UKIP's stance on the EU to the Conservative's? They'd have to vote Conservative tactically too.&lt;/p&gt;

&lt;p&gt;In both cases the relevant mainstream party claims the voter's support - there's no visibility that they were nobody's first choice.&lt;/p&gt;

&lt;p&gt;Despite all that tactical voting most voters will have gone for someone other than the candidate that wins - with 6 candidates that could be less than 20% of the votes!&lt;/p&gt;

&lt;h4&gt;AV&lt;/h4&gt;

&lt;p&gt;So under AV that changes - instead of one X in a box we put all 6 candidates in order. I put my first choice down as the Green Party, then Lib Dem, then Labour. My right wing counterpart chooses UKIP, then Conservative.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Greens have the fewest votes - my vote falls back to Lib Dems, my second choice.&lt;/li&gt;
&lt;li&gt;BNP have the next fewest.&lt;/li&gt;
&lt;li&gt;UKIP are next - my counterpart's vote falls back to Conservative.&lt;/li&gt;
&lt;li&gt;Lib Dems are next, so my vote falls back again, this time to Labour&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So after all that we still have either Labour or Conservative, but with two very important differences:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The winner has 50% of all the votes cast.&lt;/li&gt;
&lt;li&gt;Everyone gets access to the voting stats, so everyone knows how much support each party actually has.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That second point is important for all the smaller parties - for instance the BNP would see that they have a very small number of first choices and that everyone else lists them last (incidentally the BNP are dead against AV, despite what the anti-AV lobbyists say). Lots of small single issue parties would be able to show that there is support for their issue, even if not enough to elect them on that alone. Lots of alternate parties like the Greens and UKIP could accurately gauge their support. Lots of independent candidates could stand despite not having national backing.&lt;/p&gt;

&lt;p&gt;Most seats in the UK don't have that much choice - my local MP at the last election was a choice of Lib Dem, Labour or Conservative, and the Conservative's took it by a very slim margin. Arguable the left-wing vote was split across two parties while the right-wing voter only had one choice. Likewise there were plenty of seats with a choice of Labour, Conservative or UKIP where Labour got in, this time because the right-wing vote was split.&lt;/p&gt;

&lt;p&gt;In fact in the last election there were several marginal seats where smaller parties didn't even field a candidate for fear of splitting the left or right voting blocks.&lt;/p&gt; 

&lt;p&gt;More fine grain choice of political parties shouldn't reduce your chances of success!&lt;/p&gt;

&lt;p&gt;So why are the big parties so against this? Well, long term it breaks down their monopoly - it will be easier to gain support for smaller parties. It will make election outcomes considerably more unpredictable - MPs will have to work harder for your vote because it will mean more. Surely MPs having to work harder can only be a good thing?&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=xlv92oWiDZQ:OAXNNq7-xj8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=xlv92oWiDZQ:OAXNNq7-xj8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=xlv92oWiDZQ:OAXNNq7-xj8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=xlv92oWiDZQ:OAXNNq7-xj8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=xlv92oWiDZQ:OAXNNq7-xj8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/xlv92oWiDZQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/xlv92oWiDZQ/argument-for-av.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>1</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2011/04/argument-for-av.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-7624612884319191918</guid><pubDate>Tue, 28 Sep 2010 07:03:00 +0000</pubDate><atom:updated>2010-09-28T08:03:10.445+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Finance</category><category domain="http://www.blogger.com/atom/ns#">Cartels</category><category domain="http://www.blogger.com/atom/ns#">Black Swans</category><category domain="http://www.blogger.com/atom/ns#">Politics</category><category domain="http://www.blogger.com/atom/ns#">Banking</category><title>'Too big to fail' vs 'breaking up the banks'</title><description>&lt;p&gt;There is a problem in UK banking that's stalling our recovery and it goes something like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Banks have two main components: high street lending &amp;amp; saving, and investment banking.&lt;/li&gt;
&lt;li&gt;The investment banking side took far too many risks in dodgy sub prime investments and lost all the money.&lt;/li&gt;
&lt;li&gt;However if the high street lending &amp;amp; saving side of a big bank fails it does huge damage to the economy, so the government steps in to fill the gap.&lt;/li&gt;
&lt;li&gt;Now the banks are required to shore up their investment banking risks with actual capital so that they don't need bailing out again.&lt;/li&gt;
&lt;li&gt;They don't have this capital, so while they slowly build it the high street lending &amp;amp; saving side doesn't do any lending - getting a mortgage in the UK at the moment involves having a massive deposit, ridiculous booking fees and unfair rates.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So how to fix this and get them lending again? The UK ConDem coalition is talking about breaking up the banks - splitting the risky investment lot (increasingly referred to as 'casino banking') from the 'too big to fail' component.&lt;/p&gt;

&lt;p&gt;The banks hate that idea of course, threatening that the banking business will leave the UK (oh no! You might leave with your middle man industry that processes huge amounts of money but doesn't actually make anything or pay much tax? How will we cope? ;-)&lt;/p&gt;

&lt;p&gt;Unfortunately you don't get into politics without paying for marketing and that money comes from rich folks who are tied up in the banks, so while telling the banks to 'do one' appeals to all of us voters it doesn't appeal to the politicians' paymasters.&lt;/p&gt;

&lt;p&gt;I don't think they need the conflict though - there is another way. The 'too big to fail' component, the actual high street lending &amp;amp; saving part of the banks, doesn't need to underwrite massive risks. That's the component that the government actually needs to underwrite, so why not give banks the option:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If a bank has a casino investment arm then it has to underwrite all of its actives with its own capital.&lt;/li&gt;
&lt;li&gt;If a bank doesn't have a high risk component then the government underwrites it and they only need a fraction of the capital.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This would give banks the choice: they split themselves up and they can start lending again  right now (and making lots of money on the interest), or they keep their high risk/high reward component and risk their own money.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=DfHGp5mZv2Q:loqLOa236oM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=DfHGp5mZv2Q:loqLOa236oM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=DfHGp5mZv2Q:loqLOa236oM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=DfHGp5mZv2Q:loqLOa236oM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=DfHGp5mZv2Q:loqLOa236oM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/DfHGp5mZv2Q" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/DfHGp5mZv2Q/too-big-to-fail-vs-breaking-up-banks.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2010/09/too-big-to-fail-vs-breaking-up-banks.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-5722039137467322399</guid><pubDate>Tue, 15 Dec 2009 13:24:00 +0000</pubDate><atom:updated>2010-05-06T13:45:18.236+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Market Pricing</category><category domain="http://www.blogger.com/atom/ns#">Management</category><category domain="http://www.blogger.com/atom/ns#">Unions</category><category domain="http://www.blogger.com/atom/ns#">Politics</category><category domain="http://www.blogger.com/atom/ns#">Pay Determination</category><title>The 12 day strike against BA</title><description>&lt;p&gt;British Airways have the best paid flight staff in the world. Their pay is sky high (sorry) – cabin crew can earn up to £56k a year! To put it in context that's more than junior and mid-level doctors – I really don’t see how any cabin crew job can be worth more than even the most junior doctor's role.&lt;/p&gt;

&lt;img src="http://europenewsonline.files.wordpress.com/2009/07/british-airways-plans-to-raise.jpg" alt="British Airways plane" /&gt;

&lt;p&gt;BA also run one of the biggest teams per flight – they have 14 on each long-haul plane.&lt;/p&gt;

&lt;p&gt;The problem is that flights on BA are expensive. You would only ever fly them short-haul if you didn’t care about the price – that means business users and the rich. Everyone's tightening their belts at moment, and fewer people are choosing the (admittedly high quality) expensive BA.&lt;/p&gt;

&lt;p&gt;So BA needs to cut costs – they're losing money (£401 million last year and £292 million in this year so far) and they need to do something about it. They have the highest running costs of any airline. They also have a huge pension deficit, but that’s for anther post. Their plan is to reduce the number of cabin crew on each flight.&lt;/p&gt;

&lt;p&gt;They're not asking their overpaid-against-the-market employees to take a pay cut, they're not making redundancies. Yet the unions have kicked off and over Christmas BA faces a 12 day strike.&lt;/p&gt;

&lt;p&gt;This strike will really hurt BA – a company that's already bleeding. Just the news of this strike is driving away their business. For a company that relies on a high quality, high cost strategy this loss of faith in them could go on hurting them for a while.&lt;/p&gt;

&lt;p&gt;I really believe in the values that unions represent – there should be a way of ensuring that all staff are fairly paid. I bet that BA has all the inequalities big companies often do: whatever cabin crew are paid it must still be galling to be told that "times are tight" and so on from a director who's earning ¾ of a million pounds, regardless of how fair that is as a director's salary.&lt;/p&gt;

&lt;p&gt;However in this case I suspect that the 12 day strike too far, and I think part of the problem is the whole concept of a generalised union. The fact is that the employees are actually stakeholders in the business – if BA fails they could all lose their jobs. However the union itself is not a stakeholder, despite being driven by employee voting. The relationship between employers and unions is often portrayed as adversarial, but it shouldn't be. It should be in the union's interest for the company to make more money, and it's then their job to fight for a bigger share of that money for the employees. When the union action causes the company that's already losing money to lose yet more money then surely that starts to put jobs at serious risk?&lt;/p&gt;

&lt;p&gt;My personal opinion is that employee ownership is by far the best way to go – especially for bigger companies. However I accept that's not going to become the norm any time soon, so how can we ensure that unions act in the interest of the employees &lt;i&gt;and&lt;/i&gt; the company?&lt;/p&gt;

&lt;p&gt;There should be one union per large company. They would be a fully fledged and separate organisation and run the way most unions are. One major caveat though: that union is tied to the company – if the company goes bust then the union ceases to exist. The union could still fight for employees' interests, but would also need to be mindful of keeping the company competitive.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=7vigCxs28UM:qXPkJ79Zr1o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=7vigCxs28UM:qXPkJ79Zr1o:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=7vigCxs28UM:qXPkJ79Zr1o:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=7vigCxs28UM:qXPkJ79Zr1o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=7vigCxs28UM:qXPkJ79Zr1o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/7vigCxs28UM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/7vigCxs28UM/12-day-strike-against-ba.html</link><author>noreply@blogger.com (Keith Henry)</author><feedburner:origLink>http://bizvprog.blogspot.com/2009/12/12-day-strike-against-ba.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-6561982063256544154</guid><pubDate>Mon, 14 Dec 2009 15:40:00 +0000</pubDate><atom:updated>2009-12-14T15:40:20.081Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">javascript</category><category domain="http://www.blogger.com/atom/ns#">Presentation</category><title>Essential lesson in coding better Javascript</title><description>&lt;p&gt;Recently at TechEd Berlin I attended an &lt;a href="http://www.msteched.com/online/view.aspx?tid=370061aa-4791-4b89-b80c-bf4edb15eb7e"&gt;optimising Javascript presentation&lt;/a&gt; that &lt;a href="http://bizvprog.blogspot.com/2009/11/tee09-tuesday-10th-november.html"&gt;I described as having "lost focus"&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I think this one (from Google) is far more the sort of level and detail that I expected:&lt;/p&gt;

&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/mHtdZgou0qU&amp;hl=en_GB&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/mHtdZgou0qU&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;This presentation is excellent - in fact I think every developer who ever does any Javascript should view it.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=P30-4dq00B8:pN2bmpuhg2g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=P30-4dq00B8:pN2bmpuhg2g:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=P30-4dq00B8:pN2bmpuhg2g:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=P30-4dq00B8:pN2bmpuhg2g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=P30-4dq00B8:pN2bmpuhg2g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/P30-4dq00B8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/P30-4dq00B8/essential-lesson-in-coding-better.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/12/essential-lesson-in-coding-better.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-76133636587757772</guid><pubDate>Mon, 07 Dec 2009 14:33:00 +0000</pubDate><atom:updated>2009-12-07T14:33:30.642Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Black Swans</category><category domain="http://www.blogger.com/atom/ns#">Politics</category><category domain="http://www.blogger.com/atom/ns#">Banking</category><title>We should tax the bankers to underwrite our risk</title><description>&lt;p&gt;I think the current situation with bankers' bonuses shows a complete failure to understand risk and how markets actually work.&lt;/p&gt;
&lt;p&gt;There's a TV show in the UK called &lt;a href="http://www.channel4.com/4homes/on-tv/property-ladder/"&gt;Property Ladder&lt;/a&gt;. Every week through the property boom it followed someone buying and renovating a house with a view to selling it for profit. They found some proper idiots on that show. The resident expert would explain that putting a toilet off the kitchen was a bad idea and why waste £20k on a strange round window when it won’t add to the sale price. Every week the amateur developer would ignore them and do whatever stupid thing it was anyway.&lt;/p&gt;
&lt;p&gt;However, as it was a massive boom market, every week they made loads of money.&lt;/p&gt;
&lt;p&gt;In short, in a boom market any idiot can make money.&lt;/p&gt;
&lt;p&gt;They’ve now renamed the show to Property Snakes &amp; Ladders – the people on the show now listen to the excellent advice and really struggle to make a profit.&lt;/p&gt;
&lt;p&gt;For 10 years we've been rewarding high risk behaviour in a boom market and calling it talent, or skill, when it really wasn't. The way that reward is structured is based on some really dumb assumptions.&lt;/p&gt;
&lt;p&gt;What do I mean by dumb assumptions? Let's look at an example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Suppose an investment banker is dealing with £1,000,000,000&lt;/li&gt;
&lt;li&gt;They manage to make 5% on a transaction&lt;/li&gt;
&lt;li&gt;That's £50,000,000 profit!&lt;/li&gt;
&lt;li&gt;Their cut would be 20% of that, or ten million pounds!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That all looks reasonable, right? I mean, if they hadn't done their thing you wouldn't have made anything. Maybe you would take off the interest you could have made anyway in gilt bonds or something low risk, they'd still be making you tens of millions so their cut is fair.&lt;/p&gt;
&lt;p&gt;Except this misses something fundamental – something missed by every Nobel Prize winning Economist for the last 20 years (which is incidentally why the Nobel Prize is a joke).&lt;/p&gt;
&lt;p&gt;What was missed? Well, the whole of the £1,000,000,000 was at risk – all of it could have been lost in the deal. Not just 5% or so, not even half, all of that money could have been lost.&lt;/p&gt;
&lt;p&gt;What's happened in our banking crisis is basically that – deals that used to make 5% in a boom market suddenly lost 90% instead, and everyone in banking was surprised because they thought the sun would never stop shining.&lt;/p&gt;
&lt;p&gt;In the various bailouts by various governments have basically underwritten this risk – I'm not sure that they had a choice as the banks really are "too big to fail". However as the government is essentially underwriting the risk where is their cut?&lt;/p&gt;
&lt;p&gt;I have a simple solution to this - in future any transaction that is too big to fail – i.e. where the government and tax-payers are implicitly underwriting the risk the banks should be levied with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A 10% tax on profit that goes to paying off the government's debt on the bailouts.&lt;/li&gt;
&lt;li&gt;A maximum 0.5% cap on any bonus paid (note that in my example above that would still be £250,000)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the bankers' don't like this they can take their 'skills' elsewhere - this is the cost of us underwriting their risk.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=B1us8JlD9ro:tFR7gKMjnY0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=B1us8JlD9ro:tFR7gKMjnY0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=B1us8JlD9ro:tFR7gKMjnY0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=B1us8JlD9ro:tFR7gKMjnY0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=B1us8JlD9ro:tFR7gKMjnY0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/B1us8JlD9ro" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/B1us8JlD9ro/we-should-tax-bankers-to-underwrite-our.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/12/we-should-tax-bankers-to-underwrite-our.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-5707614411030451280</guid><pubDate>Thu, 03 Dec 2009 12:03:00 +0000</pubDate><atom:updated>2009-12-03T13:24:14.608Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Black Swans</category><category domain="http://www.blogger.com/atom/ns#">Politics</category><category domain="http://www.blogger.com/atom/ns#">Pay Determination</category><category domain="http://www.blogger.com/atom/ns#">Banking</category><title>RBS and Bankers' Bonuses</title><description>&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 192px;" src="http://3.bp.blogspot.com/_1G5jUTDE6FU/SxeGt19GTzI/AAAAAAAAAWI/Qr16F9UJFIc/s320/rbs.jpg" border="0" alt="RBS logo" /&gt;

&lt;p&gt;There's a great deal of fuss at the moment about RBS's investment division's planned bonuses. 
They've made some money (great!) but want to pay over a billion in bonuses, which is over a quarter of the profit.&lt;/p&gt;

&lt;p&gt;As the UK tax-payer owns 84% of RBS there is quite rightly uproar about this – why are we paying the wealthy fat-cats that we just had to bail out? 
However the RBS executive team are going on about how they need to pay these bonuses to keep the best staff, and that they’ll lose all the talented bankers to competitors. 
They argue that any control of bankers' bonuses should be across all banks, because otherwise they'll lose any edge.
They're &lt;a href="http://news.bbc.co.uk/1/hi/business/8392147.stm"&gt;threatening to resign&lt;/a&gt; over this - they won't of course, but it gets them in the papers.&lt;/p&gt;
&lt;p&gt;Both sides seem to have compelling arguments, leaving our government with a stark choice:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Block the bankers' bonuses, which might win votes (or at least not lose them) but will result in all the best bankers leaving, and hence RBS will make less money.&lt;/li&gt;
&lt;li&gt;Pay the bankers' bonuses, which will definitely lose them even more votes but will keep the best employees and in the long term RBS pays the tax-payer back sooner.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The problem is that the fundamental assumptions here are just plain wrong for two reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;25% of all the profit is an insane amount to pay as any sort of bonus. What – I risk my entire capital (not just some of it - I risk every single penny) on your investment nouse and you take ¼ of my profit? I'm sure you know where you can stick that deal.&lt;/li&gt;
&lt;li&gt;The assumption that the 'good' bankers will leave if not paid the bonus is wrong. These are highly paid people already, so the ones that leave will be those whose priorities are skewed to the big risks for big rewards.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I've &lt;a href="http://bizvprog.blogspot.com/2009/09/tale-of-two-jobs-or-when-does-money.html"&gt;argued this second point before&lt;/a&gt; – would you leave a good, very high paying job, for another that might not be so good (or might go very wrong) but the pay was silly money? I'm sure a million pound job looks pretty appealing, but if you're already earning hundreds of thousands do you really want to take the risk of the new job?&lt;/p&gt;
&lt;p&gt;&lt;b&gt;The sort of person who takes a big risk for this kind of reward is specifically the sort of person that I don’t want looking after my money!&lt;/b&gt; It’s exactly that kind of high stakes gambling that got us here in the first place – why would we want to reward that?&lt;/p&gt;
&lt;p&gt;It's just not good business practice to pay inflated amounts for things that don't really do you any good.&lt;/p&gt;
&lt;p&gt;Cancel the bonuses (or knock them down to something that makes sense, like 1% of profit), wave goodbye to the risk taking bankers that leave and take all that profit to start paying back the tax-payer.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=EQXnjGocB2I:yGGkcPUGsJE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=EQXnjGocB2I:yGGkcPUGsJE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=EQXnjGocB2I:yGGkcPUGsJE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=EQXnjGocB2I:yGGkcPUGsJE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=EQXnjGocB2I:yGGkcPUGsJE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/EQXnjGocB2I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/EQXnjGocB2I/rbs-and-bankers-bonuses.html</link><author>noreply@blogger.com (Keith Henry)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_1G5jUTDE6FU/SxeGt19GTzI/AAAAAAAAAWI/Qr16F9UJFIc/s72-c/rbs.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/12/rbs-and-bankers-bonuses.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-7976136790215659455</guid><pubDate>Mon, 30 Nov 2009 16:16:00 +0000</pubDate><atom:updated>2009-11-30T16:21:11.425Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">facebook</category><category domain="http://www.blogger.com/atom/ns#">iphone</category><title>How to get FaceBook events on your iPhone</title><description>&lt;p&gt;Took a while for me to find out how to do this, but you can sync all your FaceBook events to your iPhone calendar.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Firstly go to FaceBook's &lt;a href="http://www.facebook.com/events.php"&gt;events page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Click "Export events" at the top and copy the address it displays&lt;/li&gt;
&lt;li&gt;Select Settings &amp;gt; Mail, Contacts, Calendars &amp;gt; Add Account...&lt;/li&gt;
&lt;li&gt;Select "Other"&lt;/li&gt;
&lt;li&gt;Select "Add Subscribed Calendar"&lt;/li&gt;
&lt;li&gt;Enter the address from FaceBook&lt;/li&gt;
&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=GXbIoMQAZI0:-ulPFMAFkf4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=GXbIoMQAZI0:-ulPFMAFkf4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=GXbIoMQAZI0:-ulPFMAFkf4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=GXbIoMQAZI0:-ulPFMAFkf4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=GXbIoMQAZI0:-ulPFMAFkf4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/GXbIoMQAZI0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/GXbIoMQAZI0/how-to-get-facebook-events-on-your.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/11/how-to-get-facebook-events-on-your.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-1169423332676298963</guid><pubDate>Tue, 24 Nov 2009 13:17:00 +0000</pubDate><atom:updated>2009-11-24T13:19:50.791Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">SOAP</category><category domain="http://www.blogger.com/atom/ns#">REST</category><category domain="http://www.blogger.com/atom/ns#">microsoft</category><category domain="http://www.blogger.com/atom/ns#">WCF</category><title>Giving up on SOAP for good</title><description>&lt;p&gt;When .Net originally launched it came with first rate support for &lt;a href="http://en.wikipedia.org/wiki/SOAP"&gt;Simple Object Access Protocol (SOAP)&lt;/a&gt; and at the time I was seriously impressed. Creating a SOAP client-server connection was amazingly easy - little more than adding a .asmx file and decorating your methods with the &lt;tt&gt;[WebMethod]&lt;/tt&gt; attribute, and then point your client project at it and Visual Studio does the rest.&lt;/p&gt;

&lt;p&gt;What Visual Studio actually does in this case is create a large auto-generated code file from the &lt;a href="http://www.w3.org/TR/wsdl"&gt;WSDL&lt;/a&gt;. The WSDL is also auto-generated for you and is a detailed description of your service.&lt;/p&gt;

&lt;p&gt;All great, except that it leaves you writing a complex API as part of your web project and requiring an awful lot of auto-generated code to consume it.&lt;/p&gt;

&lt;p&gt;Enter &lt;a href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx"&gt;Windows Communication Foundation (WCF)&lt;/a&gt;. With WCF it became possible to specify a service contract – an interface that both the client and server could have that described the API. WCF also moved all description of the actual transport into configuration files – technically it became possible to write one set of code for your client and server, and then decide at run time whether to use HTTP, secure sockets, named pipes or whatever to connect.&lt;/p&gt;

&lt;p&gt;The problem is that when I say technically I mean really, really technically: even an expert WCF programmer could end up struggling for hours to get both the server and client config to match. In addition there were only ever a few of the amazing array of options ever used: HTTP or HTTPS? GZIP compressed or not? Get any even slightly wrong would result in hard to investigate errors.&lt;/p&gt;

&lt;p&gt;Our client software was intended to be installed and set up by users that weren’t WCF gurus. With &lt;a href="http://stackoverflow.com/questions/87542"&gt;a little help from stackoverflow.com&lt;/a&gt; I got an auto-config script that worked, but it was still far too much of a coding mess.&lt;/p&gt;

&lt;p&gt;However that isn’t the biggest problem with WCF and SOAP – the whole point of SOAP is that it’s universal, an open standard based on XML that anyone can support, right?&lt;/p&gt;

&lt;p&gt;Well, no. SOAP is vastly over complicated and the only provider with even remotely complete support for it is Microsoft. Try consuming a complex WCF (or even worse a &lt;a href="http://en.wikipedia.org/wiki/WS-Security"&gt;high-security&lt;/a&gt;) service across SOAP from a Java client and your problems are likely to be myriad and involve many dirty workaround hacks. We had Flash components built in Flex and ActionScript that consumed WCF SOAP and found ActionScript’s support to be weak at best. Forget about anything with Javascript.&lt;/p&gt;

&lt;p&gt;Basically, SOAP might be this powerful open standard with built in API auto-discovery, but no-one really supports it except Microsoft.&lt;/p&gt;

&lt;p&gt;Why?&lt;/p&gt;

&lt;p&gt;Well, it turns out that while Microsoft was getting behind SOAP everyone else was getting into &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;Representational State Transfer (REST)&lt;/a&gt;. The REST model is far simpler: use what HTTP already does. The HTTP protocol already has functionality to get content, upload content and make changes to it; it already includes security (in SSL) and compression (in GZIP). Why re-invent the wheel?&lt;/p&gt;

&lt;p&gt;The downside of REST? We lose the WSDL descriptions, so no more auto-discovery and relying on Visual Studio to create everything for you. However all REST APIs are structured in the same way, so it’s usually easy to figure out how everything works.&lt;/p&gt;

&lt;p&gt;The great thing about REST? My service can be reached by .Net, Java, Javascript, ActionScript and even spoofed with browser tools like &lt;a href="http://getfirebug.com/"&gt;FireBug&lt;/a&gt; and &lt;a href="http://www.fiddlertool.com"&gt;Fiddler&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;So Microsoft backed the wrong horse. However they’ve realised this (they normally do, eventually) and have started to add first rate support for REST into both ASP.Net MVC and WCF. I'm going to investigate these new approaches, but either way I think it's time to give up on SOAP.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=FlbAauDXnio:6ojOq2sqGFI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=FlbAauDXnio:6ojOq2sqGFI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=FlbAauDXnio:6ojOq2sqGFI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=FlbAauDXnio:6ojOq2sqGFI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=FlbAauDXnio:6ojOq2sqGFI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/FlbAauDXnio" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/FlbAauDXnio/giving-up-on-soap-for-good.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/11/giving-up-on-soap-for-good.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-6592565561920465709</guid><pubDate>Fri, 13 Nov 2009 23:00:00 +0000</pubDate><atom:updated>2009-11-16T13:28:25.860Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">teched</category><category domain="http://www.blogger.com/atom/ns#">microsoft</category><title>TEE09: Friday 13th November</title><description>&lt;h4&gt;Sightseeing&lt;/h4&gt;
&lt;p&gt;By this point we were starting to feel the tech-fatigue. We took the opportunity to see a little of Berlin, before heading back to hit the labs and the convention stalls&lt;/p&gt;

&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=d7b4d4e4-9e7f-4a82-a28d-02397bfcfd91"&gt;DEV301r Microsoft Visual Studio Tips and Tricks&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Scott Cate&lt;/i&gt;
&lt;p&gt;Nice session to finish on - most of these I knew already but a couple were new. They're all on &lt;a href="http://scottcate.com/tricks/"&gt;Scott's blog&lt;/a&gt;.&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;Finally all the stands that had prize draws held their raffles. Oddly the winners on every single stand were right at the front of the fairly large queue. I suspect that most were very poorly run and some developers wasted their conference entering the same contests over and over again. Apparently one guy won 4 laptops!&lt;/p&gt;

&lt;h4&gt;Overall&lt;/h4&gt;
&lt;p&gt;I feel that Tech Ed was productive - I've learnt a couple of new things and it's got me excited about VS2010. However I think that they've swung it a little too far to the IT professionals. There needed to be many more serious technical sessions - I only saw one session on C#4, two on ASP.Net 4 and one on MVC 2. I think the only new technology I was happy with the coverage of was Silverlight 3.&lt;/p&gt;
&lt;p&gt;The food, facilities and general organisation were all excellent, but the labs were a let down: annoying US keyboards and very prone to crashing (even for virtualised beta software).&lt;/p&gt;
&lt;p&gt;Finally finishing on Friday 13&lt;sup&gt;th&lt;/sup&gt; was a good idea - my flight home was very cheap ;-D&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=zocxho5iKmA:ZDP3Ir6fThw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=zocxho5iKmA:ZDP3Ir6fThw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=zocxho5iKmA:ZDP3Ir6fThw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=zocxho5iKmA:ZDP3Ir6fThw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=zocxho5iKmA:ZDP3Ir6fThw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/zocxho5iKmA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/zocxho5iKmA/tee09-friday-13th-november.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/11/tee09-friday-13th-november.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-6025365549727887727</guid><pubDate>Thu, 12 Nov 2009 23:00:00 +0000</pubDate><atom:updated>2009-11-16T13:11:02.243Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">teched</category><category domain="http://www.blogger.com/atom/ns#">microsoft</category><title>TEE09: Thursday 12th November</title><description>&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=093dcc09-885c-48fb-8d97-397915ce4ce4"&gt;INT303 Building RESTful Services Using Windows Communication Foundation&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Jon Flanders&lt;/i&gt;
&lt;p&gt;I felt the presenter was one of the best and most engaging speakers at the conference. He began by describing pretty accurately all the pain that we've already experienced with SOAP - standards compliant but actually useless unless the client is also .Net.&lt;/p&gt;
&lt;p&gt;I'm already familiar with REST, but was impressed at the support now built into WCF - I'm going to try out some of these new features this week!&lt;/p&gt;


&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=b7091d81-ca92-42df-acf5-694394f47a2b"&gt;DEV402 Dynamic in Microsoft Visual C# 4.0: The Why's and How's&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Alex Turner&lt;/i&gt;
&lt;p&gt;Slightly disappointed with this one - I felt that the focus should have been more technical. The session was basically and extended justification for the syntax model that they'd chosen. I'd rather learnt about how expression trees are used under the hood to provide late binding.&lt;/p&gt;

&lt;p&gt;Still, a couple of interesting points, particularly &amp;quot;the object is king&amp;quot; - choosing overloads and the like is left up to the dynamic object:&lt;/p&gt;

&lt;div style="text-align:center;"&gt; 
&lt;img alt="Dynamic examples" width="400" src="http://lh6.ggpht.com/_1G5jUTDE6FU/SwAz8KDJTiI/AAAAAAAAAPY/Z6WjSGichiw/s800/IMG_0387.JPG" /&gt; 
&lt;/div&gt; 

&lt;p&gt;Also: kudos for using a Ghostbusters quote.&lt;/p&gt;

&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=86aeb001-716b-41d8-8a99-1eba2e5bc4d2"&gt;WIA401 Enhancing the Design-Time Experience for Microsoft Silverlight 3&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Oliver Scheer&lt;/i&gt;
&lt;p&gt;This felt like a plea from a designer to make Silverlight controls easier to configure. For a 400 session it needed to be a lot more technical.&lt;/p&gt;


&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=4cad3433-8421-424c-8598-107032d71664"&gt;WIA307 Cool Graphics, Hot Code: Ten Visual Effects to Make You the Envy of Your Peers&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Jeff Prosise&lt;/i&gt;
&lt;p&gt;This session included a lot of nice tricks covered in detail on &lt;a href="http://www.wintellect.com/CS/blogs/jprosise/default.aspx"&gt;Jeff's blog&lt;/a&gt;. Some of the demos seemed a bit extraneous, but a good session overall. I remain impressed with Silverlight 3's browser integration.&lt;/p&gt;


&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=49ad87a3-dc00-4530-ba45-817c549ffa31"&gt;CLI402 Pushing the Limits of Windows&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Mark Russinovich&lt;/i&gt;
&lt;p&gt;Fascinating, detailed and honest session, probably the best yet. It was rammed to the walls 15 mins before it was due to start, despite free drinks being on offer.&lt;/p&gt;
&lt;div style="text-align:center;"&gt; 
&lt;img alt="Pushing the Limits of Windows" width="400" src="http://lh3.ggpht.com/_1G5jUTDE6FU/SwA0AZZxLoI/AAAAAAAAAPc/CaOjBI5prkI/s912/IMG_0388.JPG" /&gt; 
&lt;/div&gt; 
&lt;p&gt;I think Mark Russinovich was the best speaker at the conference, and would go see him again if I got the chance.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=vz4_VF0PDYM:qo5p6ta1q-8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=vz4_VF0PDYM:qo5p6ta1q-8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=vz4_VF0PDYM:qo5p6ta1q-8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=vz4_VF0PDYM:qo5p6ta1q-8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=vz4_VF0PDYM:qo5p6ta1q-8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/vz4_VF0PDYM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/vz4_VF0PDYM/tee09-thursday-12th-november.html</link><author>noreply@blogger.com (Keith Henry)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_1G5jUTDE6FU/SwAz8KDJTiI/AAAAAAAAAPY/Z6WjSGichiw/s72-c/IMG_0387.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/11/tee09-thursday-12th-november.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-5140325335161387832</guid><pubDate>Wed, 11 Nov 2009 23:00:00 +0000</pubDate><atom:updated>2009-11-16T12:46:18.643Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">teched</category><category domain="http://www.blogger.com/atom/ns#">microsoft</category><title>TEE09: Wednesday 11th November</title><description>&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=1f0ab332-c6c2-44af-b253-147d366c5008"&gt;DAT302 Top 10 Best Practices for Microsoft SQL Server 2008 Analysis Services&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Markus Raatz&lt;/i&gt;
&lt;p&gt;I liked this session - I used to be quite the expert at OLAP optimisation in Analysis Services 2000, and it was good to see that, while the UI was much easier to use, the basic rules have stayed the same.&lt;/p&gt;
&lt;p&gt;The rules are things like: define your hierarchies (rigid if possible); keep keys small (good for OLTP too); don't use ROLAP and so on.&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;I skipped the next session to go and see a little of Berlin. I got off at &lt;a href="http://en.wikipedia.org/wiki/Charlottenburg"&gt;Charlottenburg&lt;/a&gt; and found that they have both a C&amp;amp;A and a Woolworths - it all felt very 80s.&lt;/p&gt;

&lt;p&gt;I found time for trying out some of the labs. For next year Microsoft: US-layout keyboards at a European conference == FAIL&lt;/p&gt;

&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=58e1b0b9-f31f-4da5-833d-52e6921ebfa8"&gt;DEV309 The Windows API Code Pack: How Managed Code Developers Can Easily Access Exciting New Windows Vista and Windows 7 Features&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Kate Gregory&lt;/i&gt;
&lt;p&gt;This was basically an extended demo for a 3&lt;sup&gt;rd&lt;/sup&gt; party open-source library for .Net managed code access to Windows 7's new features. Some of them look rather good, but I'm not quite sure how to integrate the apps yet. I mean: I have XP/Vista apps that use notification icons that can use the new taskbar functionality in Windows 7 - very nice! But should they really work that differently on different OS?&lt;/p&gt;

&lt;p&gt;If you're interested you can download the API: &lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack"&gt;http://code.msdn.microsoft.com/WindowsAPICodePack&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=999ac06e-cfdd-456b-9221-e77877385675"&gt;DEV207 How Microsoft Does It: Internal Use of Team Foundation Server and Microsoft Visual Studio Team System for Software Development&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Stephanie Cuthbertson&lt;/i&gt;
&lt;p&gt;I did a case study on processes at Microsoft as part of my MBA dissertation, so I was particularly interested in this session. Most of my sources were from 2008 or before - back then Microsoft used a mix of Scrum, other agile models and other more traditional models.&lt;/p&gt;
&lt;p&gt;I could write a lot more on this session, so I'll summarise it here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Microsoft still don't dogfood MSF - something the MSF team isn't entire happy about. It looks like this might be because teams pick their own agile model (very commendable IMHO) - some are Scrum, some are other variants.
&lt;div style="text-align:center;"&gt; 
&lt;img alt="Autonomous teams, central reporting" width="400" src="http://lh3.ggpht.com/_1G5jUTDE6FU/SwAzzIGy-PI/AAAAAAAAAO8/RPwlPuLFBD4/s912/IMG_0379.JPG" /&gt; 
&lt;/div&gt; &lt;/li&gt;
&lt;li&gt;They did have a 70% test code-coverage target, but they've recently dropped it as they found that resulted in too many tests without enough priority information.&lt;br /&gt;
We've found almost exactly the same thing, although on a much smaller scale.&lt;/li&gt;
&lt;li&gt;Agile scaling is done with feature crews and branching - lots of work happens on the branch with a smaller team, and then there are quality gates and checks before the branch is merged back up. TFS's new enhanced branch/merge support explained.&lt;/li&gt;
&lt;li&gt;Between VS2005 and VS2008 they moved to a zero-defect bug approach, with significant results:
&lt;div style="text-align:center;"&gt; 
&lt;img alt="2005 vs 2008" width="400" src="http://lh6.ggpht.com/_1G5jUTDE6FU/SwAzyCfZ8-I/AAAAAAAAAO4/6Jo9iqqtYGs/s912/IMG_0377.JPG" /&gt; 
&lt;/div&gt; &lt;/li&gt; 
&lt;/ul&gt;


&lt;br /&gt;

&lt;p&gt;We went on for a team mean out - it turns out that many restaurants in Berlin can supply menus in English. There are also lots of kebab shops and they're generally excellent - in the UK most are awful.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=d7W6NHS9xyQ:VSDnFnHF9yw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=d7W6NHS9xyQ:VSDnFnHF9yw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=d7W6NHS9xyQ:VSDnFnHF9yw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=d7W6NHS9xyQ:VSDnFnHF9yw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=d7W6NHS9xyQ:VSDnFnHF9yw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/d7W6NHS9xyQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/d7W6NHS9xyQ/tee09-wednesday-11th-november.html</link><author>noreply@blogger.com (Keith Henry)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_1G5jUTDE6FU/SwAzzIGy-PI/AAAAAAAAAO8/RPwlPuLFBD4/s72-c/IMG_0379.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/11/tee09-wednesday-11th-november.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-1936032814409258973</guid><pubDate>Tue, 10 Nov 2009 23:00:00 +0000</pubDate><atom:updated>2009-11-16T15:30:38.311Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">teched</category><category domain="http://www.blogger.com/atom/ns#">microsoft</category><title>TEE09: Tuesday 10th November</title><description>&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=dc481758-25b8-45a6-b881-d2e1e30d0204"&gt;DEV317 Agile Patterns: Agile Estimations&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Stephen Forte (from Telerik)&lt;/i&gt;
&lt;p&gt;I quite enjoyed this - it was all honestly and well put. His explanations about the &lt;a href="http://www.codinghorror.com/blog/archives/000623.html"&gt;cone of uncertainty&lt;/a&gt; were good and overall I felt this was a good presentation. The only problem was that I think he was preaching to the converted.&lt;/p&gt;
&lt;p&gt;Incidentally one of nicer bits of swag that I got this year was a set of VS2010 branded planning poker cards.&lt;/p&gt;


&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=da65022b-f205-4a91-b5f2-0b5f1d3acc7b"&gt;DEV303 Source Code Management with VS TFS 2010&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Brian Harry&lt;/i&gt;
&lt;p&gt;Looks like the next version of TFS has some very powerful support for branching and merging. It became clear on Wednesday why they'd given this such priority.&lt;/p&gt;



&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=370061aa-4791-4b89-b80c-bf4edb15eb7e"&gt;WIA403 Tips and Tricks for Building High Performance Web Applications and Sites&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Giorgio Sardo&lt;/i&gt;
&lt;p&gt;Mixed bag this one. The presenter is an evangelist for IE8 and it showed - he started with some CSS best practice that doesn't even work in IE6 or 7 (as it used some CSS2 selectors). Yeah, the built in JSON support in IE8 is nice, but it really doesn't help make up for just how awful the Trident rendering engine is or how slow the rest if IE8's javascript is.&lt;/p&gt;
&lt;p&gt;Once he got onto optimising javascript I felt that he lost the focus a bit. There were lots of specific examples of poor javascript, but some of them were really odd: he had getter and setter functions in one and another with 150 items in a case statement (in the latter one he also described an object as an array). I felt the time would have been much better spent (especially in a 400-level session) on the underlying reasons &lt;i&gt;why&lt;/i&gt;: how scope is checked and how objects in javascript are basically dictionaries.&lt;/p&gt;
&lt;p&gt;One very neat site that he introduced: &lt;a href="http://spriteme.org"&gt;spriteme.org&lt;/a&gt; - we already use sprite-maps to reduce image hits, but that's a useful utility to make building them easier.&lt;/p&gt;


&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=6e4ad424-1e07-4c8b-8965-ecce183d9cb7"&gt;WIA315 What's New in Microsoft ASP.NET Model-View-Controller&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Stephen Walther&lt;/i&gt;
&lt;p&gt;I can see how RenderAction and areas will both be useful to us, but there wasn't anything compelling in MVC2 that isn't already in 1.&lt;/p&gt;
&lt;p&gt;By far the most impressive thing is actually an ASP.Net 4 feature: &lt;tt style="background-color:yellow;color:black;"&gt;&amp;lt;%:&lt;/tt&gt; - this will do the same thing as &lt;tt style="background-color:yellow;color:black;"&gt;&amp;lt;%=&lt;/tt&gt; but will also encode the output using whatever standard encoding that you want. I can see that making it much easier to avoid missing XSS vulnerabilities.&lt;/p&gt;

&lt;h4&gt;Welcome Reception (free beer night)&lt;/h4&gt;
&lt;p&gt;Postponed from Monday due to the wall celebrations there was free beer, free food and more swag. It felt strange to be drinking there though - the slightly unreal lack of women became a lot more obvious. I think there were around 50 men for each woman, and the vast majority of them were working on the stands. They had lots of Women in Technology stuff at the conference, but they were kinda pointless - I think this is one of the few areas that shows the real difference between male and female brain types. I don't think there's any prejudice against female developers (in fact quite the opposite), it's just the vast majority don't choose this type of career.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=sCvIeiY5Wu0:Q2gieQ3lF10:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=sCvIeiY5Wu0:Q2gieQ3lF10:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=sCvIeiY5Wu0:Q2gieQ3lF10:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=sCvIeiY5Wu0:Q2gieQ3lF10:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=sCvIeiY5Wu0:Q2gieQ3lF10:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/sCvIeiY5Wu0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/sCvIeiY5Wu0/tee09-tuesday-10th-november.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/11/tee09-tuesday-10th-november.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-65840882017877853</guid><pubDate>Mon, 09 Nov 2009 23:00:00 +0000</pubDate><atom:updated>2009-11-16T11:40:11.990Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">teched</category><category domain="http://www.blogger.com/atom/ns#">microsoft</category><title>TEE09: Monday 9th November</title><description>&lt;p&gt;This week I've been attending Tech Ed Europe 2009 - the big Microsoft tech conference. This year it takes place in Berlin. I'm logging my experiences of the event here, with links to the relevant sessions where I can find them, but some sessions require a Tech Ed login to view.&lt;/p&gt;

&lt;div style="text-align:center;"&gt;
&lt;img alt="Tech Ed Europe 2009" width="400" src="http://lh5.ggpht.com/_1G5jUTDE6FU/SwAzIK5ohEI/AAAAAAAAANw/MjCZBCzDppA/s912/IMG_0330.JPG" /&gt;
&lt;/div&gt;

&lt;h4&gt;WIA205 Top 10 Design Mistakes Made By Web Developers and How to Avoid Them&lt;/h4&gt;
&lt;i&gt;Pete LePage&lt;/i&gt;
&lt;p&gt;One of the weakest sessions that I attended - I could have done this better myself. It was little more than a list of badly done sites, with little detailed advice on how to do them better.&lt;/p&gt;
&lt;p&gt;I think he lost me when talking about keyboard navigation - he tabbed to an input box and instead got a link that floated to the right of it. While technically correct the tab order was off because in IE's poor CSS float implementation any float:right has to occur before the element that it's to the right of. I suspect the designer of the form made the best compromise, and simply holding it up as a bad example was just not good enough at this technical level.&lt;/p&gt;

&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=ec355fdb-4f71-457a-9d76-6ce36b99df96"&gt;WIA204 A Lap around ASP.NET 4 and Visual Studio 2010&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Jeff King&lt;/i&gt;
&lt;p&gt;VS2010 is looking damn impressive, and this demo included really excellent javascript support. There was even javascript intellisense, something that is amazingly hard to do (thanks to javascript's dynamic nature and unique closures).&lt;/p&gt;
&lt;p&gt;Another impressive change is in web.config - far more configuration is now standard, meaning that each web application's config files can be much simpler. You will also be able to have different web.config files for different build configurations, which will make our integration and deployment simpler.&lt;/p&gt;
&lt;p&gt;They've also done a lot of work to make WebForms output nice HTML - something they dearly needed to do, but I think it might be a case of too little, too late. I think the entire WebForms model (let's pretend that we can objectify web pages as if they were a desktop application) was the wrong one, and the smart future money's on MVC.&lt;/p&gt;

&lt;h4&gt;&lt;a href="http://www.msteched.com/online/view.aspx?tid=1367082a-66ed-4786-9b62-25cf3be0e8b3"&gt;DEV-GEN Developer General Session - Visual Studio 2010: New Challenges, New Solutions&lt;/a&gt;&lt;/h4&gt;
&lt;i&gt;Jason Zander (and others)&lt;/i&gt;
&lt;p&gt;Once again VS2010 is looking very impressive, in particular its extensibility model. In this keynote they demoed a heavily customised COBOL interface, built on VS2010, that make it almost look usable. Not sure of the point of that though - COBOL developers cost about twice what C# ones do, and anything done in VS2010 will be in COBOL.Net: it's not going to run on big old mainframes.&lt;/p&gt;
&lt;p&gt;Also, if you haven't heard already Microsoft has bought TeamPrise - all you poor lost souls working in Eclipse are going to get first rate Team System support.&lt;/p&gt;

&lt;h4&gt;&lt;a href="http://news.bbc.co.uk/1/hi/8349742.stm"&gt;20&lt;sup&gt;th&lt;/sup&gt; Anniversary of the Fall of the Berlin Wall&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;The Berlin wall fell 20 years ago today: 9&lt;sup&gt;th&lt;/sup&gt; November 1989. To celebrate this hundreds of giant dominoes were lined up and pushed over in a big ceremony.&lt;/p&gt;

&lt;p&gt;I don't think the news really shows how torrential the rain was. We got very wet indeed. They also don't show how it stopped half way through for the German equivalent of Il Divo:&lt;/p&gt;

&lt;div style="text-align:center;"&gt;
&lt;img alt="Brandenburg gate" width="400" src="http://lh6.ggpht.com/_1G5jUTDE6FU/SwAzaDBVo_I/AAAAAAAAAOE/Tovi4PBAvj4/s912/IMG_0345.JPG" /&gt;
&lt;/div&gt;

&lt;p&gt;It stopped again so that Jon Bon Jovi could mime to his latest single. IMHO I don't think most of the politicians talking there really should have been - Angela Merkel, Lech Walesa, Miklos Nemeth and Mikhail Gorbachev were all part of the actual event, but Gordon Brown and a crappy video message from Barack Obama?&lt;/p&gt;

&lt;p&gt;Still - I'm very glad that I was there.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=1AiEl8cK6hk:xCyOxVQbhuY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=1AiEl8cK6hk:xCyOxVQbhuY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=1AiEl8cK6hk:xCyOxVQbhuY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=1AiEl8cK6hk:xCyOxVQbhuY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=1AiEl8cK6hk:xCyOxVQbhuY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/1AiEl8cK6hk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/1AiEl8cK6hk/tee09-monday-9th-november.html</link><author>noreply@blogger.com (Keith Henry)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_1G5jUTDE6FU/SwAzIK5ohEI/AAAAAAAAANw/MjCZBCzDppA/s72-c/IMG_0330.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/11/tee09-monday-9th-november.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-8979569242270118822</guid><pubDate>Mon, 19 Oct 2009 12:13:00 +0000</pubDate><atom:updated>2009-10-19T13:31:26.747+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Strategy</category><category domain="http://www.blogger.com/atom/ns#">Banking</category><title>In scapegoating sub-prime lending the FSA is missing the point</title><description>&lt;p&gt;The &lt;a href="http://news.bbc.co.uk/1/hi/business/8313853.stm"&gt;FSA announced new regulations today&lt;/a&gt; - they're going to be tougher on sub-prime lending. The inference is that it's the sub-prime lending that caused the current crisis.&lt;/p&gt;

&lt;p&gt;I think that's only a partial truth.&lt;/p&gt;

&lt;p&gt;There's nothing fundamentally wrong with sub-prime lending. The risks are much higher, but then so are the potential rewards. There should be companies that cater to that market.&lt;/p&gt;

&lt;p&gt;The problem is that the sub-prime loans (very high risk) were bundled with a few lower risk bonds and then sold on as if the whole set were low risk. That was stupid and the FSA just let it happen. More worryingly they haven't fixed that - all the focus is on stopping the sub-prime lending, not stopping the fact that a dumb US bank can sell its high risk junk bonds as if they are prime lending and we just accept them.&lt;/p&gt;

&lt;p&gt;My problem is that all these new restrictions basically make it much harder for most of us to borrow money - in some ways that's a good thing, but the people it will hurt most are the marginal cases: couples trying to get their first home, small start-up businesses and other similar loans where the risk is higher but there is still a good business model.&lt;/p&gt;

&lt;p&gt;The real fix is simple: &lt;b&gt;stop high risk loans from being sold as low risk, and stop banks from lending more capital than they own&lt;/b&gt;. It's odd that we haven't done that yet, but then that will make it difficult for some very rich people.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=6OYEQVScKxw:WJnS7AOLJ04:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=6OYEQVScKxw:WJnS7AOLJ04:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=6OYEQVScKxw:WJnS7AOLJ04:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=6OYEQVScKxw:WJnS7AOLJ04:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=6OYEQVScKxw:WJnS7AOLJ04:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/6OYEQVScKxw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/6OYEQVScKxw/in-scapegoating-sub-prime-lending-fsa.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/10/in-scapegoating-sub-prime-lending-fsa.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-2548342618844412452</guid><pubDate>Wed, 07 Oct 2009 11:30:00 +0000</pubDate><atom:updated>2009-10-07T14:37:22.552+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Grammar</category><title>Fumblerules</title><description>&lt;ul&gt; 
&lt;li&gt;Remember to never split an infinitive. &lt;/li&gt; 
&lt;li&gt;A preposition is something never to end a sentence with.&lt;/li&gt; 
&lt;li&gt;The passive voice should never be used.&lt;/li&gt; 
&lt;li&gt;Avoid run-on sentences they are hard to read.&lt;/li&gt; 
&lt;li&gt;Use the semicolon properly, always use it where it is appropriate; and never where it isn't.&lt;/li&gt; 
&lt;li&gt;Reserve the apostrophe for it's proper use and omit it  when its not needed.&lt;/li&gt; 
&lt;li&gt;Do not put statements in the negative form.&lt;/li&gt; 
&lt;li&gt;Verbs has to agree with their subjects.&lt;/li&gt; 
&lt;li&gt;No sentence fragments.&lt;/li&gt; 
&lt;li&gt;Proofread carefully to see if you any words out.&lt;/li&gt; 
&lt;li&gt;Avoid commas, that are not necessary.&lt;/li&gt; 
&lt;li&gt;If you reread your work, you will find on rereading that a great deal of repetition can be avoided by rereading and editing.&lt;/li&gt; 
&lt;li&gt;A writer must not shift your point of view.&lt;/li&gt; 
&lt;li&gt;Eschew dialect, irregardless.&lt;/li&gt; 
&lt;li&gt;And don't start a sentence with a conjunction.&lt;/li&gt; 
&lt;li&gt;Don't overuse exclamation marks!!!&lt;/li&gt; 
&lt;li&gt;Place pronouns as close as possible, especially in long sentences, as of 10 or more words, to their antecedents.&lt;/li&gt; 
&lt;li&gt;Hyphenate between sy-&lt;br /&gt;
llables and avoid un-necessary hyphens.&lt;/li&gt; 
&lt;li&gt;Write all adverbial forms correct.&lt;/li&gt; 
&lt;li&gt;Don't use contractions in formal writing.&lt;/li&gt; 
&lt;li&gt;Writing carefully, dangling participles must be avoided.&lt;/li&gt; 
&lt;li&gt;It is incumbent on us to avoid archaisms.&lt;/li&gt; 
&lt;li&gt;If any word is improper at the end of a sentence, a linking  verb is.&lt;/li&gt; 
&lt;li&gt;Steer clear of incorrect forms of verbs that have snuck in the language.&lt;/li&gt; 
&lt;li&gt;Take the bull by the hand and avoid mixed metaphors.&lt;/li&gt; 
&lt;li&gt;Avoid trendy locutions that sound flaky.&lt;/li&gt; 
&lt;li&gt;Never, ever use repetitive redundancies.&lt;/li&gt; 
&lt;li&gt;Everyone should be careful to use a singular pronoun with singular nouns in their writing.&lt;/li&gt; 
&lt;li&gt;If I've told you once, I've told you a thousand times, resist hyperbole.&lt;/li&gt; 
&lt;li&gt;Also, avoid awkward or affected alliteration.&lt;/li&gt; 
&lt;li&gt;Don't string too many prepositional phrases together unless  you are walking through the valey of the shadow of death.&lt;/li&gt; 
&lt;li&gt; Always pick on the correct idiom.&lt;/li&gt; 
&lt;li&gt;&amp;quot;Avoid overuse of 'quotation &amp;quot;marks.&amp;quot;'&amp;quot;&lt;/li&gt; 
&lt;li&gt;The adverb always follows the verb.&lt;/li&gt; 
&lt;li&gt;Last but not least, avoid cliches like the plague; seek viable alternatives.&lt;/li&gt; 
&lt;/ul&gt;

&lt;p&gt;Originally by William Safire in the New York Times on 4 Nov 1979&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=CaFSoLSJVCg:4s3Okt5Rl2s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=CaFSoLSJVCg:4s3Okt5Rl2s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=CaFSoLSJVCg:4s3Okt5Rl2s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=CaFSoLSJVCg:4s3Okt5Rl2s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=CaFSoLSJVCg:4s3Okt5Rl2s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/CaFSoLSJVCg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/CaFSoLSJVCg/fumblerules.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/10/fumblerules.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-8707310260195551218</guid><pubDate>Mon, 05 Oct 2009 21:21:00 +0000</pubDate><atom:updated>2009-10-05T22:21:36.719+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">IE</category><category domain="http://www.blogger.com/atom/ns#">CSS</category><category domain="http://www.blogger.com/atom/ns#">Chrome</category><category domain="http://www.blogger.com/atom/ns#">HTML</category><title>Why do we still have IE6 and what are Google doing about it?</title><description>&lt;p&gt;Back in the early 00s Internet Explorer 5 was great. I wrote some web applications (which I was really proud of) that used all sorts of then cutting edge stuff like the Microsoft.XmlHttp ActiveX object to load additional data (a method now called Ajax and used everywhere). CSS1 was, well - not exactly new, but sufficiently supported by IE 5 that I could use it for positioning page elements. &lt;/p&gt;

&lt;p&gt;Netscape was pretty much dead, Mozilla still some way off being usable and Opera was niche (still is really). Effectively IE5 was the standard. The W3C standards sounded like a great idea, but IE had 95% market share and didn’t follow them.&lt;/p&gt;

&lt;p&gt;Microsoft had won the browser wars, and having done so they stopped doing anything with IE after version 6.&lt;/p&gt;

&lt;p&gt;Scroll forward a couple of years and the competition heats up again. Genuine standards compliance emerges and browsers that are many times quicker than IE turn up to the party.&lt;/p&gt;

&lt;p&gt;Realising its complacency Microsoft finally responded with new version of IE. The problem was that they’re just bugfixing the same very old and tired code. &lt;/p&gt;

&lt;p&gt;The browser situation today is very different from 8 years ago. Google Chrome and Apple Safari are standards compliant and mighty fast. FireFox is pretty close and highly extendible.&lt;/p&gt;

&lt;p&gt;IE8 is (IMHO) rubbish, still &lt;a href="http://www.quirksmode.org/compatibility.html"&gt;not as standards compliant as the other browsers&lt;/a&gt; and &lt;a href="http://www.appleinsider.com/articles/09/01/27/ie8s_javascript_performance_lags_well_behind_safari_chrome.html"&gt;woefully poor at executing javascript&lt;/a&gt;. IE7 is twice as bad. A bigger problem is that while &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/iewebdevelopment/thread/d03ccc6e-bd74-4ce1-af96-b4e496704d85"&gt;IE7 and 8 still have some bugs that IE6 does&lt;/a&gt; they’ve &lt;a href="http://msdn.microsoft.com/en-us/library/bb250496(VS.85).aspx"&gt;tried to fix others&lt;/a&gt;, and in so doing have ‘broken’ some IE6 sites!&lt;/p&gt;

&lt;p&gt;This means that in big corporation land they can’t upgrade. They always have some old intranet system somewhere that depends on quirks only seen in IE5 and 6. Upgrading this old system is expensive, so why switch browsers? Right now the corporate market appears to be about 60% IE6 – while corporate IT are slow to upgrade it’s rare that they end up quite that far behind.&lt;/p&gt;

&lt;p&gt;The big problem is for folks like me who develop web sites and applications. Clients want the latest features, and latest features sell – fancy drag and drop; fast, dynamic pages; rich user interfaces and so on.  These features are achievable in reasonable time on the latest, quickest, browsers. They’re a nightmare to implement in the latest IE8 (as it’s so slow), never mind IE6.
Web developers around the world celebrated when, in February this year, Microsoft began the gradual product end-of-life process for IE6.&lt;/p&gt;

&lt;p&gt;That was, until August, when they extended support for IE6 again. WTF? Microsoft have given their reasons, and &lt;a href="http://blogs.msdn.com/ie/archive/2009/08/10/engineering-pov-ie6.aspx"&gt;they sound very reasonable&lt;/a&gt; (supporting corporate clients, letting people use their computers how they want, etc), but I don’t think these reasons are only a small part of it.&lt;/p&gt;

&lt;p&gt;The real reason is Google. The real reason is Google’s whole web-as-application-platform thing. Imagine if they make this work – setting up a new office involves making sure everyone has access to Google Docs, Gmail, maybe Wave and a couple of other web apps. All you need is a browser, and it doesn’t matter what OS they are running!&lt;/p&gt;

&lt;p&gt;That’s gotta scare the big MS. For the first time in 20 years there’s a rival strategy that could (not necessarily will, but actually could) break their stranglehold on the corporate desktop market.&lt;/p&gt;

&lt;p&gt;All these new web applications are very difficult to get working in IE6. Even when they do &lt;a href="http://msdn.microsoft.com/en-us/library/bb250448(VS.85).aspx"&gt;IE6 leaks memory like a sieve&lt;/a&gt; and crashes all the damn time.&lt;/p&gt;

&lt;p&gt;So Microsoft’s shot at Google – keep IE6 alive. Not just that – keep IE8 slow! Microsoft claim all sorts of benefits for IE8, but really they have no excuse for just how poor a product it is when compared to its rivals. I think they can only be doing this deliberately. They've even admitted that &lt;a href="http://news.zdnet.com/2100-9595_22-220823.html"&gt;the priority in IE8 was static page speed rather than javascript&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I love Google’s volley back: &lt;a href="http://code.google.com/chrome/chromeframe/"&gt;Chrome Frame&lt;/a&gt; – an IE compatible ActiveX control that uses Chrome (lightning fast, standards compliant, easy to code for, really good) to render pages instead of IE. If this takes off it will take my team half the time to implement new web features!&lt;/p&gt;

&lt;p&gt;The big question is whether Google can persuade the IT folks in corporation land to install this ActiveX control.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=u1vFWHOwET0:d9cgrJyk9pQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=u1vFWHOwET0:d9cgrJyk9pQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=u1vFWHOwET0:d9cgrJyk9pQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=u1vFWHOwET0:d9cgrJyk9pQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=u1vFWHOwET0:d9cgrJyk9pQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/u1vFWHOwET0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/u1vFWHOwET0/why-do-we-still-have-ie6-and-what-are.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>5</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/10/why-do-we-still-have-ie6-and-what-are.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-5910419110493089160</guid><pubDate>Wed, 16 Sep 2009 11:04:00 +0000</pubDate><atom:updated>2009-09-16T13:16:43.334+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><category domain="http://www.blogger.com/atom/ns#">MDX</category><category domain="http://www.blogger.com/atom/ns#">OLAP</category><title>Introduction to MDX</title><description>&lt;p&gt;&lt;i&gt;This content is originally from December 2003. It is an abridged version of an article I sold to Sql Server Central. 
I was looking for it recently and it took me ages to find it, so I've reproduced relevant parts here.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;This article is intended to get you started on &lt;u&gt;M&lt;/u&gt;ulti-&lt;u&gt;D&lt;/u&gt;imensional e&lt;u&gt;X&lt;/u&gt;pressions, the Microsoft OLAP query language. MDX allows you to do complex reports quickly on Very Large Databases (VLDBs). We have reports that run on many millions of records with over 20 fields in under a second! OLAP is a powerful technology.&lt;/p&gt; 
&lt;p&gt;OLAP is a way of looking at data that has been totaled up, but allowing any report on that data you require.&lt;/p&gt; 

&lt;p&gt;Suppose you were logging sales in SQL server, you could have a table [sales] which had [value], [customer], [product], [timeofsale], [salesrep], [store], [county] etc.  If you wanted to know how many sales each sales rep had made you might use:&lt;/p&gt;
 
&lt;pre&gt;select s.[salesrep], count (*) as 'total'
from [sales] s
group by s.[salesrep]&lt;/pre&gt;

&lt;p&gt;If you had a lot of sales this report would take a long time. Suppose you wanted to report on something else at the same time? You might want to see a cross-tab&amp;nbsp;report of [salesrep] by [product]. This is messy to write in SQL as you have to use case statements for each value of whichever field you want on the columns. &lt;/p&gt; 

&lt;p&gt;What we may need to do is build all these totals at a time of low load and then make them easily accessible for reporting all the time. This is what analysis services does. In OLAP we would build a cube of this [sales] table. We call them cubes because they can be visualized as such for simpler reports. As a cube can have up to 128 dimensions however this metaphor quickly breaks down. Supposing that we only want to report on 3 fields ([timeofsale], [salesrep] and [product]); we could think of all the reports you could want on those fields as a cube. Each edge of the cube would have all the values of a field along it, and each face would be a cross tab of two of the fields.&lt;/p&gt; 

&lt;p&gt;An introduction to the rest of the terminology may be useful at this point:&lt;/p&gt; 
&lt;dl&gt; 
&lt;dt&gt;Dimension&lt;/dt&gt; 
&lt;dd&gt;A dimension is one of the fields that you want to report on. Dimensions have a tree structure, allowing complicated data to be reported on at different levels. For instance [timeofsale] could be a dimension if you wanted to report on it&lt;/dd&gt; 
&lt;dt&gt;Measure&lt;/dt&gt; 
&lt;dd&gt;What we are actually reporting on, be it sum, count or average.&lt;/dd&gt;  
&lt;dt&gt;Level&lt;/dt&gt; 
&lt;dd&gt;A level is a step along a dimension. In [timeofsale] we could have [Year], [Month], [Day] and [Hour] allowing us to report on sales per hour or products year on year.&lt;/dd&gt; 
&lt;dt&gt;Member&lt;/dt&gt; 
&lt;dd&gt;A member is a value of a level. In [timeofsale].[Year] we might have [2001], [2002], [2003], or in [timeofsale].[Month] we have [March], [April], [May] etc&lt;/dd&gt; 
&lt;dt&gt;Axis&lt;/dt&gt; 
&lt;dd&gt; This is what you set to put [product] across the columns, [timeofsale] down the rows or report on a [salesrep] to a page. An MDX statement can have up to 128 axis, although it is rare to use more than 2. 
&lt;br /&gt;The first 5 have names:&lt;br /&gt; 
0 Columns&lt;br&gt; 
1 Rows&lt;br&gt; 
2 Pages&lt;br&gt; 
3 Chapters&lt;br&gt; 
4 Sections&lt;/dd&gt; 
&lt;dt&gt;Dimensionality&lt;/dt&gt; 
&lt;dd&gt;This is an attribute of a collection of members or levels which describes what dimensions they are from and what order those dimensions are in.&lt;/dd&gt;  
&lt;dt&gt;Tuple&lt;/dt&gt; 
&lt;dd&gt;A tuple is a collection of members which all have &lt;b&gt;different&lt;/b&gt; dimensionality (so each is from a different dimension). Tuples have () brackets around them, but don't need them when there is only one member. For instance
&lt;br&gt; 
&lt;tt&gt;&lt;b&gt;(&lt;/b&gt; [timeofsale].[Year].[2001], [product].[all products] &lt;b&gt;)&lt;/b&gt;&lt;/tt&gt;
&lt;/dd&gt; 
&lt;dt&gt;Set&lt;/dt&gt; 
&lt;dd&gt;A set is a collection of tuples which all have &lt;b&gt;the same&lt;/b&gt; dimensionality (so all have the same dimensions in the same order). Sets have {} brackets around them, and always need them. For instance
&lt;br&gt; 
&lt;tt&gt;&lt;b&gt;{&lt;/b&gt; ( [timeofsale].[Year].[2001], [product].[all products] 
 ) , ( [timeofsale].[Year].[2002], [product].[all products] ) &lt;b&gt;}&lt;/b&gt;&lt;/tt&gt;
 &lt;/dd&gt;  
&lt;dt&gt;Function&lt;/dt&gt; 
&lt;dd&gt;Functions can return Sets, Tupels, Members, Levels, Dimensions or values. We'll come across some of the more useful ones later.&lt;/dd&gt;  
&lt;dt&gt;Slice&lt;/dt&gt; 
&lt;dd&gt;We may want to cross tab by two fields for some specific value of a third, for instance [timeofsale] by [product] for a particular [salesrep].&lt;br&gt; 
When we picture the report as a cube we think of this filter as a slice into the cube, to show the values on a new face.&lt;/dd&gt; 
&lt;/dl&gt; 

&lt;p&gt;So that's the lexicon done, now how do we use it? Here is the structure of a statement:&lt;/p&gt; 
&lt;pre&gt;select 
 {set 0} on axis(0) , /* this would be a block comment */
 {set 1} on axis(1) , // this is a line comment
 ...
 {set n} on axis(n) 
from [cube]
where (tupel)&lt;/pre&gt; 
&lt;p&gt;No axis or the where statement can share any of the same dimensions.&lt;/p&gt; 
&lt;p&gt;So if we wanted a report of [product] along the top by [salesrep] down the rows we would execute:&lt;/p&gt; 
&lt;pre&gt;select 
 { ( [product].[productname].[product1] ) , 
   ( [product].[productname].[product2] ) } on columns ,
 { [salesrep].[repname].members } on rows 
from [sales]&lt;/pre&gt; 
&lt;p&gt;Note that I've used &lt;tt&gt;on columns&lt;/tt&gt; and &lt;tt&gt;on rows&lt;/tt&gt; rather than &lt;tt&gt;on axis(n)&lt;/tt&gt;, because it is more clear.&lt;/p&gt; 
&lt;p&gt;On the columns I have a set with two tupels from the same dimension. The () brackets are not required in this case because each tupel contains just one member. The {} are required.&lt;br&gt; 
The rows has a function &lt;tt&gt;.members&lt;/tt&gt;, which returns a set with all the member of that level it. As &lt;tt&gt;.members&lt;/tt&gt; returns a set we don't need the {} brackets but again I've put them in.&lt;/p&gt; 
&lt;p&gt;Here is another one:&lt;/p&gt; 
&lt;pre&gt;select 
 { [product].[productname].[product1] : [product].[productname].[product20] } on columns ,
 { [timeofsale].[Year].[2002].children } on rows 
from [sales] &lt;/pre&gt; 
&lt;p&gt;In this example I've used a &lt;b&gt;range&lt;/b&gt; to give me a set of all the products inclusive between [product1] and [product20] on columns. On rows I've used another function called &lt;tt&gt;.children&lt;/tt&gt; to give me all the months in [timeofsale].[Year].[2002]&lt;/p&gt; 
&lt;p&gt;&lt;tt&gt;.members&lt;/tt&gt; works on a level to give all the members at that level.&lt;br&gt; 
&lt;tt&gt;.children&lt;/tt&gt; works on a member to give all the members below it (assuming there are any).&lt;/p&gt; 
&lt;p&gt;Two more useful features before we look at slices:&lt;/p&gt; 
&lt;pre&gt;select 
 non empty { [product].[productname].members } on columns ,
 { { [timeofsale].[Year].[2002].children } 
    * 
   { [salesrep].[repname].members } } on rows 
from [sales] &lt;/pre&gt; 
&lt;p&gt;First of all the keyword &lt;tt&gt;non empty&lt;/tt&gt; excludes any values from that axis where no values are returned.&lt;br&gt; 
The &lt;tt&gt;*&lt;/tt&gt; operator does a cross join between the two sets, and works in a similar way to a cross join in sql. The final set will be made up of every possible combination of the tuples in the two sets.&lt;/p&gt; 
&lt;p&gt;Now we will add a slice:&lt;/p&gt; 
&lt;pre&gt;select 
 { [product].[productname].members } on columns ,
 { [timeofsale].[Year].[2002].children } on rows 
from [sales]
where ( [salesrep].[repname].[Mr Sales Rep1] )&lt;/pre&gt; 
&lt;p&gt;Note that the &lt;tt&gt;where&lt;/tt&gt; criteria requires a tuple (rather than a set) and it cannot contain any of the same dimensions as the sets on the axis.&lt;/p&gt; 

&lt;p&gt;&lt;i&gt;Read the rest of this artice where it was originally published on &lt;a href="http://www.sqlservercentral.com/columnists/khenry/introductiontomdx.asp"&gt;Sql Server Central&lt;/a&gt; (login required).&lt;/i&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=jvd4zxPUwYc:lGKxO2Em2pM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=jvd4zxPUwYc:lGKxO2Em2pM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=jvd4zxPUwYc:lGKxO2Em2pM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=jvd4zxPUwYc:lGKxO2Em2pM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=jvd4zxPUwYc:lGKxO2Em2pM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/jvd4zxPUwYc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/jvd4zxPUwYc/introduction-to-mdx.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/09/introduction-to-mdx.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-3603895661064111319</guid><pubDate>Wed, 09 Sep 2009 06:45:00 +0000</pubDate><atom:updated>2009-09-09T08:16:48.376+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Market Pricing</category><category domain="http://www.blogger.com/atom/ns#">Management</category><category domain="http://www.blogger.com/atom/ns#">HRM</category><category domain="http://www.blogger.com/atom/ns#">Equal Pay</category><category domain="http://www.blogger.com/atom/ns#">Pay Determination</category><title>A tale of two jobs, or when does money stop mattering?</title><description>&lt;p&gt;Suppose that you have two jobs – both are professional jobs for which you are qualified and you have a free choice of either one:&lt;/p&gt;

&lt;b&gt;Job A:&lt;/b&gt;
&lt;ul&gt; 
&lt;li&gt;3 miles from where you live&lt;/li&gt;
&lt;li&gt;Lovely, well appointed and air conditioned office&lt;/li&gt;
&lt;li&gt;Friendly co-workers that you enjoy working with&lt;/li&gt;
&lt;li&gt;35 hour week with flexible hours and good holidays&lt;/li&gt;
&lt;li&gt;Decent manager who respects you and your contribution&lt;/li&gt;
&lt;li&gt;Success judged by customer satisfaction and kudos within the company&lt;/li&gt;
&lt;li&gt;The company does something that you feel adds good to the world&lt;/li&gt;
&lt;/ul&gt;

&lt;b&gt;Job B:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;50 miles from where you live&lt;/li&gt;
&lt;li&gt;Run down clammy office in an industrial estate&lt;/li&gt;
&lt;li&gt;Bitchy co-workers constantly fighting for political position&lt;/li&gt;
&lt;li&gt;45 hour week, but if you’re seen doing less than 55 in the office you probably won’t keep the job long&lt;/li&gt;
&lt;li&gt;Your manager is a manipulative weasel who thinks pitting his minions against one another is the key to motivating them&lt;/li&gt;
&lt;li&gt;Success judged by whether you hit quota, target or other abstract measure&lt;/li&gt;
&lt;li&gt;The company does something that makes money alone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which job would you rather do?&lt;/p&gt;

&lt;p&gt;Ok, easy question. Now suppose that Job B pays twice as much as A. How much makes that worth it?&lt;/p&gt;

&lt;p&gt;I suspect that if Job A pays £12k and Job B pays £24k most people would pick B with a heavy heart.&lt;/p&gt;

&lt;p&gt;Now what if Job A pays £25k and Job B pays £50k?&lt;/p&gt;

&lt;p&gt;What if A pays £250k and B pays a cool half-million?&lt;/p&gt;

&lt;p&gt;What about £1 million and £2 million?&lt;/p&gt;

&lt;p&gt;If you’re still saying Job B to that last one then there’s something very wrong with your personal priorities. I think everyone has their own personal cut-off point for this, and I suspect that it’s not always something that you really know until you reach it. I also suspect that most women’s threshold for this is lower than most blokes' – partly because (in my experience) women are less likely to rate their worth by how much they earn, and partly because they tend to be better at the work life balance thing.&lt;/p&gt;

&lt;p&gt;Both jobs are extremes - just to illustrate the point. I don't think the decision is always this clear and you will choose your own priority order for the points.&lt;/p&gt;

&lt;p&gt;Ok, so given all of this why does anyone ever get paid millions? If anyone sane would take a pay cut from ridiculous money to merely excessive in order to get a job that was nicer in every other way why do we try to justify ever paying anyone millions to do a job when we know that, past a certain threshold, more money just doesn’t matter?&lt;/p&gt;

&lt;p&gt;More money can mean more motivation, but only up to a limited point. Why do we pay bankers, senior executives, footballers and the like so much? Once you're talking multiple millions does an extra million on the salary really attract better staff?&lt;/p&gt;

&lt;p&gt;It makes sense that you pay high to get the best, but once you reach 'sane' salary threshold you will only get the most avaricious and money obsessed if you don’t get everything else right.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=1zs1kAKIvqo:OrcY1Ck0Fyc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=1zs1kAKIvqo:OrcY1Ck0Fyc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=1zs1kAKIvqo:OrcY1Ck0Fyc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=1zs1kAKIvqo:OrcY1Ck0Fyc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=1zs1kAKIvqo:OrcY1Ck0Fyc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/1zs1kAKIvqo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/1zs1kAKIvqo/tale-of-two-jobs-or-when-does-money.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/09/tale-of-two-jobs-or-when-does-money.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-7514263505760369226</guid><pubDate>Fri, 15 May 2009 18:38:00 +0000</pubDate><atom:updated>2009-05-15T19:38:16.443+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Strategy</category><category domain="http://www.blogger.com/atom/ns#">Management</category><category domain="http://www.blogger.com/atom/ns#">Agile</category><category domain="http://www.blogger.com/atom/ns#">MBA</category><title>How to adapt agile to different companies? My MBA thesis</title><description>&lt;p&gt;My master's thesis is to look at how to apply agile.&lt;/p&gt;

&lt;p&gt;There is an awful lot of corporate selling of agile - lots of management consultants selling their brand as 'best'.&lt;/p&gt;

&lt;p&gt;I'm not interested whether &lt;a href="http://en.wikipedia.org/wiki/Extreme_Programming"&gt;XP&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Scrum_(development)"&gt;Scrum&lt;/a&gt;, &lt;a href="http://www.agilekiwi.com/crystal_clear.htm"&gt;Crystal Clear&lt;/a&gt;, &lt;a href="http://www.agilemanagement.net/Articles/Papers/StretchingAgiletoFitCMMIL.html"&gt;Agile-CMMI&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Six_Sigma"&gt;Six Sigma&lt;/a&gt; or any other brand/variant is best. I'm interested in what real, active developers actually apply as agile.&lt;/p&gt;

&lt;p&gt;What I've investigated is how to tailor agile to different organisational requirements.&lt;/p&gt;

&lt;p&gt;From research into how different organisations apply agile I've developed the following guidelines - a recipe for what agile variations should be applied in what situations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Larger and more distributed or more flexible teams need stricter coding and testing standards, small teams can (and should) use less.&lt;/li&gt;

&lt;li&gt;Process documentation should be minimal, real-time and current.&lt;/li&gt;

&lt;li&gt;Detailed statistical control indicators are an unnecessary overhead: early release of incomplete software is a better indication of progress.&lt;/li&gt;

&lt;li&gt;Ideally developers should be close to the customer with no specialised intermediate roles. Additional roles should only be used if customers are specialised in a way that stops developers from also being users.&lt;/li&gt;

&lt;li&gt;Iterations should be flexible unless it benefits coordination of releases with other departments or other processes.&lt;/li&gt;

&lt;li&gt;Developers should be able to easily and regularly communicate but meetings should be infrequent (monthly and weekly, rather than daily).&lt;/li&gt;

&lt;li&gt;Pair programming should only be used for training and investigational tasks.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;These factors change when applied in an organisation with existing traditional (i.e. &lt;a href="http://en.wikipedia.org/wiki/Big_Design_Up_Front"&gt;BDUF&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Waterfall_development"&gt;waterfall&lt;/a&gt;) models, where agile teams must either coexist with or be adapted from teams using non-agile methods:

&lt;ul&gt;
&lt;li&gt;Process documentation with sign off and structured steps will help other teams track the project.&lt;/li&gt;

&lt;li&gt;Statistical indicators (like velocity) can help reassure non-agile teams that the process is under control.&lt;/li&gt;

&lt;li&gt;Fixed iterations will help co-ordination across teams.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;These additional guidelines will help agile co-exist with traditional models, but they provide additional overhead and restrictions.&lt;/p&gt;

&lt;p&gt;What I want to know is what you (any reader who's read this far) think of this framework.&lt;/p&gt;

&lt;p&gt;What do you think is accurate? What do you think is wrong? What would you change? What have I missed?&lt;/p&gt;

&lt;p&gt;Most importantly: why?&lt;/p&gt;

&lt;p&gt;Please comment away, or if you're a programmer respond on &lt;a href="http://stackoverflow.com/questions/869324"&gt;stackoverflow.com&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=1ifFeWbr_Ao:OotID5kP9QI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=1ifFeWbr_Ao:OotID5kP9QI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=1ifFeWbr_Ao:OotID5kP9QI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=1ifFeWbr_Ao:OotID5kP9QI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=1ifFeWbr_Ao:OotID5kP9QI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/1ifFeWbr_Ao" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/1ifFeWbr_Ao/how-to-adapt-agile-to-different.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/05/how-to-adapt-agile-to-different.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-2278592907904992387</guid><pubDate>Sun, 10 May 2009 19:45:00 +0000</pubDate><atom:updated>2009-05-10T20:48:50.063+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MBA</category><title>Sorry, long time no posts</title><description>&lt;p&gt;No posts for a while, sorry about that. It turns out that I have to be very careful on what I post here as it counts as prior publication for my MBA (and therefore inadmissible).&lt;/p&gt;

&lt;p&gt;However I'm going to try and get some community feedback on my conclusions, so they'll be up here soon.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=07NIU7shEus:22sM4qxIs7M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=07NIU7shEus:22sM4qxIs7M:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=07NIU7shEus:22sM4qxIs7M:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=07NIU7shEus:22sM4qxIs7M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=07NIU7shEus:22sM4qxIs7M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/07NIU7shEus" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/07NIU7shEus/sorry-long-time-no-posts.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2009/05/sorry-long-time-no-posts.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-9100930560183117</guid><pubDate>Mon, 13 Oct 2008 18:39:00 +0000</pubDate><atom:updated>2008-10-13T20:45:37.806+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Pay Determination</category><category domain="http://www.blogger.com/atom/ns#">Banking</category><title>Fall of the fat cats?</title><description>&lt;p&gt;Back in March I asked &lt;a href="http://bizvprog.blogspot.com/2008/03/are-you-overpaying-your-ceo.html"&gt;Are you overpaying your CEO?&lt;/a&gt; It seems rather prescient  looking at the news today.&lt;/p&gt;

&lt;p&gt;The BBC is reporting that &lt;a href="http://news.bbc.co.uk/1/hi/business/7668020.stm"&gt;Bank shares fall despite bail-out&lt;/a&gt; - which is kinda stating the obvious. The government's taken majority stakes - they're basically angel venture capitalists. Like any angel VCs, they're coming in with a high level of control. They're coming in to save the business, so it makes no sense to leave it as is, and their money's going to get repaid first.&lt;/p&gt;

&lt;p&gt;Is this the end of the fat cat bankers? The argument for the ridiculous bonuses has always been market related. I reckon the fact that the bankers from one bank will represent the majority of shareholders at another's means that shareholders should not decide banker salaries. With the government as majority shareholders I really don't think the quality of staff that they manage to hire will be any lower, despite them being forced to think about pay in public sector terms.&lt;/p&gt;

&lt;p&gt;Read a couple of the books written by the people who've won big in stocks and shares. Universally it seems like they think the secret to big money is big risks. I can't help but wonder about the overall picture. I mean, if a thousand high-risk idiots bet big time with other people's money how many will lose big time? I suppose that you'll get one &lt;a href="http://en.wikipedia.org/wiki/Nick_Leeson"&gt;Nick Leeson&lt;/a&gt;, hundreds of bankruptcies on smaller scales, hundreds more that will make either slightly less or slightly more than the money would do anyway in a savings account. One guy makes millions and writes a book about it. He reckons risks mean success, but the overall picture clearly shows otherwise.&lt;/p&gt;

&lt;p&gt;Similarly, suppose that you have a 3/4 chance of making a banking decision that will be seen as good (maybe a 1/10 of it being fantastically good). Suppose some banker's made the perceived right decision 10 times in a row? Does that make him worth millions? By chance he'd have a 3/4&lt;sup&gt;10&lt;/sup&gt;, roughly 5.6% or a 1 in 20 chance. By that a great banking CEO isn't 1 in a million, he's just 1 in 20. There are millions of economically competent people out there that I suspect could do a good job of running a bank.&lt;/p&gt;

&lt;p&gt;I'm sure that competence and experience are worth a lot. Six figures, certainly. Just not millions. Definitely not millions when it goes wrong.&lt;/p&gt;

&lt;p&gt;I've been reading mainstream books about the impending credit crunch and banking crisis for the last five years - how can these goons claim to be surprised? How can they claim to be surprised, expert &lt;i&gt;and&lt;/i&gt; worth the payout?&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=sKWzP9RzkRQ:yYc95VvsUHE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=sKWzP9RzkRQ:yYc95VvsUHE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=sKWzP9RzkRQ:yYc95VvsUHE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=sKWzP9RzkRQ:yYc95VvsUHE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=sKWzP9RzkRQ:yYc95VvsUHE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/sKWzP9RzkRQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/sKWzP9RzkRQ/fall-of-fat-cats.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2008/10/fall-of-fat-cats.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-41042806922002824</guid><pubDate>Thu, 09 Oct 2008 19:10:00 +0000</pubDate><atom:updated>2008-10-09T20:23:19.971+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Agile</category><category domain="http://www.blogger.com/atom/ns#">Deming</category><category domain="http://www.blogger.com/atom/ns#">MBA</category><title>Choosing a thesis topic II</title><description>&lt;p&gt;Following on from &lt;a href="http://bizvprog.blogspot.com/2008/10/choosing-thesis-topic-i.html"&gt;part I&lt;/a&gt; I have a few more idea:&lt;/p&gt;

&lt;dt&gt;&lt;b&gt;Idea 4:&lt;/b&gt; &lt;i&gt;Deming's theorys were developed for manufacturing, but have also been applied to software development as the "Agile method".&lt;br /&gt;
Investigate using this high particiapation model in other industries.&lt;/i&gt;&lt;/dt&gt; 
&lt;dd&gt;Aims:
&lt;ul&gt; 
&lt;li&gt;Could the Agile model be applied to short cycle, high pressure enviroments, such as magazine offices?&lt;/li&gt; 
&lt;li&gt;Is the high participation, high employee ownership model appropriate in these circumstances?&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;I had to try out at least one Deming-centric idea! On reflection I think I would struggle to do the research for this: it would be &lt;a href="http://en.wikipedia.org/wiki/Action_research"&gt;Action Research&lt;/a&gt;, which would probably take too long and be very difficult to set up.&lt;/p&gt;&lt;/dd&gt;

&lt;dt&gt;&lt;b&gt;Idea 5:&lt;/b&gt; &lt;i&gt;Investigate the adoption of high employee participation management models in software development.&lt;/i&gt;&lt;/dt&gt; 
&lt;dd&gt;Aims:
&lt;ul&gt; 
&lt;li&gt;What models (both low and high participation) are in widespread use?&lt;/li&gt; 
&lt;li&gt;What gains are there (if any) from a move to higher employee participation?&lt;/li&gt; 
&lt;li&gt;What barriers exist to the adoption of these models?&lt;/li&gt; 
&lt;li&gt;What can be done to overcome these barriers?&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;This is the one to go for, I think. It's about the right size, fits into my subject area and is something I'm interested in.&lt;/p&gt;&lt;/dd&gt;

&lt;p&gt;So, I think I've got the bones of my thesis question. It still needs a lot more work, but I now have a basic idea where I'm going with my research.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=m9pGj5yD51E:7fLe9RW_CMQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=m9pGj5yD51E:7fLe9RW_CMQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=m9pGj5yD51E:7fLe9RW_CMQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=m9pGj5yD51E:7fLe9RW_CMQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=m9pGj5yD51E:7fLe9RW_CMQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/m9pGj5yD51E" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/m9pGj5yD51E/choosing-thesis-topic-ii.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>2</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2008/10/choosing-thesis-topic-ii.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-2378397954089834359</guid><pubDate>Tue, 07 Oct 2008 18:47:00 +0000</pubDate><atom:updated>2008-10-08T15:11:45.787+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MBA</category><category domain="http://www.blogger.com/atom/ns#">Word 2007</category><title>The killer Word 2007 feature</title><description>&lt;p&gt;For me Word 2007 has one really 'killer' feature.  I didn't think there have been any significant improvements to it since Office 97 - it just gets more expensive and needs more processing with each new version. Now, in Word 2007, they've finally added something that really makes it worth upgrading.&lt;/p&gt;

&lt;p&gt;Word 2007 has a built in referencing library. If you're working on any sort of academic assignment it really simplifies it:&lt;/p&gt;

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img border="0" src="http://keithhenry.googlepages.com/wordref1.png" /&gt;&lt;/div&gt;

&lt;p&gt;Click "Insert Citation" and it will ask for details:&lt;/p&gt;

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img border="0" src="http://keithhenry.googlepages.com/wordref2.png" /&gt;&lt;/div&gt;

&lt;p&gt;It knows which fields are relevant for the type of source that you're citing. No more checking back and forth in the APA reference book!&lt;/p&gt;

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img border="0" src="http://keithhenry.googlepages.com/wordref3.png" /&gt;&lt;/div&gt;

&lt;p&gt;It will even automate your bibliography:&lt;/p&gt;

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img border="0" src="http://keithhenry.googlepages.com/wordref4.png" /&gt;&lt;/div&gt;

&lt;p&gt;You can backup your references and transfer them between documents. You can switch referencing style and Word keeps track of the changes - really useful when your Uni can't seem to decide whether they want Harvard or APA style.&lt;/p&gt;

&lt;p&gt;Yeah the ribbon is pretty, it's a nice improvement but not worth the upgrade if you're used to 2003. No, they still haven't fixed the odd breakages between MDI styles in Word and Excel. Really, the new referencing support is the real killer feature. It's a real reason to upgrade to Word 2007.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=VncBWOR-3_g:Sw-c9jEst7c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=VncBWOR-3_g:Sw-c9jEst7c:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=VncBWOR-3_g:Sw-c9jEst7c:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=VncBWOR-3_g:Sw-c9jEst7c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=VncBWOR-3_g:Sw-c9jEst7c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/VncBWOR-3_g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/VncBWOR-3_g/killer-word-2007-feature.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2008/10/killer-word-2007-feature.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8781199663912312322.post-4775493068279167579</guid><pubDate>Mon, 06 Oct 2008 18:38:00 +0000</pubDate><atom:updated>2008-10-08T13:02:32.889+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Job Evaluation</category><category domain="http://www.blogger.com/atom/ns#">Market Pricing</category><category domain="http://www.blogger.com/atom/ns#">Equal Pay</category><category domain="http://www.blogger.com/atom/ns#">MBA</category><title>Choosing a thesis topic I</title><description>&lt;p&gt;At the moment I'm trying to choose a suitable topic to study for my final MBA year. So far I've had a couple of ideas:&lt;/p&gt;

&lt;dt&gt;&lt;b&gt;Idea 1:&lt;/b&gt; &lt;i&gt;Investigate the 17% pay gap between men and women&lt;/i&gt;&lt;/dt&gt;
&lt;dd&gt;Aims:
&lt;ul&gt;
&lt;li&gt;What cultural and social factors effect womens' work choices?&lt;/li&gt;
&lt;li&gt;To what extent is this gap caused by discrimination?&lt;/li&gt;
&lt;li&gt;Are current laws sufficient to rectify this?&lt;/li&gt;
&lt;li&gt;What else could be done?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This subject is relevant to my current job, and it's something that really interests me. I think this is a potentially fascinating topic. My company has plenty of data available, so this probably wouldn't involve primary research.&lt;/p&gt;
&lt;p&gt;The problem is that this topic is just way too big. I could barely scratch the surface in 18,000 words.&lt;/p&gt;&lt;/dd&gt;

&lt;dt&gt;&lt;b&gt;Idea 2:&lt;/b&gt; &lt;i&gt;Investigate the often wide gaps between the internal value of a job (by job evaluation) and the external value (by salary market comparison).&lt;/i&gt;&lt;/dt&gt;
&lt;dd&gt;Aims:
&lt;ul&gt;
&lt;li&gt;What are the common factors used in analytical job evaluation?&lt;/li&gt;
&lt;li&gt;To what extent to they agree between different organisations?&lt;/li&gt;
&lt;li&gt;Are these factors common with market forces?&lt;/li&gt;
&lt;li&gt;Why is the disparity so large for IT roles in particular?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once again this is highly relevant to my current job and the software that my team produces. This is slightly more targeted, but is still too big a topic.&lt;/p&gt;&lt;/dd&gt;

&lt;dt&gt;&lt;b&gt;Idea 3:&lt;/b&gt; &lt;i&gt;Modern management theory abounds with participatory, inclusive and bottom-up models of management. 
However the vast majority of companies have strictly hierachical structures, despite lots of managers having MBAs.&lt;br /&gt;
Why?&lt;/i&gt;&lt;/dt&gt;
&lt;dd&gt;Aims:
&lt;ul&gt;
&lt;li&gt;Investigate to what extent modern management theory is actually used.&lt;/li&gt;
&lt;li&gt;What social and cultural impertivies support the hierachical model?&lt;/li&gt;
&lt;li&gt;How could this be changed?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is a bit closer - still too big a topic, but I think I can see a way to break this down into something more manageable.&lt;/p&gt;&lt;/dd&gt;

&lt;p&gt;I think I've given up on following the purely HR focused questions. These are the subject areas that would be of most value to my company (who are sponsoring me) but I can't see a way to break them down to a topic that I can actually handle. In both reward/compensation focused ideas I struggle when breaking them right down to my speciality - software development.&lt;/p&gt;

&lt;p&gt;That third idea might work though. I'll have to see if it can be adapted to a closer fit.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=DNMrzlXZ8b0:nlx1Itx28as:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=DNMrzlXZ8b0:nlx1Itx28as:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=DNMrzlXZ8b0:nlx1Itx28as:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bizvprog?a=DNMrzlXZ8b0:nlx1Itx28as:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bizvprog?i=DNMrzlXZ8b0:nlx1Itx28as:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bizvprog/~4/DNMrzlXZ8b0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/bizvprog/~3/DNMrzlXZ8b0/choosing-thesis-topic-i.html</link><author>noreply@blogger.com (Keith Henry)</author><thr:total>0</thr:total><feedburner:origLink>http://bizvprog.blogspot.com/2008/10/choosing-thesis-topic-i.html</feedburner:origLink></item></channel></rss>
