Older Topics

Posts on older/other topics

Making Better Programmers

Regular feedback is a key element of agile development.  Rapid feedback improves our software.  I suggest it also improves us, the people who write the software.

I’ve just read a fascinating article on where talent comes from, over on Freakonomics.com.  It outlines research into the key factors … Read more

Scientific Experiments

Steve Yegge points out that it’s very hard to do a valid scientific experiment in software development:

“You can’t have the same team do the same project twice; a bunch of stuff changes the second time around. You can’t have 2 teams do the same project; it’s too hard to

Read more

Negotiating your Development Process

Principled Negotiation also applies to defining your software development process.  You can’t choose Agile just because you like it.  You have to understand what your customers’ interests are, and you have to seek a process which meets their interests and yours.

For instance: if the customer says they want … Read more

Definition of Agile Development

Agile development is hard to define, because most people define it by giving examples. For instance they give a specific description of Extreme Programming (XP), instead of defining of agile development in general. We’ve ended up with a widespread misconception that agility is about XP techniques like Pair Programming and … Read more

Crystal Clear Methodology

Crystal Clear is a methodology that summarises 10 years of research into successful software teams.  Which things really matter?  Which things most influence the project outcome?… Read more

Comparison to Traditional Development

In my on-going quest to answer the question “What is agile development?”, here is a point-by-point comparison with traditional development.… Read more

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 into the trap … 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.… Read more

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 die hard … 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
  3. Read more