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  It outlines research into the key factors that develop talent.  The key factors are: “setting… Read More

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 control all the variables, and… Read More

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 a detailed Gantt chart, that’s a… Read More

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 Test-Driven Development (TDD).… Read More

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

David Anderson presents three facets of agility: The “toolbox” of iterative development techniques The belief that people are more significant than process 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 of seeing trust as a prerequisite… Read More

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

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 and, unlike the computers we… Read More

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: They recognise, and emphasise, creativity They are based on real-world experience… Read More