Agile Software Development

This blog began as a software development blog, on the topic of Agile software development. These are the original posts, from before I changed focus to “the neglected essentials of software development”.

The Trust Barrier

David Anderson presents three facets of agility:

  1. The “toolbox” of iterative development techniques
  2. The belief that people are more significant than process
  3. Trust

David points out that trust underlies the greater efficiency of agile approaches. Lean Software Development also emphasises trust.

It is easy to fall… Read more

One-Page Guide to Agility

Agile development can look a bit crazy, at first.

I’m writing this guide to explain the foundations of agility, outline its benefits, and show why it’s not so crazy after all.

Building on People’s Strengths

Alistair Cockburn points out that traditional processes are based on an assumption that people will successfully accomplish things that they normally struggle with. 

In particular, it is assumed that people will change their habits to follow detailed new instructions.  Unfortunately, humans aren’t very good at that!  Old habits… Read more

Why Agility Works

Why do agile methodologies work?  More importantly, why do they work better than traditional methodologies?  I’ll single out two reasons. (Martin Fowler’s excellent article provides many more.)  Agile methodologies work because:

  1. They recognise, and emphasise, creativity
  2. They are based on real-world experience

Methodologies and Diet Fads

People like to have a clear, precise instructions for success.  We see this in diet fads, where there are very clear rules and the implication that if you follow the rules, you will succeed in losing weight.

Some people also follow clear, simple rules for other difficult tasks – getting… Read more

Methodology Map

Here’s a simple pictorial overview of software development methodologies. Its main purpose is to show how Crystal Clear compares to several better-known processes.