When to Agile and How much to Agile – that is the question

Infinite risk

Photo by aftab

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 be agile?

Read more…


Thinking Digital 2011 – the blog post

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 more than two days in the beautiful Newcastle Gateshead in the UK.
Read more…

Powerful metaphors for software development

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. “the foot of the mountain”, “raining cats and dogs” and “time runs fast”. 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 “time runs fast” 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.

The tendency for us to think in terms of metaphors is so widespread that Jonathan Haidt, a professor of psychology at the University of Virginia, claims in The Happiness Hypothesis: Finding Modern Truth in Ancient Wisdom that humans need metaphors:

Human thinking depends on metaphor. We understand new or complex things in relation to things we already know.

Gareth Morgan, a research professor that specializes in management thinking and works at York University in Toronto, puts it slightly differently in his book Images of organizations:

all theory is metaphor

On the very same page of that book Gareth Morgan goes on to state a very important fact:

Metaphor stretches imagination in a way that can create powerful insights, but at the risk of distortion

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’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.

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’s where the beauty is). Armed with these metaphors we can understand and focus on multiple different and important aspects of software development.

Read more…

REST versus SOAP for the Public Cloud

WS-Deathstar vs RESTafarian

Original photos by onesecbeforethedub and jurvetson

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 clear, in this post I want to discuss services that are publically available and hosted in the cloud – SaaS. The services I have in mind are services that are meant to get a wide adoption across multiple countries, technologies and devices.
Read more…

Simplifying the Agile Manifesto


Original photo by worak

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 to take a look at it.

Read more…

The top 3 showstoppers of cloud computing – and an unexpected one

private mess

Photo by jworth

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 cloud brings, some things may stop companies from actually adopting cloud computing.

Below I will briefly describe what I believe to be the three most common showstoppers, plus one that I stumbled upon and – quite frankly – was a little surprised to learn about. Read more…

Idempotent Capability – new pattern description published


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 Nicolai Josuttis.