<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Herbjorn&#039;s Blog</title>
	<atom:link href="http://herbjorn.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://herbjorn.wordpress.com</link>
	<description>Ignorance is bliss - but there is no such thing as willful ignorance</description>
	<lastBuildDate>Tue, 24 Jan 2012 22:19:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='herbjorn.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Herbjorn&#039;s Blog</title>
		<link>http://herbjorn.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://herbjorn.wordpress.com/osd.xml" title="Herbjorn&#039;s Blog" />
	<atom:link rel='hub' href='http://herbjorn.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Data in the cloud and how the big cloud vendors handle consistency</title>
		<link>http://herbjorn.wordpress.com/2011/10/25/data-in-the-cloud-and-how-the-big-cloud-vendors-handle-consistency/</link>
		<comments>http://herbjorn.wordpress.com/2011/10/25/data-in-the-cloud-and-how-the-big-cloud-vendors-handle-consistency/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 11:37:33 +0000</pubDate>
		<dc:creator>Herbjörn Wilhelmsen</dc:creator>
				<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[big data]]></category>
		<category><![CDATA[CAP]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[eventual consistency]]></category>
		<category><![CDATA[gae]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://herbjorn.wordpress.com/?p=894</guid>
		<description><![CDATA[Massive scalability is a key component of elasticity that in turn is the key advantage of cloud computing. Handling massive amounts of data is far from easy whether you use cloud computing or not. To get the real benefits of the cloud there are a couple of limiting factors that needs to be considered &#8211; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=894&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!--{EAV:a7c3282af2eda23e}--><br />
<img src="http://herbjorn.files.wordpress.com/2010/09/feet_cloud.jpg?w=600" alt="The way to go in the cloud" title="The way to go in the cloud"   class="alignnone size-full wp-image-419" /></p>
<p>Massive <a href="http://en.wikipedia.org/wiki/Scalability" target="_blank">scalability</a> is a key component of <a href="http://herbjorn.wordpress.com/2010/05/20/private-clouds-a-great-misconception/" target="_blank">elasticity</a> that in turn is the key advantage of cloud computing. Handling massive amounts of data is far from easy whether you use cloud computing or not. To get the real benefits of the cloud there are a couple of limiting factors that needs to be considered &#8211; at least that is the way the official dogma goes.<br />
<span id="more-894"></span></p>
<h3>We cannot &#8220;have-it-all&#8221; with big data</h3>
<p>Many seasoned developers/archtects are used to working with, or even designing, databases that offer perfect consistency and very good availability. Sadly, this is a more challenging task with <a href="http://en.wikipedia.org/wiki/Big_data" target="_blank">big data</a>.</p>
<p>Spreading out the data on multiple machines is a good way to improve availability. That will enable your solution to serve more requests per time unit and also gives you the opportunity to implement automatic <a href="http://en.wikipedia.org/wiki/Failover" target="_blank">failover</a>.</p>
<p>However, if we use that way to improve availability it will impact consistency. If we save data to machine A and that machine immediately fails, machine B will take over so that our availability remains high. The consequence is that the data that we just saved to machine A will not be reflected on machine B, i.e. our consistency will be less than perfect.</p>
<p>According to the <a href="http://www.julianbrowne.com/article/viewer/brewers-cap-theorem" target="_blank">CAP theorem</a> (I will not explain that here) we have to prioritize between availability and consistency. This is a tough choice since we generally want both.</p>
<h3>What kind of choices are available?</h3>
<p>The choices that we do have is to forfeit consistency or to forfeit availability. This is not as dramatic as it sounds, since we would still have good consistency and good availability! However, sometimes consistency is of utmost importance; It is required that all data is completely consistent at all times in all machines. In such a scenario we have to accept reduced availability. On the other hand, if availability is too important to reduce we can choose to reduce the data consistency. Here are some terms that is important to understand before reading the rest of this blog post:</p>
<p><strong>Eventual consistency</strong> is a term that was <a href="http://www.allthingsdistributed.com/2008/12/eventually_consistent.html" target="_blank">popularized by Werner Vogels</a>. Data is saved and committed to some but not all machines (often called nodes) before your write request returns. The advantages include that only some of the machines must be available when data is saved and that some time may be saved due to contacting fewer machines before the saving operation returns. However, this leaves a window of inconsistency, meaning that during a period of time requests might be served using old data. Working on reducing the inconsistency window so that it is closed before the next expected request arrives is a recommended strategy.<br />
<strong>Read your writes</strong> means that if a process writes data it will always have access to that updated data and will not have to deal with older values. (This is only interesting to discuss when dealing with eventual consistency.)<br />
<strong>Monotonic reads</strong> means that if a process once accesses a data entry it will never be presented to an older version of that data on a later occasion. (This is only interesting to discuss when dealing with eventual consistency.) </p>
<p>The big cloud vendors <a href="http://aws.amazon.com/" target="_blank">Amazon</a>, <a href="http://www.microsoft.com/windowsazure/" target="_blank">Microsoft</a> and <a href="http://code.google.com/appengine/" target="_blank">Google</a> all offer data stores suitable for building cloud solutions with huge amounts of data. Amazon and Google offer eventually consistent reads and strongly consistent reads in their products, but Microsoft do not offer any such options. In Microsoft Azure consistent reads is the only option.</p>
<h3>Do these choices make any difference?</h3>
<p>A very <a href="http://www.cidrdb.org/cidr2011/Papers/CIDR11_Paper15.pdf" target="_blank">interesting study on data consistency in the cloud</a> that compare these cloud vendors was published earlier this year (2011) by a <a href="http://www.hwada.org/" target="_blank">bunch</a> of <a href="http://rp-www.cs.usyd.edu.au/~fekete/" target="_blank">researchers</a> <a href="http://about.me/liang.zhao" target="_blank">based</a> <a href="http://www.nicta.com.au/people/leek" target="_blank">in</a> <a href="http://blogs.unsw.edu.au/annaliu/" target="_blank">Australia</a>. Their findings are very interesting and is summarized in the table below.</p>
<table>
<tr style="background-color:black;color:white;">
<td><b>Vendor</b></td>
<td><b>Product</b></td>
<td><b>Option</b></td>
<td><b>Consistent after</b></td>
<td><b>Read your writes</b></td>
<td><b>Monotonic read</b></td>
</tr>
<tr>
<td><b>Amazon</b></td>
<td>SimpleDB</td>
<td>Eventually consistent read</td>
<td>500 ms</td>
<td>No</td>
<td>No</td>
</tr>
<tr style="background-color:azure;">
<td><b>Amazon</b></td>
<td>SimpleDB</td>
<td>Consistent read</td>
<td>0 ms</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td><b>Amazon</b></td>
<td>S3</td>
<td>Reduced redundancy</td>
<td>0 ms</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr style="background-color:azure;">
<td><b>Amazon</b></td>
<td>S3</td>
<td>Standard redundancy</td>
<td>0 ms</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td><b>Microsoft</b></td>
<td>Azure Table</td>
<td>(no option available)</td>
<td>0 ms</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr style="background-color:azure;">
<td><b>Microsoft</b></td>
<td>Azure Blob</td>
<td>(no option available)</td>
<td>0 ms</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td><b>Google</b></td>
<td>App Engine Data Store</td>
<td>Strong consistent read</td>
<td>0 ms</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr style="background-color:azure;">
<td><b>Google</b></td>
<td>App Engine Data Store</td>
<td>Eventual consistent read</td>
<td>0 ms*</td>
<td>Yes*</td>
<td>?*</td>
</tr>
</table>
<p>Interestingly, the results show that during these tests only one option (Amazon&#8217;s SimpleDB with Eventually consistent read) gave rise to situations where the reader of the data saw any effects of eventual consistency. Another interesting finding is that SimpleDB using the Consistent reads option was slightly <i>faster</i> &#8211; contrary to some of the hoped for benefits of choosing eventual consistency.</p>
<p>As for the Google App Engine Data Store using the Eventual consistent read option the results presented in the table above are marked with an asterisk (*) and here&#8217;s why: 11 out of 3,311,081 read operations returned stale data when reader and writer were not running in the same application. This consistency level is very high for an eventual consistency option. The explanation for these results might be that data is fetched from a secondary replica only if the primary one is unavailable. Since stale values were only returned when reader and writer was running in different applications Read you writes consistency seems to be offered.</p>
<h3>Some advice</h3>
<p>Based on the findings in this research this is what I recommend you to do when you are working with massive amounts of data in the cloud:</p>
<ol>
<li>Express requirements regarding availability and consistency in business terms</li>
<li>Carefully consider your availability and consistency options with your business needs and implementation costs in mind</li>
<li>Perform tests with realistic machine configurations, realistic amounts of traffic and realistic amounts &amp; structure of data</li>
<li>Evaluate and choose you implementation strategy</li>
<li>Keep track of how your vendor changes their implementation and what that means for your solution</li>
</ol>
<p>Expressing your consistency and availability needs in business terms is essential if you want to arrive at a decent solution. Evaluating without being able to compare the positive business outcomes of increased availability and possibly <a href="http://www.accenture.com/us-en/blogs/technology-labs-blog/archive/tags/Infrastructure/default.aspx?PageIndex=2" target="_blank">added development costs</a> associated with eventual consistency, might lead you astray. Thinking about perfect consistency might also lead you astray. Although perfect consistency might be good for your business it has to be compared to what the business outcomes of reduced availability will be. Your own tests (and other tests e.g. <a href="http://cloudtimes.org/understanding-cloud-computing-benchmarks-and-its-mileage/" target="_blank">benchmark tests</a>) may also help you reason about how much performance and availability may be affected by your different options.</p>
<p>The last point (no 5) is very important to remember when you are using a cloud based solution since most vendors changes their hardware configuration, software configuration and software implementation from time to time. When cloud vendors make these changes you may be presented with new options, but some of these changes might just be carried out without giving you any new options; You simply get a &#8220;better service&#8221; &#8211; meaning that you may have to go back to testing again. At the end of the day, re-running your tests on a regular basis might be your best option. That way you do not have to worry about missing out on important  vendor updates.</p>
<br />Filed under: <a href='http://herbjorn.wordpress.com/category/cloud-computing-2/'>Cloud computing</a> Tagged: <a href='http://herbjorn.wordpress.com/tag/amazon/'>amazon</a>, <a href='http://herbjorn.wordpress.com/tag/aws/'>aws</a>, <a href='http://herbjorn.wordpress.com/tag/azure/'>Azure</a>, <a href='http://herbjorn.wordpress.com/tag/big-data/'>big data</a>, <a href='http://herbjorn.wordpress.com/tag/cap/'>CAP</a>, <a href='http://herbjorn.wordpress.com/tag/cloud-computing/'>cloud computing</a>, <a href='http://herbjorn.wordpress.com/tag/eventual-consistency/'>eventual consistency</a>, <a href='http://herbjorn.wordpress.com/tag/gae/'>gae</a>, <a href='http://herbjorn.wordpress.com/tag/google/'>google</a>, <a href='http://herbjorn.wordpress.com/tag/microsoft/'>microsoft</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbjorn.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbjorn.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbjorn.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbjorn.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbjorn.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbjorn.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbjorn.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbjorn.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbjorn.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbjorn.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbjorn.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbjorn.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbjorn.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbjorn.wordpress.com/894/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=894&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbjorn.wordpress.com/2011/10/25/data-in-the-cloud-and-how-the-big-cloud-vendors-handle-consistency/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<georss:point>59.332788 18.064488</georss:point>
		<geo:lat>59.332788</geo:lat>
		<geo:long>18.064488</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5c472cb53d99835ac04423891c2cae5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">herbjorn</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2010/09/feet_cloud.jpg" medium="image">
			<media:title type="html">The way to go in the cloud</media:title>
		</media:content>
	</item>
		<item>
		<title>When to Agile and How much to Agile &#8211; that is the question</title>
		<link>http://herbjorn.wordpress.com/2011/09/09/when-to-agile-and-how-much-to-agile-that-is-the-question/</link>
		<comments>http://herbjorn.wordpress.com/2011/09/09/when-to-agile-and-how-much-to-agile-that-is-the-question/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 08:03:07 +0000</pubDate>
		<dc:creator>Herbjörn Wilhelmsen</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[plan-driven]]></category>
		<category><![CDATA[Risk]]></category>

		<guid isPermaLink="false">http://herbjorn.wordpress.com/?p=686</guid>
		<description><![CDATA[Agile is gaining more and more popularity compared to plan-driven software development approaches. There is a strong community push in favor of agile, and truth be said agile has quite a few advantages. However, a couple of questions needs to be asked. Should all projects use agile methods? To what degree should a particular project [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=686&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_207" class="wp-caption alignnone" style="width: 595px"><img class="size-full wp-image-207" title="Infinite risk" src="http://herbjorn.files.wordpress.com/2011/05/infinite_risksoft_so.jpg?w=600" alt="Infinite risk"   /><p class="wp-caption-text">Photo by <a href='http://www.flickr.com/photos/aftab/' target='_blank'>aftab</a></p></div>
<p><a href="http://en.wikipedia.org/wiki/Agile_software_development" target="_blank">Agile</a> is gaining more and more popularity compared to <a href="http://en.wikiversity.org/wiki/Plan-driven_software_development" target="_blank">plan-driven</a> software development approaches. There is a strong community push in favor of agile, and truth be said agile has quite a few advantages. However, a couple of questions needs to be asked. Should all projects use agile methods? To what degree should a particular project be agile?</p>
<p><span id="more-686"></span><br />
In the book <a href="http://www.amazon.com/Balancing-Agility-Discipline-Guide-Perplexed/dp/0321186125" target="_blank">Balancing Agility and Discipline</a> the authors <a href="http://csse.usc.edu/csse/about/people/faculties/BarryBoehm.html" target="_blank">Barry Boehm</a> and <a href="http://sse.stevens.edu/nc/people/faculty/faculty/1122/" target="_blank">Richard Turner</a> take a look at the opposite ends of the agility spectrum. On the one side we have plan-driven methods that prescribe detailed up front analysis, a lot of planning, engineering and detailed documentation. Prominent examples of plan driven methods are <a href="http://en.wikipedia.org/wiki/Cleanroom_Software_Engineering" target="_blank">Cleanroom</a> and <a href="http://en.wikipedia.org/wiki/Team_Software_Process" target="_blank">Team Software Process</a>. On the other side of the spectrum we have agile methods that prescribe less up-front analysis and formal documentation, focusing instead on the creation of business value in smaller steps (called iterations). Popular methods for agile software development are <a href="http://en.wikipedia.org/wiki/Extreme_Programming" target="_blank">XP</a> and <a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">Scrum</a>.</p>
<h3>Using risk to balance strengths and weaknesses</h3>
<p>The authors conclude that plan driven methods and agile methods both have their strenghts and weaknesses. As these methods may have complimentory advantages it may be difficult to select the right approach for your project. In most cases they see that projects would benefit from a hybrid between agile and plan-driven, meaning that you should</p>
<blockquote><p>incorporate both agility and discipline in proportion to your project’s needs</p></blockquote>
<p>In the book the authors recommend <strong>using risk to guide our choice</strong> concerning how much we should lean towards agile or plan-driven methods.The key question to answer in finding the right balance is:</p>
<blockquote><p>How much [up-front] planning and architecting is enough?</p></blockquote>
<p>I inserted &#8220;up-front&#8221; into the quote to firmly illustrate that <a href="http://searchsoftwarequality.techtarget.com/news/1314881/The-role-of-architecture-in-agile-development" target="_blank">agile doesn&#8217;t mean no planning and no architecture</a>.  Up-front should be interpreted here as &#8220;before actual development has taken place&#8221;.</p>
<h3>Identified risks</h3>
<p>Identifying the risks that we should take into consideration in order to make a balanced decision between agility and discipline is the next topic of the book. The authors have identified the following risks:</p>
<p><strong>Size</strong> This refers primarily to number of personnel. The number of persons that works on a project very often correlate to the amount of code written. Therefore a related measurement of size is <a href="http://www.webopedia.com/TERM/K/KLOC.html" target="_blank">KLOC</a> (how many thousand lines of code). This is a very rough measurement since one line of code could perform a lot of logic or very little logic, be complex or simple. Despite this shortcoming the KLOC measurement of size have been used in a study that concludes that <a href="http://www.soberit.hut.fi/edser-5/Papers/E15_Using_Risk_to_Balance%20Agility.pdf" target="_blank">large projects can reduce their length by up to 25%</a> by spending more time up-front on architecture, analysis and design.</p>
<p><strong>Criticality</strong> A projects criticality is a measure of the consequences when a project fails. The more that is lost when a project fails, the more critical the project is. Loss of lives are at the top of the scale and loss of comfort at the other end. The authors claim that more critical projects require more up-front planning. </p>
<p>For critical projects I personally think that testing is just as important (if not more important) than up-front analysis, design and planning. The agile way of handling a critical project would be to trust the team to arrive at a good solution, but also to verify that it is correct. Creating the right tests and verifying that these tests are correct does require some time, but in my experience testing is just as important in agile as in plan-driven methods.</p>
<p><i>An aside</i>: I have a small problem with this way to measure criticality since it is negative. Isn&#8217;t a project that makes it possible to earn a lot of money critical? Or a project that makes it possible to save a lot of lives? The risk then becomes losing the opportunity to e.g. save a lot of lives.</p>
<p><strong>Personnel</strong> This factor refers to the skill of the people involved in the project. To measure skill levels the authors use <a href="http://alistair.cockburn.us/" target="_blank">Alistair Cockburn</a>&#8216;s <a href="http://alistair.cockburn.us/Shu+Ha+Ri" target="_blank">Level 1-3</a> (based on the three levels of understanding in Aikido: <a href="http://en.wikipedia.org/wiki/Shuhari" target="_blank">Shu-Ha-Ri</a>). The authors argue that agile development requires more skillful team members than plan-driven methods. An important note here is that skillful team members are necessary in both cases, but that agile requires a higher percentage of the team members to be skilled.</p>
<p><strong>Dynamism</strong> Dynamism refers to the number of changes in a project. If the percentage of requirement changes per month is hight, agile methods should be favored. Such change can come about for several reasons, e.g. that the business persons changes their minds about things, or due to <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.64.6271&amp;rep=rep1&amp;type=pdf" target="_blank">requirements that are emergent rather than specifiable</a>. I think this is a very good way to see it, but please also consider that <a href="http://dustyvolumes.com/archives/605" target="_blank">agile methods often practice a freezing of requirements</a>. So, when you use agile methods you would normally not allow changes to the requirements during an iteration. </p>
<p><strong>Culture</strong> The culture of the company or organization is a very important aspect to consider. In this case the scale goes from thriving on chaos to thriving on order. The order or chaos we are talking about here is weather or not people in your company prefer clear priorities and mandates as opposed to many degrees of freedom to get the job done. The more a company thrives on chaos the more suitable an agile methodology is. I do however think that there is some middle ground here. Getting some degrees of freedom within limits seems to be a popular choice. In that case you do not necessarily need a lot of up-front project-specific planning, but would benefit from understanding strategic consideration and some kind of proactive governance.</p>
<h3>Visualizing your project&#8217;s risk profile</h3>
<p><div id="attachment_207" class="wp-caption alignnone" style="width: 595px"><a href='http://herbjorn.files.wordpress.com/2011/07/balancingagilityanddiscipline.png' target='_blank'><img src="http://herbjorn.files.wordpress.com/2011/07/balancingagilityanddiscipline.jpg?w=600" alt="Balancing Agility and Discipline" title="Balancing Agility and Discipline" /></a><p class="wp-caption-text">Balancing Agility and Discipline (click for a larger image)</p></div><br />
The diagram above (adopted from the book) shows the five scales described above. If you map your project onto this diagram and end up dead center then an agile approach should suit you fine. If you end up only on the opposite end of the scales you would do well to consider plan-driven methods.</p>
<h3>Other possible risks</h3>
<p>I have been thinking about other risks that could provide important input when deciding between agile and plan-driven methods. The risks presented in the book may resonate with a wide audience and many projects, but I believe that can be said about other risks as well. Here is a short list of some other such risks.</p>
<p><strong>People churn</strong> The percentage of people leaving. In some projects or companies people, and therefore knowledge, tend to stick around for ages. In other cases, we know for sure that people will not stick around. A common example of the latter is when your company hires consultants to do the job. More people churn would favor more documentation, meaning that it leans more towards the plan-driven approach. However, <a href="http://martinfowler.com/bliki/SpecificationByExample.html" target="_blank">specification by example</a> has become very popular in agile projects. It is an elegant way to document your system in a way that guarantees that your documentation is up to date.</p>
<p><strong>Time to market</strong> Seriously, all companies want a short time to market &#8211; don&#8217;t they? Well, yes &#8211; but they want short time to market in different ways. In some cases they want the whole project to be completed ASAP, in other cases they may want a part of the project to be delivered early on and the rest at a later point in time. If you know for sure that you want to deliver a part of the project as early as possible an agile methodology may come in more handy.</p>
<p><strong>Interconnectedness</strong> This refers to the number of external systems or APIs that your software must connect to. When it is connected to a lot of other systems you may have a lot of complexity to handle just in interacting with these other systems. Also, this is a sign that multiple teams may be working together in parallell or more likely on different time schedules. This requires a great deal of coordination and is in favor of a more plan-driven approach.</p>
<p><strong>Innovativeness</strong> The more <a href="http://innovationstuff.wordpress.com/2011/09/05/from-invention-to-innovation/" target="_blank">inventive or innovative</a> a project is &#8211; to me this means it is very experimental &#8211; the more important it will be to be able to redo stuff. Planning a lot based on assumptions that may change altogether is not a very good idea. In this case agile development is your best friend. On the other hand, if something has been done multiple times before you may be able to plan in detail what to do &#8211; and you may also be able to stop bothering yourself and your company and just buy some <a href="http://en.wikipedia.org/wiki/Commercial_off-the-shelf" target="_blank">COTS</a> software instead of developing the software by yourself.</p>
<h3>Conclusion</h3>
<p>The kind of risk that you identify can help you determine how agile you should go. Just as important is the fact that the identified risks also can be used as guidance as to what kind of up-front architecture, analysis and planning you need to do. E.g. if you have multiple teams working together – it may be a good idéa to plan for coordinating the teams so that they can work relatively independently from one another.  If you interact with several different external APIs you may need to plan for and test those interactions some more.</p>
<p>This way of working also supports another important principle: It is way better to build your method up than to tailor it down from a huge method monster. When you do so you can combine aspects from agile as well as from plan-driven methods. These things are also discussed in the same book.</p>
<h3>About handling risks</h3>
<p>Making all decisions at the time when ignorance is at it&#8217;s peak (at the start of the project) doesn&#8217;t seem like a good idea as it can add a tremendous amount of risk. On the other hand, refusing to make decisions early on when you actually do have some information to act on can also add a lot of risk. Ideally we would make all decisions with perfect timing; when we know a lot and have enough time to avoid trouble or take advantage of opportunities. We all know that this is very difficult and sometimes even impossible. A lot of the risks out there are unknown, the worst of those are called <a href="http://en.wikipedia.org/wiki/There_are_known_knowns" target="_blank">unknown unknowns</a> &#8211; things we don&#8217;t even know that we don&#8217;t know about.</p>
<p>A very good risk handling technique is to reassess, that is improving your guess using whatever you have learned since you made your last guess. If you want to try this risk handling technique one key to success is to reduce the amount of work necessary in order to reassess. The more work you have done when you want to change things, the more work you have to do to actually get the change done.</p>
<p>When it comes to handling unknown unknowns agile shines!</p>
<br />Filed under: <a href='http://herbjorn.wordpress.com/category/agile/'>Agile</a> Tagged: <a href='http://herbjorn.wordpress.com/tag/agile-2/'>agile</a>, <a href='http://herbjorn.wordpress.com/tag/plan-driven/'>plan-driven</a>, <a href='http://herbjorn.wordpress.com/tag/risk/'>Risk</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbjorn.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbjorn.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbjorn.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbjorn.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbjorn.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbjorn.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbjorn.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbjorn.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbjorn.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbjorn.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbjorn.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbjorn.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbjorn.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbjorn.wordpress.com/686/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=686&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbjorn.wordpress.com/2011/09/09/when-to-agile-and-how-much-to-agile-that-is-the-question/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<georss:point>59.332788 18.064488</georss:point>
		<geo:lat>59.332788</geo:lat>
		<geo:long>18.064488</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5c472cb53d99835ac04423891c2cae5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">herbjorn</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2011/05/infinite_risksoft_so.jpg" medium="image">
			<media:title type="html">Infinite risk</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2011/07/balancingagilityanddiscipline.jpg" medium="image">
			<media:title type="html">Balancing Agility and Discipline</media:title>
		</media:content>
	</item>
		<item>
		<title>Thinking Digital 2011 &#8211; the blog post</title>
		<link>http://herbjorn.wordpress.com/2011/05/27/thinking-digital-2011-the-blog-post/</link>
		<comments>http://herbjorn.wordpress.com/2011/05/27/thinking-digital-2011-the-blog-post/#comments</comments>
		<pubDate>Fri, 27 May 2011 18:23:18 +0000</pubDate>
		<dc:creator>Herbjörn Wilhelmsen</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Health]]></category>
		<category><![CDATA[Innovation]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[tdc11]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://herbjorn.wordpress.com/?p=732</guid>
		<description><![CDATA[Thinking Digital Conference is a wonderful mix of innovation, technology and great thinkers. The 2011 edition of the conference even caught the attention of The Guardian that wrote several articles about it. In this post I want to share some of the impressions that stuck with me after joining the conference and spending a little [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=732&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://herbjorn.files.wordpress.com/2011/05/tdc11_585.jpg?w=600" alt="" /></p>
<p><a href="http://www.thinkingdigital.co.uk/" target="_blank">Thinking Digital Conference</a> is a wonderful mix of innovation, technology and great thinkers. The 2011 edition of the conference even caught the attention of The Guardian that wrote <a href="http://www.guardian.co.uk/uk/the-northerner/2011/may/24/thinking-digital-conference-gateshead" target="_blank">several</a> <a href="http://www.guardian.co.uk/uk/the-northerner/2011/may/25/thinking-digital-conference-gateshead-speakers" target="_blank">articles</a> about it. In this post I want to share some of the impressions that stuck with me after joining the conference and spending a little more than two days in the beautiful <a href="http://www.newcastlegateshead.com/" target="_blank">Newcastle Gateshead</a> in the UK.<br />
<span id="more-732"></span></p>
<h3>Day 1</h3>
<p>&nbsp;</p>
<h4>The Future of Media</h4>
<p><a href="http://twitter.com/#!/gleonhard" target="_blank">Gerd Leonhard</a> was the first speaker on the first day and he started by discussing how <strong>fast information flows</strong>. Breaking <a href="http://www.guideto.com/technology-news/social-media/breaking-news-comes-fast-on-twitter.html" target="_blank">news can be found on twitter</a> long before it is found on other more traditional media. From time to time it even gets out <a href="http://lastnightapp.com/" target="_blank">a little too fast</a>. The number of connected devices is expected to grow to around 50 billion around the year 2020. There is also a <a href="http://www.techwatch.co.uk/2008/03/13/sharp-increase-in-the-amount-of-data-in-the-digital-universe/" target="_blank">sharp increase in the amount of data</a> that is produced, a trend seems to go on year by year. Considering these things the future will not be a fight for distribution, but rather a <strong>fight for attention</strong>. These forces will bring about changes in many ways, such as in the quality of ads. They will need to become better, so good that the <strong>ads themselves are percieved as high quality content</strong>. Another way to survive in the future is to think differently about who should pay for what. TDC broadband was presented as a very <a href="http://www.musically.com/musicinsider/" target="_blank">successful example</a> of changing who pays. They developed TDC PLAY and offered free music to their customers. This contributed to an unprecedented <strong>50% reduction in churn</strong> for TDC broadband customers.</p>
<p>About 30 seconds after <a href="http://twitter.com/#!/walterdebrouwer" target="_blank">Walter de Brouwer</a> stepped on-stage I kew he was a true <strong>health geek</strong>. According to him the do it yourself healthcare movement is unstoppable. The public healthcare system is bypassed over and over again, simply because health is worth investing in. He observed that medical records consist of punctuated data with huge voids in between since we tend to measure health only when people are sick or dying. A number of cool devices exist to capture more information, and some people capture a lot of information (a health focused version of <a href="http://trendwatching.com/trends/LIFE_CACHING.htm" target="_blank">life caching</a>). Using this information we are able to learn about what things that affect our health and act accordingly. Taking a pill is easier but what we really need is to <strong>change our behavior</strong>, so maybe the doctors of the future will prescribe apps instead of pills.</p>
<p>Walter continued by pointing out some important things for the health information industry. <strong>Health and privacy</strong> does not go hand in hand since private data cannot be used in research or other ways of learning. To improve knowledge of health he suggests we should share health-related information. Not only anonymously, but perhaps openly between friends. That way we could find answers to why some of our friends are feeling so good. Do they sleep more, exercise better or eat less? Another important aspect is that all this <strong>health related information must be simplified</strong> and presented in a way that is easy to understand. In Walters words “Health will become a number”. Also, <strong>gathering all this information must become easier</strong>. This could be achieved by incorporating sensors in everyday objects such as toothbrushes and clothes. His future vision for health is something similar to <a href="http://en.wikipedia.org/wiki/OnStar" target="_blank">OnStar</a> for humans. Constant monitoring in combination with convenient suggestions for measures should be able to improve health for any of us.</p>
<h4>Thinking Digital</h4>
<p><a href="http://twitter.com/#!/bobby_paterson" target="_blank">Bobby Paterson</a> did a good job presenting <a href="http://happie.st/">Happiest</a> – a social motivation network that facilitates happiness by focusing on 7 healthy habits: Gratitude, Eat healthy, Wisdom, Get active, Meditation, Mantras and keeping a happiness Journal. According to <a href="http://twitter.com/#!/herbkim" target="_blank">Herb Kim</a> they’re kind of like TripAdvisor for happiness. In his talk Bobby referred to <a href="http://twitter.com/#!/ChipConley" target="_blank">Chip Conley</a>s TED talk <a href="http://www.ted.com/talks/lang/eng/chip_conley_measuring_what_makes_life_worthwhile.html" target="_blank">Measuring what makes life worthwhile</a> where he talks about <a href="http://en.wikipedia.org/wiki/Gross_domestic_product" target="_blank">GDP</a> versus <a href="http://en.wikipedia.org/wiki/Gross_national_happiness" target="_blank">GNH</a> . If we can find out <strong>what makes us happy</strong> that information can be useful to ourselves as well as others. He also thinks that businesses can evolve themselves a lot if they are mindful of their <strong>happiness footprint</strong>.</p>
<p><a href="http://twitter.com/#!/emckean" target="_blank">Erin McKean</a> is an american <a href="http://en.wikipedia.org/wiki/Lexicographer" target="_blank">lexicographer</a> meaning that she is very much into words. Her word of the day was <a href="http://www.wordnik.com/words/skeuomorph" target="_blank">skeuomorph</a> and she set that in context by discussing how design features that were important in the physical world sometimes are pointless or even counter-effective in the digital world. The <a href="http://www.wordnik.com/" target="_blank">wordnik</a> site that is ”a place for all words” had to find new solutions to the fact that dicitionaries took a long time to develop. The main problem was that there were too few lexicographers. Their solution to the problem came about when they took a look at <strong>how people understand words</strong>. A definition doesn’t help us as much as <a href="http://thinkexist.com/quotation/example_isn-t_another_way_to_teach-it_is_the_only/327436.html" target="_blank">a good example</a> and understanding how a word relates to other words does. So, at wordnik anybody can help build the dictionary by providing such things. To make this possible they had to develop data storages that could hold a lot of relations between words. This has become a huge <a href="http://www.wordnik.com/words/wordograph" target="_blank">wordograph</a> with a humongous number of words and connections between words. After a while they realized that this meant that wordnik had become something else than what they set out to create – <strong>a meaning discovery engine</strong>. It can answer a variety of text based questions.<!-- and Erin even provided an example where the engine discovered who actually said something the first time around- it wasn’t MLK [NEED A REFERENCE LINK].--> Today they look into commercializing this so that companies can answer questions that their clients have using information from their own websites.</p>
<p><a href="http://twitter.com/#!/conradwolfram" target="_blank">Conrad Wolfram</a> talked about how we can deal with <strong>information overload</strong> and where computation meets knowledge. Conrad stresses that we do not need search, but instead <strong>a good way to provide answers</strong>. In his own words <strong>computational knowledge is worth much more than dead information</strong>. He also feels that this should be the case in the public sector, research &amp; development and the corporate world. He provided samples like financial reporting, natural disasters and even natural language searches where the <strong>user can modify guesses and preferences and immediately see the effects of those changes</strong>. To get to this new level of knowledge we need access to <a href="http://www.wolframalpha.com/" target="_blank">the right tools</a> and <strong>better education</strong>. He feels that the math education should focus less on calculus and more on the application of math. In 2010 he delivered <a href="http://www.ted.com/talks/conrad_wolfram_teaching_kids_real_math_with_computers.html" target="_blank">an excellent TED talk</a> on that very topic.</p>
<h4>Mind over matter</h4>
<div class="wp-caption alignright" style="width: 244px"><img style="margin:5px;" title="A mobile manspace" src="http://herbjorn.files.wordpress.com/2011/05/mobile_manspace1.jpg?w=234&#038;h=330" alt="A mobile manspace" width="234" height="330" /><p class="wp-caption-text">A mobile manspace</p></div>
<p><a href="http://twitter.com/#!/sammartintweets" target="_blank">Sam Martin</a> delivered an entertaining talk about <a href="http://designmind.frogdesign.com/videos/on-stage/the-quirky-world-of-manspaces.html" target="_blank">Manspaces</a>. It quickly lead to an intense twitterburst and a comment saying that <a href="http://twitter.com/#!/yaffa/status/73396460363857920" target="_blank">manspace should be interpreted the same way mankind is</a>. Manspaces can take various different, and sometimes very surprising, forms although most of them are rooms or small buildings. Manspaces is all about getting away from things in order to wind down and relax.</p>
<h4>Resonance</h4>
<p><a href="http://twitter.com/#!/ewanmcintosh" target="_blank">Ewan McIntosh</a> had an interesting story to tell about how he worked with the Scottish National Party during their <a href="http://www.eastkilbridenews.co.uk/lanarkshire-news/local-news-lanarkshire/local-news-east-kilbride/2011/05/11/snp-celebrate-historic-win-in-east-kilbride-68653-28669349/" target="_blank">historic win of this year’s election</a>. He stressed that he isn’t politically active, but just likes to win. He told us a story about how they were able to <a href="http://en.wikipedia.org/wiki/Crowdsourcing" target="_blank">crowdsource</a> politics by using an online driven strategy. To succeed in this campaign they needed a <strong>strategy</strong> (e.g. to always be positive online), a <strong>clear message</strong> (e.g. to always deliver the same message) and learn how to <strong>listen</strong> (using social media). They spread good information and was able to find out who were for, against or unsure about specific and important political resolutions. The whole <strong>reason for the online effort was to make people do offline activities</strong> like discussing with people and of course voting. Ewan feels that they have changed how politicians in Scotland are listening to people.</p>
<p><a href="http://twitter.com/#!/heatherknight" target="_blank">Heather Knight</a> did an inspiring presentation on <strong>robotics</strong>. Actually, she let her robot <a href="http://twitter.com/#!/robotinthewild" target="_blank">Data</a> help her with part of her presentation – which he delivered in great style! Heather is interested in using robotics to help us communicate better with computers, and suggests that <strong>we should replace computers – not humans – with robots</strong>. Data even danced for us – or was it for Heather? Anyways, his dance was a much appreciated part of the conference that you too can see below.</p>
<p><object width="600" height="363"><param name="movie" value="http://www.youtube.com/v/Ry-r_EGp1vU?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Ry-r_EGp1vU?version=3" type="application/x-shockwave-flash" width="600" height="363" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>Day 2</h3>
<p>&nbsp;</p>
<h4>The Medium is the Message</h4>
<p><a href="http://www.bbc.co.uk/blogs/bbcinternet/matthew_postgate/" target="_blank">Matthew Postgate</a> talked about <strong>broadcasting in the information age</strong>. Obviously broadcasting has to evolve as the information age evolves. Matthew provided two interesting experiments initiatives coming from BBC. One of these initiatives was synchronizing interactive media with traditional TV programmes. The other was to me slightly more innovative and called <a href="http://www.maggiephilbin.com/tag/surround-vision/" target="_blank">sorround vision</a>. Using special cameras they are able to project the surroundings of a (kind of) normal recording on the walls around the TV.</p>
<p><a href="http://twitter.com/#!/casparberry" target="_blank">Caspar Berry</a> delivered a very animated talk on <strong>uncertainty and risk</strong> in poker, business and life. He started off the presentation by explaining exactly how his presentation would end since on a previous occasion somebody had complained that they felt a bit uncertain as to where his presentation would go. A funny move from a man that knows very well that uncertainty is a part of our lives &#8211; whether we like it or not. The worst kind of uncertainties are <strong>the unknowns that are unknown</strong>, that is the things we don’t even know that we don’t know. Takes a minute or two to find out what that is, doesn&#8217;t it? He drew our attention to semingly unimportant details such as a small piece of metal lying on the runway when <a href="http://en.wikipedia.org/wiki/Concorde" target="_blank">Concorde Flight 4590</a> was to take off, or exactly when (the exact second) our parents, grand-parents or grand-grand parents mated. Plane crashes and our very own existence is affected tremendously by details that we cannot control or even set in relation to important events – at least not before the events occur. This is hard to accept for mankind, since studies have shown that <strong>we need control</strong>. If we feel that we are out of control there may be <a href="http://www.ncbi.nlm.nih.gov/pubmed/2246102" target="_blank">serious impact on our health</a>. Caspar illustrated this by telling us about several experiments involving electric shocks and taking away persons possibilities to affect their living conditions. Surprisingly, experiments with electric shocks distributed at random have been repeated on numerous occasions but the other experiment will probably not be repeated at all. The persons that were unable to affect their living died much earlier than the control groups. This need of being in control leads to a lot of behaviors, including that of trying to <a href="http://urbantitan.com/10-most-stupid-predictions-and-statemants-in-history/" target="_blank">predict the future</a>. Caspar recommends instead that we embrace uncertainties and <strong>adopt a language that acknowledges uncertainties</strong>. He ended his talk by stating that <strong>“it is only because tomorrow is uncertain, that today has any meaning for us at all&#8221;</strong> – if everything is certain there is no point in doing anything.</p>
<h4>From data to wisdom</h4>
<p><a href="http://twitter.com/#!/MassiveBlackInc" target="_blank">Chris Hatala</a> and <a href="http://twitter.com/#!/wesburt" target="_blank">Wesley Burt</a> from <a href="http://www.massiveblack.com/" target="_blank">Massive Black</a> made an impressive <strong>live demonstration creating original artwork and an animation</strong> on stage. We were also shown how a few interesting scenes of Lord of the ring, e.g. when <a href="http://www.youtube.com/watch?v=pA0ffVBw584" target="_blank">Shelob wrapped Frodo</a> (about 1:10 into the clip), came to life by the use of prototyping.</p>
<p><a href="http://twitter.com/#!/eattodefeat" target="_blank">Dr. Vincent Li</a> works on what could very well become <strong>a medical revolution</strong>. Normally our blood vessels grow very much when we are in the womb. Apart from that blood vessels grow during menstruation, pregnancy and when wounds are healing. Recent research shows that <strong>we need a good balance in how the vessels grow</strong>. A balance between growth and pruning. If that balance is upset it can lead to a variety of diseases. The only thing these diseases seem to have in common is their link to the growth of blood vessels – a.k.a. <a href="http://en.wikipedia.org/wiki/Angiogenesis" target="_blank">Angiogenesis</a>. This knowledge has amongst other things led to <strong>new forms of cancer treatment</strong>. The theory behind it is that cutting off the blood supply to a tumor kills it. Since the blood vessels in the tumor is different from those in healthy tissue some drugs that are targeted to prune these blood vessels have been created, and in practice some amazing results have been shown. However, Vincent and many others with him would like to see better results. One big problem that greatly reduces the results is that <strong>cancer often is diagnosed in a late stage</strong>, remember Walters talk? Other interesting things have also been discovered about the drugs that affect angiogenesis. The active substances of the drugs can be found in our food, and experiments shows that <strong>combinations of substances can radically change their effect</strong>. So, it is entirely possible that foods can be more effective than drugs. This new knowledge has led to a new insight; <strong>Prevention of disease may be possible by eating the right foods</strong>. Green tea, dark chocolate and tomatoes are foods with specific effects that are being catalogued. Even the way foods are cooked may matter. An example is that tomatoes that have simmered in olive oil have a much better effect than raw or cooked tomatoes alone. It is in other words possible to eat to starve cancer in its infancy! Obesity is also a disease that is liked to angiogenesis. It is therefore <strong>possible to add, rather than to remove, foods to prevent obesity</strong>. There is a great and expanding catalogue of information around this topic to be found at <a href="http://eattodefeat.org/" target="_blank">eattodefeat.org</a>, a site that is maintained by <a href="http://www.angio.org/" target="_blank">The Angionesis Foundation</a>, a truly applaudable initiative! Vincents brother William did a <a href="http://www.ted.com/talks/william_li.html" target="_blank">similar talk on TED</a> a while ago.</p>
<p><a href="http://twitter.com/#!/blprnt" target="_blank">Jer Thorphe</a> calls himself a digital artist and has worked a lot with <strong>data visualizations</strong>. In his talk he showed a <strong>graphical representation of twitter discussions</strong> concerning New York Times articles. These discussion threads are so complex and contain so much information that <a href="http://blog.blprnt.com/blog/blprnt/new-york-times-visualizations" target="_blank">that graphical representation</a> is necessary for humans to be able to analyze them. Using his tool he was able to pinpoint the tweets that lead to bursts in the conversations. He then went on to talk about Twin Tower Memorial. He was assigned with the task of devising an algorithm that took into account the relations between the victims of the 9-11 attack and then laid out the names in a suitable way. Names were carved into plates so that related names were close and all the names had a good position on the bars. Since there are a lot of aesthetics and judgment calls to be made in this kind of work, Jer developed an algorithm that delivered computer aided design instead of letting the computer do all the work. This project was only recently made public and you can <a href="http://www.newyorker.com/talk/2011/05/16/110516ta_talk_paumgarten" target="_blank">read more about it</a> in the New Yorker.</p>
<h4>Cognitive surplus</h4>
<p><a href="http://twitter.com/#!/TanTTLe" target="_blank">Tan Le</a> is without any doubt a world leader in the field of <strong>human-computer interfaces</strong>. Her team was faced with the task of finding an <strong>unobtrusive way of reading peoples mind</strong>, or rather reacting to different states in the brain. They considered several alternatives before settling for <a href="http://en.wikipedia.org/wiki/Electroencephalography" target="_blank">EEG</a>. Although EEG was a promising technology the technical equipment that was available at the time was both expensive and difficult to operate. On top of that the resulting measurements were difficult to interpret correctly. After a period of intense research in the fields of hardware and software they have found a good solution. The have an open source headset with an accompanying software API Using this multiple companies have started to develop <a href="http://www.youtube.com/results?search_query=emotiv&amp;aq=f" target="_blank">applications</a> that Tan couldn’t have envisioned all by herself. There are games available where the gamer is empowered with <strong>telekinetic abilities</strong> but also applications for <strong>controlling wheelchairs</strong>. In fact there are already a number of products in the making in multiple fields. Tan even did a demonstration together with a <a href="http://www.internetsubtitling.com/index.php?option=com_easyblog&amp;view=entry&amp;id=15" target="_blank">brave guy</a> from the audience that was fitted with the Emotiv Epoc headset. In just a short time he was able to use only his mind – hmm and the headset – to move a cube on the screen. Certainly interesting and inspiring. Around this time someone with a <a href="http://twitter.com/#!/timcraft/status/73769843903561728" target="_blank">brain on hyperdrive</a> tweeted that it would be cool to live in a world where we had <strong>robots like the one from Heather that used Wolfram Alpha to solve problems and that we could control by using the emotiv headset</strong>. To me that qualifies as a true vision, but maybe not a true <em>prediction</em>, for the future!</p>
<h3>Aftermath</h3>
<p>The conference was great, my compliments to the organizers, speakers and the talkative delegates. All these ideas and information will take some time to process. But I&#8217;m sure I will get a second crop out of it (apart from the nice experience of being here). It was definitely worth <a href="http://www.bbc.co.uk/news/uk-england-13516920" target="_blank">travelling through the ashes</a> to get here. (But I do hope I’ll get back home…)<br />
<a name="new_cooperation" /><br />
<div class="wp-caption alignnone" style="width: 595px"><img title="Panorama of river Tyne" src="http://herbjorn.files.wordpress.com/2011/05/tyne_panorama_585.jpg?w=585&#038;h=201" alt="Panorama of river Tyne" width="585" height="201" /><p class="wp-caption-text">See the panorama of <a href='http://photosynth.net/view.aspx?cid=6c887787-ce93-4cc7-b8f7-95c003b94319&amp;m=false&amp;i=0:0:0&amp;c=0:0:0&amp;z=586.440401468593&amp;d=-1.587433853209:-0.118477729471399:-0.116148576610731&amp;p=0:0&amp;t=False' target='_blank'>river Tyne in 3D @ Photosynth</a></p></div></p>
<p><font color="gray">[update 2011-05-29]</font></p>
<h3>Eat to Defeat and WolframAlpha &#8211; a fruitful cooperation?</h3>
<p>I just had an idéa. How about letting the <a href="http://www.wolframalpha.com/about.html" target="_blank">WolframAlpha team</a> work with the <a href="http://www.angio.org/" target="_blank">Angiogenesis Foundation</a> to make the datasets of <a href="http://www.eattodefeat.org/" target="_blank">Eat to Defeat</a> computable? Wouldn&#8217;t it be great to be able to learn about suitable foods using age, gender, height, weight and perhaps symptoms, problems, diagnoses (e.g. allergies) as input? Apart from a list of suitable foods suitable combinations of foods and even recipes (plus things that I cannot imagine right now) could be presented in the results. I would certainly like to be able to do that! </p>
<br />Filed under: <a href='http://herbjorn.wordpress.com/category/events/'>Events</a> Tagged: <a href='http://herbjorn.wordpress.com/tag/events/'>Events</a>, <a href='http://herbjorn.wordpress.com/tag/health/'>Health</a>, <a href='http://herbjorn.wordpress.com/tag/innovation/'>Innovation</a>, <a href='http://herbjorn.wordpress.com/tag/risk/'>Risk</a>, <a href='http://herbjorn.wordpress.com/tag/tdc11/'>tdc11</a>, <a href='http://herbjorn.wordpress.com/tag/technology/'>Technology</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbjorn.wordpress.com/732/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbjorn.wordpress.com/732/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbjorn.wordpress.com/732/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbjorn.wordpress.com/732/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbjorn.wordpress.com/732/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbjorn.wordpress.com/732/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbjorn.wordpress.com/732/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbjorn.wordpress.com/732/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbjorn.wordpress.com/732/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbjorn.wordpress.com/732/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbjorn.wordpress.com/732/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbjorn.wordpress.com/732/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbjorn.wordpress.com/732/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbjorn.wordpress.com/732/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=732&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbjorn.wordpress.com/2011/05/27/thinking-digital-2011-the-blog-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>54.977870 -1.612370</georss:point>
		<geo:lat>54.977870</geo:lat>
		<geo:long>-1.612370</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5c472cb53d99835ac04423891c2cae5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">herbjorn</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2011/05/tdc11_585.jpg" medium="image" />

		<media:content url="http://herbjorn.files.wordpress.com/2011/05/mobile_manspace1.jpg" medium="image">
			<media:title type="html">A mobile manspace</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2011/05/tyne_panorama_585.jpg" medium="image">
			<media:title type="html">Panorama of river Tyne</media:title>
		</media:content>
	</item>
		<item>
		<title>Powerful metaphors for software development</title>
		<link>http://herbjorn.wordpress.com/2011/02/04/powerful-metaphors-for-software-development/</link>
		<comments>http://herbjorn.wordpress.com/2011/02/04/powerful-metaphors-for-software-development/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 08:06:35 +0000</pubDate>
		<dc:creator>Herbjörn Wilhelmsen</dc:creator>
				<category><![CDATA[Software philosophy]]></category>
		<category><![CDATA[metaphor]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://herbjorn.wordpress.com/?p=173</guid>
		<description><![CDATA[A metaphor is an analogy between ideas. We use metaphors to explain or understand something in terms of something else. Some metaphors are implied by everyday phrases, e.g. &#8220;the foot of the mountain&#8221;, &#8220;raining cats and dogs&#8221; and &#8220;time runs fast&#8221;. The latter one is particularly interesting. Time is a concept that can be hard [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=173&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_207" class="wp-caption alignnone" style="width: 595px"><img class="size-full wp-image-207" title="Life is a journey" src="http://herbjorn.files.wordpress.com/2010/05/journey.jpg?w=600" alt="Life is a journey"   /><p class="wp-caption-text">Photo by <a href='http://www.flickr.com/photos/7298460@N03/' target='_blank'>Saguaro Pictures</a></p></div>
<p>A <a href="http://en.wikipedia.org/wiki/Metaphor" target="_blank">metaphor</a> is an analogy between ideas. We use metaphors to explain or understand something in terms of something else. Some metaphors are implied by everyday phrases, e.g. &#8220;the foot of the mountain&#8221;, &#8220;raining cats and dogs&#8221; and &#8220;time runs fast&#8221;. The latter one is particularly interesting. Time is a concept that can be hard to grasp, at least compared to mountains and rain. The expression &#8220;time runs fast&#8221; implies that we think of time as physical movement or a journey. This will make us think of not only time but our lives as a journey.</p>
<p>The tendency for us to think in terms of metaphors is so widespread that <a href="http://en.wikipedia.org/wiki/Jonathan_Haidt" target="_blank">Jonathan Haidt</a>, a professor of psychology at the University of Virginia, claims in <a href="http://www.happinesshypothesis.com/" target="_blank">The Happiness Hypothesis: Finding Modern Truth in Ancient Wisdom</a> that humans need metaphors:</p>
<blockquote><p>Human thinking depends on metaphor. We understand new or complex things in relation to things we already know.</p></blockquote>
<p><a href="http://www.imaginiz.com/professional.html" target="_blank">Gareth Morgan</a>, a research professor that specializes in management thinking and works at York University in Toronto, puts it slightly differently in his book <a href="http://www.siliconyogi.com/andreas/it_professional/sol/complexsystems/ImagesofOrganizationbyGarethMorgan.html" target="_blank">Images of organizations</a>:</p>
<blockquote><p>all theory is metaphor</p></blockquote>
<p>On the very same page of that book Gareth Morgan goes on to state a very important fact:</p>
<blockquote><p>Metaphor stretches imagination in a way that can create powerful insights, but at the risk of distortion</p></blockquote>
<p>Although metaphors can help us gain new insight, all metaphors are incomplete, biased and skewed. A metaphor helps us see certain things, but makes us blind to other things. Gareth&#8217;s advice is to use a number of metaphors collectively so that the different metaphors can complement each other. Allowing multiple metaphors to complement each other may not be an easy task but according to Gareth it is well worth our time.</p>
<p>So what metaphors can we find that are relevant for software development? I have gathered some of my favorite metaphors in this post. They complement each other in that they see the same phenomenon (software development of course) with very different eyes (remember that&#8217;s where the <a href="http://www.phrases.org.uk/meanings/59100.html" target="_blank">beauty</a> is). Armed with these metaphors we can understand and focus on multiple different and important aspects of software development.</p>
<p><span id="more-173"></span></p>
<h3>Building airplanes in the sky</h3>
<p>This metaphor adds the insight that when we create software for a business that is up and running we cannot disturb their current business. We have to create and introduce software in such a way that we do not stop or disturb important business activities. This can add a lot of new considerations and therefore make our jobs more complicated. Being aware of this added complexity is a good thing. EDS made a commercial a few years back that illustrates this metaphor. The film is brilliant and only takes a minute to watch. Enjoy!<br />
<br />
<span style="text-align:center; display: block;"><a href="http://herbjorn.wordpress.com/2011/02/04/powerful-metaphors-for-software-development/"><img src="http://img.youtube.com/vi/L2zqTYgcpfg/2.jpg" alt="" /></a></span><br />
<br />
<h3>Herding cats</h3>
<p><a href="http://en.wikipedia.org/wiki/Herding_cats" target="_blank">Herding cats</a> is a figure of speech that is used to convey that a task is extremely difficult. We have an image of cats as being individualists that doesn&#8217;t cooperate very well. To bring cats together in a herd is therefore a very challenging task. In some respects creating software is similar to herding cats. Bringing a group of diverse stakeholders together and make them agree upon things can also be a daunting task. Making ideas, information and technology work well together is perhaps easier, but still a challenge. Awareness of these kinds of problems can help us prepare for the tasks and realize that we need to handle that kind of problems in order to create successful software. Again, EDS has made a very entertaining and illustrative commercial about herding cats that I really recommend viewing.<br />
<br />
<span style="text-align:center; display: block;"><a href="http://herbjorn.wordpress.com/2011/02/04/powerful-metaphors-for-software-development/"><img src="http://img.youtube.com/vi/m_MaJDK3VNE/2.jpg" alt="" /></a></span><br />
<br />
<h3>Running of the squirrels</h3>
<p>The running of the squirrels is yet another idea signed EDS. This time the point is that for most companies the <a href="http://en.wikipedia.org/wiki/Running_of_the_Bulls" target="_blank">running of the bulls</a> &#8211; that is avoiding the big and strong competitors &#8211; is not the biggest issue. Instead you need to worry about handling squirrels &#8211; the small, fast and nimble competitors. To do this we need software that is easy to change and adapt to new business requirements. Another one-minute commercial illustrates this.<br />
<br />
<span style="text-align:center; display: block;"><a href="http://herbjorn.wordpress.com/2011/02/04/powerful-metaphors-for-software-development/"><img src="http://img.youtube.com/vi/X_SXL-LFvw4/2.jpg" alt="" /></a></span><br />
<br />
<h3>Technical debt</h3>
<p>The <a href="http://martinfowler.com/bliki/TechnicalDebt.html" target="_blank">Technical Debt</a> metaphor was coined by <a href="http://sv.wikipedia.org/wiki/Ward_Cunningham" target="_blank">Ward Cunningham</a> and is a financial analogy. Borrowing money is a quick way to get hold of new funds and indirectly other resources. As most of us know, when you have borrowed money you need to repay that money at a later time. You should also be prepared to pay interest rate. If you just keep borrowing money you will eventually have to pay so much interest rate that paying interest rates is all that you can afford.  If you throw some software out there, quick and dirty, again and again, you will eventually end up in a situation where the code becomes impossible to work with unless you clean it up. The quick and dirty approach is analogous to borrowing money and you now have a sizeable technical debt. With such a debt on your hands you will be terrified to add new features to your code (since you do not really understand it), furthermore you will most likely have to spend a lot of time on fixing defects (a.k.a. <a href="http://en.wikipedia.org/wiki/Software_bug" target="_blank">bugs</a>) to prevent your software from malfunctioning. The software development analogue to repayment is <a href="http://en.wikipedia.org/wiki/Code_refactoring" target="_blank">refactoring</a>. By rewriting and cleaning up your code you make repayments so that you eventually can understand the code and work effectively with it again. In this interview Ward Cunningham explains by himself how he developed this particular metaphor.<br />
<br />
<span style="text-align:center; display: block;"><a href="http://herbjorn.wordpress.com/2011/02/04/powerful-metaphors-for-software-development/"><img src="http://img.youtube.com/vi/pqeJFYwnkjE/2.jpg" alt="" /></a></span><br />
<br />
<h3>A collaborative game</h3>
<p><a href="http://alistair.cockburn.us/" target="_blank">Alistair Cockburn</a> came up with the idéa that software development is <a href="http://alistair.cockburn.us/Software+development+as+a+cooperative+game" target="_blank">a cooperative game</a>. In this analogy a game is to be thought of as <a href="http://www.yourdictionary.com/game" target="_blank">&#8220;An activity providing entertainment or amusement&#8221;</a> so that the competition aspects of games are reduced &#8211; but not eliminated completely. The team developing a piece of software can still be competing against other teams that develop similar software. The game is goal seeking (finishing the software) and therefore has a natural end. However, the joy of developing software is not reduced to reaching the goal. Much of the joy comes from the process of developing the software, much like rock-climbers enjoy the climb &#8211; not only reaching the peak. Also, the goal of finishing the software is a secondary goal. Secondary to things like gaining knowledge, growing the company, increasing ones influence and creating a career. Another secondary goal of the game is to create an advantageous position for the next game that consists of altering the system or creating a neighboring system. This is done by learning about the current system and creating markers or reminders of what was learned. <a href="http://www.codinghorror.com/blog/" target="_blank">Jeff Atwood</a> concludes that  <a href="http://www.codinghorror.com/blog/2007/03/software-development-as-a-collaborative-game.html" target="_blank">the secret</a> is:</p>
<blockquote><p>learning how to play the game so that everyone is having fun</p></blockquote>
<h3>Design</h3>
<p>The <a href="http://en.wikipedia.org/wiki/Design" target="_blank">design</a> field is described as focusing on producing specifications that can be used to build products that are intended to accomplish certain goals under certain restrictions. This metaphor emphasizes that the process of software development is the cultivation of detailed specifications or instructions that can then be used to <a href="http://www.developerdotstar.com/mag/articles/PDF/DevDotStar_Reeves_CodeAsDesign.pdf" target="_blank">build programs</a>. In both product and <a href="http://en.wikipedia.org/wiki/Software_design" target="_blank">software design</a> it is important that the end product is functional and that the product is easy to use and maintain. In both disciplines it is highly recommended to use proven design concepts and base the designs on the work of others. A great example of the success of this metaphor is the popularity of <a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)" target="_blank">software design patterns</a>.</p>
<p>
If I missed out on your favorite software development metaphor then please comment on this post and I will update it accordingly.</p>
<p><font color="gray">[update 2011-04-20]</font></p>
<h3>Gardening</h3>
<p><a href="http://andy.pragprog.com/" target="_blank">Andrew Hunt</a> and <a href="http://pragdave.pragprog.com/" target="_blank">David Thomas</a> put forward the idea that programming is similar to gardening in their book <a href="http://www.pragprog.com/the-pragmatic-programmer" target="_blank">The Pragmatic Programmer</a>. They argue that engineering and construction is very orderly but also unrealistic, and therefore not very much like software development. In gardening you would instead expect a lot of less orderly things to happen, e.g. a plant gets too big or dies, actual colors of the plants doesn’t mix well and due to its organic nature a garden needs constant maintenance or tending. In <a href="http://today.java.net/pub/a/today/2004/02/23/davenandy2.html" target="_blank">an interesting interview</a> Andy Hunt says that</p>
<blockquote><p>You do plan. … You&#8217;ve got a great plan, a whole design. … [but the] garden doesn&#8217;t quite come up the way you drew the picture.</p></blockquote>
<p>This metaphor can make us see software development as something that is not as neat as our orderly plans, and be prepared to constantly work on improving the resulting software. <a href="http://en.wikipedia.org/wiki/How_Buildings_Learn" target="_blank">Unlike most buildings</a>, a software program can be changed and molded quite a bit after its initial delivery.</p>
<br />Filed under: <a href='http://herbjorn.wordpress.com/category/software-philosophy/'>Software philosophy</a> Tagged: <a href='http://herbjorn.wordpress.com/tag/metaphor/'>metaphor</a>, <a href='http://herbjorn.wordpress.com/tag/software-development/'>software development</a>, <a href='http://herbjorn.wordpress.com/tag/software-philosophy/'>Software philosophy</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbjorn.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbjorn.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbjorn.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbjorn.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbjorn.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbjorn.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbjorn.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbjorn.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbjorn.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbjorn.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbjorn.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbjorn.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbjorn.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbjorn.wordpress.com/173/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=173&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbjorn.wordpress.com/2011/02/04/powerful-metaphors-for-software-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>59.332788 18.064488</georss:point>
		<geo:lat>59.332788</geo:lat>
		<geo:long>18.064488</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5c472cb53d99835ac04423891c2cae5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">herbjorn</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2010/05/journey.jpg" medium="image">
			<media:title type="html">Life is a journey</media:title>
		</media:content>
	</item>
		<item>
		<title>REST versus SOAP for the Public Cloud</title>
		<link>http://herbjorn.wordpress.com/2010/11/19/rest-versus-soap-for-the-public-cloud/</link>
		<comments>http://herbjorn.wordpress.com/2010/11/19/rest-versus-soap-for-the-public-cloud/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 09:29:58 +0000</pubDate>
		<dc:creator>Herbjörn Wilhelmsen</dc:creator>
				<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Web Service]]></category>

		<guid isPermaLink="false">http://herbjorn.wordpress.com/?p=405</guid>
		<description><![CDATA[There has been a lot of debate around what is better; SOAP based Web Services or RESTful services. This debate is sometimes surprisingly heated with expressions like WS-Deathstar and RESTafarian tossed around all over the place. This is yet another interjection into that debate that specifically focuses on the public cloud. To make the context [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=405&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_562" class="wp-caption alignnone" style="width: 595px"><img class="size-full wp-image-562" title="WS-Deathstar vs RESTafarian" src="http://herbjorn.files.wordpress.com/2010/11/ws_vs_rest.jpg?w=600" alt="WS-Deathstar vs RESTafarian"   /><p class="wp-caption-text">Original photos by <a href='http://www.flickr.com/photos/onesec/' target='_blank'>onesecbeforethedub</a>  and <a href='http://www.flickr.com/photos/jurvetson/' target='_blank'>jurvetson</a></p></div>
<p>There has been a lot of debate around what is better; SOAP based Web Services or RESTful services. This debate is sometimes surprisingly heated with expressions like <a href="http://www.infoq.com/news/infoq_interview_tim_bray" target="_blank">WS-Deathstar</a> and <a href="http://mikeschinkel.com/blog/whatisarestafarian/" target="_blank">RESTafarian</a> tossed around all over the place. This is yet another interjection into that debate that specifically focuses on the public cloud.</p>
<p>To make the context clear, in this post I want to discuss services that are publically available and hosted in the cloud &#8211; <a href="http://en.wikipedia.org/wiki/Software_as_a_service" target="_blank">SaaS</a>. The services I have in mind are services that are meant to get a wide adoption across multiple countries, technologies and devices.<br />
<span id="more-405"></span></p>
<h3>Multi-tenancy</h3>
<p>According to the <a href="http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc" target="_blank">NIST-definition of cloud computing</a> the ability to pool resources to serve multiple client organizations (a.k.a. tenants) is an essential characteristic of cloud computing. A <a href="http://en.wikipedia.org/wiki/Multitenancy" target="_blank">multi-tenant</a> service is a service that  serves many. The opposite of multi-tenancy is having different services for different clients.</p>
<h3>Supporting multiple clients</h3>
<p>Supporting multiple clients with one service can be difficult as it involves designing for reuse. <a href="http://herbjorn.wordpress.com/2010/05/10/from-jbows-to-jabers-the-holy-grail-called-soa-is-still-nowhere-in-sight" target="_blank">Neither Web Services nor REST services can guarantee that our services will be reusable</a> or posess any of the other <a href="http://en.wikipedia.org/wiki/Service-oriented_architecture#Benefits">beneficial properties that we commonly associate with SOA</a>. Despite that fact I still think that REST has an advantage over Web Services in this case &#8211; and the reason is purely about technology.</p>
<p>The dominant (or only) way to implement REST services today is to utilize HTTP. HTTP is supported by a huge amount of server and client technologies that are found in various different assets ranging from the biggest servers (even mainframes) to PCs and cellphones. This is a really good match for multi-tenancy as it is to be expected that different client organizations consume services using different technologies and different assets. HTTP was recently described as <a href="http://blogs.msdn.com/b/gblock/archive/2010/11/01/wcf-web-apis-http-your-way.aspx" target="_blank">a credit card that is always accepted everywhere</a>.</p>
<p>As for Web Services there is extensive support for that too, but way less than the support for HTTP.</p>
<h3>Servicing multiple clients</h3>
<p>When you are servicing multiple clients you need to worry about performance. A service with better performance will be able to handle more requests with the same amount of resources. It will help you provide a good enough service to your customers in a more cost-effective way. In a lot of publically available services, information is read more often that it is written &#8211; this is (hopefully) true for tweets, facebook status updates and blog posts. Again, the difference between Web Services and REST is purely about technology.</p>
<p>The semantics of HTTP allows us to define in a standardized way how data should or could be cached. Due to this reason a horde of web enabled products have built in support for HTTP caching. Better yet, this caching functionality can be utilized in multiple layers. It means that not only the web server that hosts your cloud solution will be able to cache your data. Caching can be used in web servers that the request will pass on its way to your client, or even in the client software. When data is cached, some of the read requests to your service will never even have to reach your server. It will make the client applications perform better, and enable your service to take care of more clients.</p>
<p>As for Web Services there is no way to define caching in a standardized way.</p>
<h3>Real usage</h3>
<p>Another way to investigate this question is to take a look at the real usage out there on the web. Statistics from the <a href="http://www.programmableweb.com/" target="_blank">Programmable Web</a> shows that <a href="http://royal.pingdom.com/2010/10/15/rest-in-peace-soap/" target="_blank">REST has gone from a 60 % to a 74 % dominance</a> on publicly available APIs. SOAP based Web Services on the other hand has plummeted from 25 % to 15 % during the same period. Back in 2003 (I haven&#8217;t been able to find anything newer than that) <a target="_blank">Amazon found that 85 % of customers preferred their RESTful API</a> (they offer both REST and SOAP).</p>
<h3>Conclusion</h3>
<p>For services tageted for the public cloud, REST is a better option than SOAP based Web Services.</p>
<h3>REST versus SOAP revisited</h3>
<p>When people discuss REST in contrast to SOAP based Web Services they generally think of it as a dichotomy, when in reality we&#8217;re dealing with a whole range of options that is more akin to a continuum. Web Services with a lot of WS-* have a different level of complexity compared to Web Services with a little WS-*. Web Services without WS-* is even simpler than that. Of course the functionality that they can offer differ too. Using WS-* standards like <a href="http://en.wikipedia.org/wiki/WS-Addressing" target="_blank">WS-Addressing</a> and <a href="http://en.wikipedia.org/wiki/WS-Security" target="_blank">WS-Security</a> can offer detailed addressing features and a level of security that the simple Web Service cannot offer.</p>
<div id="attachment_561" class="wp-caption alignnone" style="width: 595px"><img class="size-full wp-image-561" title="Web Services and REST continuum" src="http://herbjorn.files.wordpress.com/2010/11/ws_rest_continuum.jpg?w=600" alt="Web Services and REST continuum"   /><p class="wp-caption-text">Original photos by <a href='http://www.flickr.com/photos/onesec/' target='_blank'>onesecbeforethedub</a>  and <a href='http://www.flickr.com/photos/jurvetson/' target='_blank'>jurvetson</a></p></div>
<p>REST also comes in different flavors. Some of the flavors below may not be considered to be RESTful by all REST proponents, but when we discuss REST versus SOAP based Web Services they all tend to end up in the RESTful corner.</p>
<p>The <strong>POX</strong> – Plain Old XML over HTTP – approach use HTTP as a transport protocol and transfer data using XML. It is similar to SOAP based Web Services, but doesn’t have a SOAP envelope or a WSDL. It is a way of doing RPC with data transferred in the body of the request.</p>
<p>The <strong>URI tunneling</strong> approach use HTTP as a transport protocol and is further based on URI templates. It uses the URI to transfer data, i.e. the data is transported inside the query string.</p>
<p>The <strong>CRUD</strong> – Create Read Update Delete – approach uses HTTP as an application protocol. Resources are identified with unique URIs and HTTP verbs (POST, GET, PUT and DELETE) are used to manipulate these resources. Data is transferred in the body and can be encoded using XML, JSON or other formats.</p>
<p>The <strong>HATEOAS</strong> – <a href="http://en.wikipedia.org/wiki/HATEOAS" target="_blank">Hypermedia As The Engine Of Application State</a> – approach uses HTTP as an application protocol and identify resources using unique URIs, just like CRUD. Furthermore it uses hypermedia, essentially links and forms, to guide the consumer through a number of interactions with the service. Popular standardized media types that allow for the use of hypermedia are <a href="http://tools.ietf.org/html/rfc4287" target="_blank">ATOM</a> and <a href="http://en.wikipedia.org/wiki/XHTML" target="_blank">XHTML</a>.</p>
<p><a href="http://herbjorn.files.wordpress.com/2010/10/richardsons_rest-types.jpg"><img class="alignnone size-full wp-image-490" title="richardsons_rest-types" src="http://herbjorn.files.wordpress.com/2010/10/richardsons_rest-types.jpg?w=600" alt=""   /></a></p>
<p>These different REST flavors are positioned at different levels of the <a href="http://www.crummy.com/writing/speaking/2008-QCon/act3.html" target="_blank">Richardsons maturity model</a>. To learn more about REST (as well as Richardsons model) please refer to the <a href="http://restinpractice.com/" target="_blank">REST in Practice</a> book.</p>
<h3>The maturity of publically available REST APIs</h3>
<p>It seems to me that far from all those public RESTful APIs on the web qualify as hypermedia-enabled services. Below follows a few randomly picked examples that reinforces that thought:</p>
<ul>
<li><strong>Twitter</strong>: This <a href="http://search.twitter.com/search.atom?q=twitter" target="_blank">search result</a> (XML+Atom) offer some links like the next page of the search result. However, they do not offer links like
<ul>
<li>retweet</li>
<li>reply to</li>
<li>follow</li>
</ul>
</li>
<li><strong>Facebook</strong>: This <a href="https://graph.facebook.com/search?q=watermelon&amp;type=post&amp;access_token=2227470867|2.MrrFcNiBwqZWm3KGO5lSgg__.3600.1288771200-100000804335484|46OIqyq-rUfWJXo7OIXsZRrCbuc" target="_blank">search result</a> (JSON) offers no hypermedia.</li>
<li><strong>Linkedin</strong>: The <a href="http://developer.linkedin.com/docs/DOC-1004" target="_blank">Connections API call</a> (XML) offers no hypermedia.</li>
<li><strong>Amazon Elastic Compute Cloud</strong>: The <a href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/index.html?ApiReference-query-StartInstances.html" target="_blank">Start Instances API call</a> (XML) offers no hypermedia.</li>
</ul>
<p>Update: <a href="http://www.pautasso.info/" target="_blank">Cesare Pautasso</a> suggested I also link to the paper that he, <a href="http://www.iaas.uni-stuttgart.de/institut/ehemalige/zimmermann/indexE.php" target="_blank">Olaf Zimmerman</a> and <a href="http://www.iaas.uni-stuttgart.de/institut/mitarbeiter/leymann/indexE.php" target="_blank">Frank Leymann</a> published back in 2008: <a href="http://www.jopera.org/files/www2008-restws-pautasso-zimmermann-leymann.pdf" target="_blank">RESTful Web Services vs. “Big” Web Services</a>.</p>
<br />Filed under: <a href='http://herbjorn.wordpress.com/category/cloud-computing-2/'>Cloud computing</a> Tagged: <a href='http://herbjorn.wordpress.com/tag/cloud-computing/'>cloud computing</a>, <a href='http://herbjorn.wordpress.com/tag/rest-2/'>REST</a>, <a href='http://herbjorn.wordpress.com/tag/web-service/'>Web Service</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbjorn.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbjorn.wordpress.com/405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbjorn.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbjorn.wordpress.com/405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbjorn.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbjorn.wordpress.com/405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbjorn.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbjorn.wordpress.com/405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbjorn.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbjorn.wordpress.com/405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbjorn.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbjorn.wordpress.com/405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbjorn.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbjorn.wordpress.com/405/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=405&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbjorn.wordpress.com/2010/11/19/rest-versus-soap-for-the-public-cloud/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>59.332788 18.064488</georss:point>
		<geo:lat>59.332788</geo:lat>
		<geo:long>18.064488</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5c472cb53d99835ac04423891c2cae5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">herbjorn</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2010/11/ws_vs_rest.jpg" medium="image">
			<media:title type="html">WS-Deathstar vs RESTafarian</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2010/11/ws_rest_continuum.jpg" medium="image">
			<media:title type="html">Web Services and REST continuum</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2010/10/richardsons_rest-types.jpg" medium="image">
			<media:title type="html">richardsons_rest-types</media:title>
		</media:content>
	</item>
		<item>
		<title>Simplifying the Agile Manifesto</title>
		<link>http://herbjorn.wordpress.com/2010/11/05/simplifying-the-agile-manifesto/</link>
		<comments>http://herbjorn.wordpress.com/2010/11/05/simplifying-the-agile-manifesto/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 10:07:55 +0000</pubDate>
		<dc:creator>Herbjörn Wilhelmsen</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[manifesto]]></category>
		<category><![CDATA[simple]]></category>

		<guid isPermaLink="false">http://herbjorn.wordpress.com/?p=532</guid>
		<description><![CDATA[Today J.B. Rainsberger made a very commendable effort to simplify the Agile Manifesto. He was inspired by Simplified English and the reduction of the ten commandments into two simple rules. In his post he challenge us (everybody) to find any meaning in the Agile Manifesto that his simplified version do not cover. I urge you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=532&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_548" class="wp-caption alignnone" style="width: 595px"><img src="http://herbjorn.files.wordpress.com/2010/11/agile_cat1.jpg?w=600" alt="agile" title="agile"   class="size-full wp-image-548" /><p class="wp-caption-text">Original photo by <a href='http://www.flickr.com/photos/worak/' target='_blank'>worak</a></p></div>
<p>Today <a href="http://www.jbrains.ca/" target="_blank">J.B. Rainsberger</a> made <a href="http://www.jbrains.ca/permalink/simplifying-the-agile-manifesto" target="_blank">a very commendable effort to simplify the Agile Manifesto</a>. He was inspired by <a href="http://en.wikipedia.org/wiki/Simplified_English" target="_blank">Simplified English</a> and the reduction of the ten commandments into <a href="http://www.skeptic.ca/george_carlin_ten_commandments.htm" target="_blank">two simple rules</a>. In his post he challenge us (everybody) to find any meaning in the <a href="http://www.agilemanifesto.org/" target="_blank">Agile Manifesto</a> that his simplified version do not cover. I urge you to <a href="http://www.jbrains.ca/permalink/simplifying-the-agile-manifesto" target="_blank">take a look at it</a>.</p>
<p><span id="more-532"></span></p>
<p>Inspired by J.B. I made my own attempt at simplifying his simplified version of the value statements (in his post he also simplified the principles of the Agile Manifesto).</p>
<ul>
<li><strong>People working together</strong> over precise rules</li>
<li><strong>Doing what’s needed</strong> over keeping old promises</li>
</ul>
<p>It is much shorter and (at least to me) easier to understand than the original value statements of the Agile Manifesto:</p>
<ul>
<li><strong>Individuals and interactions</strong> over processes and tools</li>
<li><strong>Working software</strong> over comprehensive documentation</li>
<li><strong>Customer collaboration</strong> over contract negotiation</li>
<li><strong>Responding to change</strong> over following a plan</li>
</ul>
<br />Filed under: <a href='http://herbjorn.wordpress.com/category/agile/'>Agile</a> Tagged: <a href='http://herbjorn.wordpress.com/tag/agile-2/'>agile</a>, <a href='http://herbjorn.wordpress.com/tag/manifesto/'>manifesto</a>, <a href='http://herbjorn.wordpress.com/tag/simple/'>simple</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbjorn.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbjorn.wordpress.com/532/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbjorn.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbjorn.wordpress.com/532/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbjorn.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbjorn.wordpress.com/532/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbjorn.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbjorn.wordpress.com/532/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbjorn.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbjorn.wordpress.com/532/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbjorn.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbjorn.wordpress.com/532/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbjorn.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbjorn.wordpress.com/532/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=532&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbjorn.wordpress.com/2010/11/05/simplifying-the-agile-manifesto/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<georss:point>59.332788 18.064488</georss:point>
		<geo:lat>59.332788</geo:lat>
		<geo:long>18.064488</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5c472cb53d99835ac04423891c2cae5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">herbjorn</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2010/11/agile_cat1.jpg" medium="image">
			<media:title type="html">agile</media:title>
		</media:content>
	</item>
		<item>
		<title>The top 3 showstoppers of cloud computing &#8211; and an unexpected one</title>
		<link>http://herbjorn.wordpress.com/2010/09/27/the-top-3-showstoppers-of-cloud-computing-and-an-unexpected-one/</link>
		<comments>http://herbjorn.wordpress.com/2010/09/27/the-top-3-showstoppers-of-cloud-computing-and-an-unexpected-one/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 06:18:31 +0000</pubDate>
		<dc:creator>Herbjörn Wilhelmsen</dc:creator>
				<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[Enterprise Architecture]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://herbjorn.wordpress.com/?p=176</guid>
		<description><![CDATA[Cloud computing is the hot buzzword of the day and is currently at the very the top of the hype cycle. I do believe that there is more to the cloud than that hype, meaning that some companies could benefit greatly from cloud computing. In spite of the hype and those real opportunities that the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=176&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_392" class="wp-caption alignnone" style="width: 598px"><img src="http://herbjorn.files.wordpress.com/2010/08/private_mess.jpg?w=600" alt="private mess" title="private mess"   class="size-full wp-image-392" /><p class="wp-caption-text">Photo by <a href='http://www.flickr.com/photos/jworth/' target='_blank'>jworth</a></p></div>
<p>Cloud computing is the hot buzzword of the day and is currently at the very the top of the <a href="http://en.wikipedia.org/wiki/Hype_cycle" target="_blank">hype cycle</a>. I do believe that there is more to the cloud than that hype, meaning that some companies could benefit greatly from cloud computing. In spite of the hype and those real opportunities that the cloud brings, some things may stop companies from actually adopting cloud computing.</p>
<p>Below I will briefly describe what I believe to be the three most common showstoppers, plus one that I stumbled upon and &#8211; quite frankly &#8211; was a little surprised to learn about. <span id="more-176"></span></p>
<h3>Trusting the cloud provider</h3>
<p>We (that is humans) have a tendency to trust ourselves more than we trust others. We like to hold the steering wheel by ourselves. We can be intimidated and scared when we are not in control. Consider flying in a commercial aeroplane: The flight captain makes a living out of flying. She has great education and training. Statistics tells us that <a href="http://www.newton.dep.anl.gov/askasci/gen99/gen99845.htm" target="_blank">flying is way safer than driving a car</a>. We have a tencendy to feel that doing something by ourselves is safer, but in reality we can create <strong>a tremendous mess</strong>. When we think about how somebody else performs a task we also have a tendency to compare that to how we would be able to do it given an abundance of time, money and other resources &#8211; and that is unrealistic most of the time.</p>
<p>The fact that cloud provider is a relatively new service is bound to reduce the trust further. Many cloud platforms are immature, despite the fact that they are built upon more mature technologies and products. At most the cloud providers have been running their cloud based services for a few years. This will definitely be a warning sign for companies that shy away from adopting new technology.</p>
<p>One way to increase the trust is to have the provider sign a contract that would give you as a consumer a very large economic compensation should something go amiss. It may seem to be a good idea, but would make contracts with cloud providers much more difficult to agree upon. Also, with the prescence of such a contract and in the event of an incident, the provider may have to pay up large sums of money &#8211; maybe so large sums of money that they will be bancrupt. And then you will be without a cloud provider, even if the provider didn&#8217;t let you down. If you are able to negotiate this kind of agreement you can be sure that others have too.</p>
<h3>Legal issues</h3>
<p>If you live (like I do) outside of US where most of the big cloud vendors work, legal issues may be more difficult to handle when comparing cloud computing to regular hosting. This has to do with the fact that regular hosting can be confined within one country, whilst cloud computing is often international. Some kind of information comes with legal demands that it must be saved and stored say within the borders of EU, or even within the borders of one specific country. Even if you do not have to take such regulations in mind you may want to think about legal issues anyway.<br />
Some laws in the hosting companys country may apply for the information that we store in their servers, even if the actual servers are located in our own country. One example is <a href="http://www.itbusinessedge.com/cm/blogs/vizard/patriot-act-may-hamper-cloud-computing-adoption/?cs=38395" target="_blank">the Patriot act</a>. The Patriot act demands US government access to information upon suspicion of terrorism, and may affect data that is stored in Europe by a European customer if the cloud provider is a US company. It is important to notice the word <strong>may</strong> here. To know for sure somebody needs to</p>
<ol>
<li>Store data in the cloud using a cloud provider from another country or continent.</li>
<li>A law, e.g. the patriot act, must be waived.</li>
<li>There must be a dispute that is not resolved through negotiations.</li>
<li>The courts will decide what laws apply.</li>
</ol>
<p>Until something like this happens we simply do not know. To make matters worse laws change. To keep up with how laws change in one country may be difficult. To keep track of and adapt to complex international law is not to be underestimated. Some initiatives, like the <a href="http://www.export.gov/safeharbor/" target="_blank">safe harbor</a> framework, aim to reduce these insecurities.</p>
<h3>Convoluted enterprise architecture</h3>
<p>Companies that have little or no enterprise architecture (that is they do not have a fair amount of control over their information, processes and existing services and applications) will find the adoption of cloud computing to be very troublesome. In order to do that they need to literally rip out parts of their existing system landscape and / or open up parts of their existing landscape and then do complex integration efforts. Integration is no easy task, and with a convoluted enterprise archtecture the task is extremely difficult, time consuming and costly. Sometimes you may get away without complex integration, but security will stop you. A lot of companies have invested time and money in creating a <a href="http://en.wikipedia.org/wiki/Single_sign-on" target="_blank">Single-Sign-On</a> solution. It may be a very big challenge to extend that Single-Sign-On into the cloud. Not extending it to the cloud would lead to extra efforts in managing access rights, with the added risk of making mistakes and thereby compromising security. Sadly, too few companies have a <a href="http://soapatterns.org/federated_identity.php" target="_blank">Federated Identity</a> solution in place today and that will be a great showstopper. <a href="http://gcn.com/Articles/2010/09/06/Internaut-SOA-and-the-cloud.aspx?Page=2" target="_blank">SOA may help companies be better prepared for the cloud</a>, but most companies that I have heard about are very far away from the taget state of SOA.</p>
<h3>The unexpected showstopper is OPEX</h3>
<p>Elasticity can be described as the ability to rapidly scale out to unprecedented demand without big up-front investments, plus the ability to save money when scaling in. Elasticity and pay-per-use are the most <a href="http://blog.makingitclear.com/2010/08/17/cloudfinancials/" target="_blank">important selling points for cloud computing</a>. A consequence of elasticity is that expenses are moved from CAPEX (<a href="http://en.wikipedia.org/wiki/Capital_expenditure" target="_blank">Capital Expenditure</a>) to OPEX (<a href="http://en.wikipedia.org/wiki/Operating_expense" target="_blank">Operational Expenditure</a>). It should come as no surprise that some companies would prefer to spend some capital up front, (that is investing in hardware and software, to be able to save money in the long run) while others prefer to pay as they go and thereby reduce risks as well as the need for capital up front. </p>
<p>A conversation that I had revealed another way to think about this that I hadn&#8217;t thought of before. A CIO claimed that he didn&#8217;t want to be in a situation where his superiors could tell him to cut his operational costs by reducing the amount of cloud resources he consumed. To him the fact that his services and applications were hosted in the cloud actually meant that the risk of loosing those resources was much higher than if he had invested capital to buy his own servers and software. I guess he is right. OPEX isn&#8217;t automatically better or safer than CAPEX. It all depends on how you see things and where you come from.</p>
<p>I guess it is true then: The <a href="http://en.wikipedia.org/wiki/Chief_financial_office" target="_blank">CFO</a>, not the <a href="http://en.wikipedia.org/wiki/Chief_information_officer" target="_blank">CIO</a>, will drive cloud adoption&#8230;</p>
<p>What do you consider to be the biggest showstopper? Please let me know!</p>
<p>[Thanks to <a href="http://thomasrischbeck.blogspot.com/" target="_blank">Thomas Rischbeck</a> for commenting on a daft of this post]</p>
<br />Filed under: <a href='http://herbjorn.wordpress.com/category/cloud-computing-2/'>Cloud computing</a> Tagged: <a href='http://herbjorn.wordpress.com/tag/cloud-computing/'>cloud computing</a>, <a href='http://herbjorn.wordpress.com/tag/enterprise-architecture-2/'>Enterprise Architecture</a>, <a href='http://herbjorn.wordpress.com/tag/soa/'>SOA</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbjorn.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbjorn.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbjorn.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbjorn.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbjorn.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbjorn.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbjorn.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbjorn.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbjorn.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbjorn.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbjorn.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbjorn.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbjorn.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbjorn.wordpress.com/176/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=176&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbjorn.wordpress.com/2010/09/27/the-top-3-showstoppers-of-cloud-computing-and-an-unexpected-one/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<georss:point>59.332788 18.064488</georss:point>
		<geo:lat>59.332788</geo:lat>
		<geo:long>18.064488</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5c472cb53d99835ac04423891c2cae5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">herbjorn</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2010/08/private_mess.jpg" medium="image">
			<media:title type="html">private mess</media:title>
		</media:content>
	</item>
		<item>
		<title>Idempotent Capability &#8211; new pattern description published</title>
		<link>http://herbjorn.wordpress.com/2010/09/04/idempotent-capability-new-pattern-description-published/</link>
		<comments>http://herbjorn.wordpress.com/2010/09/04/idempotent-capability-new-pattern-description-published/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 09:21:26 +0000</pubDate>
		<dc:creator>Herbjörn Wilhelmsen</dc:creator>
				<category><![CDATA[SOA]]></category>
		<category><![CDATA[Design Pattern]]></category>

		<guid isPermaLink="false">http://herbjorn.wordpress.com/?p=414</guid>
		<description><![CDATA[A new and improved description of the Idempotent Capability pattern has just been published @ soapatterns.org. The pattern explains why idempotency is important as well as why and how a non-idempotent capability can be transformed into an idempotent capability. Many thanks to my co-contributor Cesare Pautasso as well as rewievers Radovan Janecek, Ian Robinson and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=414&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.soapatterns.org/" target="_blank"><img src="http://herbjorn.files.wordpress.com/2010/09/soa_patterns_site.jpg?w=600" alt="soapatterns.org" title="soapatterns.org"   class="alignnone size-full wp-image-427" /></a></p>
<p>A new and improved description of the <a href="http://www.soapatterns.org/idempotent_capability.php" target="_blank">Idempotent Capability pattern</a> has just been published @ <a href="http://www.soapatterns.org/" target="_blank">soapatterns.org</a>. The pattern explains why idempotency is important as well as why and how a non-idempotent capability can be transformed into an idempotent capability.</p>
<p>Many thanks to my co-contributor <a href="http://www.pautasso.info/" target="_blank">Cesare Pautasso</a> as well as rewievers <a href="http://radovanjanecek.net/blog/" target="_blank">Radovan Janecek</a>, <a href="http://iansrobinson.com/" target="_blank">Ian Robinson</a> and <a href="http://www.josuttis.com/" target="_blank">Nicolai Josuttis</a>.</p>
<br />Filed under: <a href='http://herbjorn.wordpress.com/category/soa/'>SOA</a> Tagged: <a href='http://herbjorn.wordpress.com/tag/design-pattern/'>Design Pattern</a>, <a href='http://herbjorn.wordpress.com/tag/soa/'>SOA</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbjorn.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbjorn.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbjorn.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbjorn.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbjorn.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbjorn.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbjorn.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbjorn.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbjorn.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbjorn.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbjorn.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbjorn.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbjorn.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbjorn.wordpress.com/414/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=414&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbjorn.wordpress.com/2010/09/04/idempotent-capability-new-pattern-description-published/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>59.332788 18.064488</georss:point>
		<geo:lat>59.332788</geo:lat>
		<geo:long>18.064488</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5c472cb53d99835ac04423891c2cae5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">herbjorn</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2010/09/soa_patterns_site.jpg" medium="image">
			<media:title type="html">soapatterns.org</media:title>
		</media:content>
	</item>
		<item>
		<title>SOA &amp; Cloud Symposium is coming to Berlin 2010</title>
		<link>http://herbjorn.wordpress.com/2010/07/27/soa-and-cloud-symposium-is-coming-to-berlin-2010/</link>
		<comments>http://herbjorn.wordpress.com/2010/07/27/soa-and-cloud-symposium-is-coming-to-berlin-2010/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 12:24:01 +0000</pubDate>
		<dc:creator>Herbjörn Wilhelmsen</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://herbjorn.wordpress.com/?p=323</guid>
		<description><![CDATA[The third installment of the International SOA Symposium and the second installment of the International Cloud Symposium will be one huge co-located event in Europe from the 5th to the 6th of October 2010. The first time around it was arranged in the beautiful city of Amsterdam, the second time (and the first time for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=323&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-327" title="soa_cloud_symposium" src="http://herbjorn.files.wordpress.com/2010/07/soa_cloud_symposium1.png?w=600" alt="SOA &amp; Cloud Symposium 2010"   /></p>
<p>The third installment of the <strong><a href="http://soasymposium.com/" target="_blank">International SOA Symposium</a></strong> and the second installment of the <strong><a href="http://cloudsymposium.com/" target="_blank">International Cloud Symposium</a></strong> will be one huge co-located event in Europe from the 5th to the 6th of October 2010. <a href="http://www.soasymposium.com/home2008.php" target="_blank">The first time around</a> it was arranged in the beautiful city of Amsterdam, <a href="http://www.soasymposium.com/home2009.php" target="_blank">the second time</a> (and the first time for the cloud symposium) in the modern city of Rotterdam. This year it will come to the world city of Berlin.<span id="more-323"></span></p>
<p><a href="http://soasymposium.com/p2010_herbjorn_wilhelmsen.php" target="_blank">I will be presenting</a> at both the SOA and the Cloud symposiums alongside multiple <a href="http://www.thomaserl.com/" target="_blank">highly</a> esteemed <a href="http://www.josuttis.com/" target="_blank">SOA</a> and <a href="http://blogs.unsw.edu.au/annaliu/" target="_blank">Cloud computing</a> experts. I’ve had the <a href="http://thomasrischbeck.blogspot.com/" target="_blank">pleasure</a> of <a href="http://blog.total-architecture.com/" target="_blank">working</a> with <a href="http://www.xing.com/profile/Dirk_Krafzig" target="_blank">several</a> of <a href="http://www.zdnet.com/blog/service-oriented" target="_blank">them</a> e.g. as a <a href="http://blogs.msdn.com/b/dachou/" target="_blank">co-author</a> in the <a href="http://soabooks.com/" target="_blank">Service-Oriented Computing book series</a> and the <a href="http://soa-manifesto.org/" target="_blank">SOA Manifesto</a>. <a href="http://devadoss.net/blog/" target="_blank">Some</a> of <a href="http://www.innoq.com/blog/st/" target="_blank">them</a> I <a href="http://ca.linkedin.com/in/tboubez" target="_blank">have</a> also <a href="http://www.brianloesgen.com/" target="_blank">met</a> at <a href="http://www.slideshare.net/tomplunkett" target="_blank">one</a> or both previous symposiums.</p>
<p>Also, do not miss the <a href="http://www.soasymposium.com/panels2010.php" target="_blank">panel discussions</a> where like-minded and sometimes wildly different thinkers (I guess that makes if more fun!) meet to discuss hot topics. This year I will participate in the panels “Revisiting the SOA Manifesto” and “SOA Design Patterns”.</p>
<p>Hope to see you there!</p>
<p>PS If you are a member of <a href="http://iasahome.org/" target="_blank">IASA</a> or <a href="http://cloudsweden.wordpress.com/" target="_blank">Cloud Sweden</a> please check your <a href="http://www.linkedin.com/" target="_blank">Linkedin</a> group to find information concerning discounts for these events!</p>
<br />Filed under: <a href='http://herbjorn.wordpress.com/category/events/'>Events</a> Tagged: <a href='http://herbjorn.wordpress.com/tag/cloud-computing/'>cloud computing</a>, <a href='http://herbjorn.wordpress.com/tag/events/'>Events</a>, <a href='http://herbjorn.wordpress.com/tag/soa/'>SOA</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbjorn.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbjorn.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbjorn.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbjorn.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbjorn.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbjorn.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbjorn.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbjorn.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbjorn.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbjorn.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbjorn.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbjorn.wordpress.com/323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbjorn.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbjorn.wordpress.com/323/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=323&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbjorn.wordpress.com/2010/07/27/soa-and-cloud-symposium-is-coming-to-berlin-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<georss:point>59.332788 18.064488</georss:point>
		<geo:lat>59.332788</geo:lat>
		<geo:long>18.064488</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5c472cb53d99835ac04423891c2cae5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">herbjorn</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2010/07/soa_cloud_symposium1.png" medium="image">
			<media:title type="html">soa_cloud_symposium</media:title>
		</media:content>
	</item>
		<item>
		<title>SOA with .Net &amp; Windows Azure</title>
		<link>http://herbjorn.wordpress.com/2010/06/10/soa-with-net-and-windows-azure/</link>
		<comments>http://herbjorn.wordpress.com/2010/06/10/soa-with-net-and-windows-azure/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 11:20:48 +0000</pubDate>
		<dc:creator>Herbjörn Wilhelmsen</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[cloud computing]]></category>

		<guid isPermaLink="false">http://herbjorn.wordpress.com/?p=305</guid>
		<description><![CDATA[Finally! The book is officially lauched and available at well-assorted bookshops. Local pre-launches in Stockholm The book was actually pre-launched in Stockholm on two occasions: SOA Summit, where we handed out and signed 20 copies Beakfast meeting with SOA School, where we handed out and signed 5 copies These copies were printouts of a an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=305&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.soabooks.com/net" target="_blank"><img class="alignnone size-full wp-image-306" title="soa with .net and windows azure" src="http://herbjorn.files.wordpress.com/2010/06/soa_with_net_and_windows_azure.png?w=600" alt="SOA with .NET &amp; Windows Azure"   /></a></p>
<p>Finally! The book is officially lauched and available at well-assorted bookshops.<span id="more-305"></span></p>
<h3>Local pre-launches in Stockholm</h3>
<p>The book was actually pre-launched in Stockholm on two occasions:</p>
<ul>
<li><a href="http://computersweden.idg.se/2.2683/1.301724" target="_blank">SOA Summit</a>, where we handed out and signed 20 copies</li>
<li><a href="http://soaschool.se/anmalan-till-frukostmote" target="_blank">Beakfast meeting with SOA School</a>, where we handed out and signed 5 copies</li>
</ul>
<p>These copies were printouts of a an earlier version of the manuscript (weeks earlier not months earlier) so those of you that won those books have a &#8220;special edition&#8221; that is close to the final version!</p>
<h3>Official launch at TechEd US 2010</h3>
<p>Yesterday the book was officially launched at <a href="http://www.microsoft.com/events/techednorthamerica/" target="_blank">TechEd US</a>. I would have loved to be there to present together with my co-authors, but sadly I wasn&#8217;t able to make it. Some good news is that the book was on the bestseller list of the TechEd Bookstore both monday and tuesday! (Possibly also for the rest of the week?)</p>
<p>Read more about the book here: <a href="http://www.soabooks.com/net" target="_blank">http://www.soabooks.com/net</a></p>
<p>My co-authors were (listed alphabetically by last name):<br />
<a href="http://blogs.msdn.com/b/dachou/" target="_blank">David Chou</a><br />
<a href="http://devadoss.net/blog/" target="_blank">John deVadoss</a><br />
<a href="http://www.thomaserl.com/" target="_blank">Thomas Erl</a><br />
<a href="http://ca.linkedin.com/in/nitin100" target="_blank">Nitin Gandhi</a><br />
<a href="http://blogs.msdn.com//hanuk/" target="_blank">Hanu Kommalapati</a><br />
<a href="http://www.brianloesgen.com/" target="_blank">Brian Loesgen</a><br />
<a href="http://weblogs.asp.net/cschittko/" target="_blank">Christoph Schittko</a><br />
<a href="http://www.linkedin.com/pub/mickey-williams/0/858/5a2" target="_blank">Mickey Williams</a></p>
<p>I would also like to exted a special thank you to my friend and former colleague <a href="http://dotnetninja.wordpress.com/" target="_blank">Arman Kurtagic</a> that helped out a lot with the book.</p>
<br />Filed under: <a href='http://herbjorn.wordpress.com/category/azure/'>Azure</a>, <a href='http://herbjorn.wordpress.com/category/cloud-computing-2/'>Cloud computing</a>, <a href='http://herbjorn.wordpress.com/category/soa/'>SOA</a> Tagged: <a href='http://herbjorn.wordpress.com/tag/net/'>.Net</a>, <a href='http://herbjorn.wordpress.com/tag/azure/'>Azure</a>, <a href='http://herbjorn.wordpress.com/tag/cloud-computing/'>cloud computing</a>, <a href='http://herbjorn.wordpress.com/tag/soa/'>SOA</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbjorn.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbjorn.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbjorn.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbjorn.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbjorn.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbjorn.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbjorn.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbjorn.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbjorn.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbjorn.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbjorn.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbjorn.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbjorn.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbjorn.wordpress.com/305/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbjorn.wordpress.com&amp;blog=13351386&amp;post=305&amp;subd=herbjorn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbjorn.wordpress.com/2010/06/10/soa-with-net-and-windows-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>59.332788 18.064488</georss:point>
		<geo:lat>59.332788</geo:lat>
		<geo:long>18.064488</geo:long>
		<media:content url="http://0.gravatar.com/avatar/c5c472cb53d99835ac04423891c2cae5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">herbjorn</media:title>
		</media:content>

		<media:content url="http://herbjorn.files.wordpress.com/2010/06/soa_with_net_and_windows_azure.png" medium="image">
			<media:title type="html">soa with .net and windows azure</media:title>
		</media:content>
	</item>
	</channel>
</rss>
