Ten points on Agile Development

Attended a great talk this morning given by Aaron Bjork and Peter Provost about Agile development (and what support there is in the new versions of Visual Studio). The talk should be available soon on http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-793T, but in the meantime there were some great headlines about core principals of Agile development that are worth sharing. It’s also got me thinking about how some of the principals of Agile might be used in work other than software development (running marketing, for example!). Anyway, here they are:

1 Define done – make sure you know what are the endpoints of work are (and know when to stop)

2 Fail fast – it’s better to know something is not working early, as it’s cheaper to mitigate

3 Understand your team’s velocity – (ie their work rate) particularly problematic if the structure of the team changes from sprint to sprint, as it makes estimate future work that much harder

4 Finish what you start – complete things before starting new things – avoid parallel working on tasks because it stops you getting things delivered

5 Bugs are real work – bugs should be on the same footing as other items, and shouldn’t be regarded separately; they should be prioritised in line with other things on the to-do list

6 Write unit tests – always – this is how we can save money on the lifetime cost of software as it’s less expensive to fix early

7 Autonomy, mastery, purpose – derived from Dan Pink’s work in the book Drive on what actually motivates people

8 Do the right thing… at the right time – planning is a constant process, not a one-off activity; defer decision making for as long is responsible

9 Plan until you need to learn – a good plan executed now is better than a perfect plan executed next week

10 Quality is not a variable – do not allow it to become so

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.