The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Retreaded: RigorousAgile

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Martin Fowler

Posts: 1573
Nickname: mfowler
Registered: Nov, 2002

Martin Fowler is an author and loud mouth on software development
Retreaded: RigorousAgile Posted: Jul 26, 2012 1:44 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by Martin Fowler.
Original Post: Retreaded: RigorousAgile
Feed Title: Martin Fowler's Bliki
Feed URL: http://martinfowler.com/feed.atom
Feed Description: A cross between a blog and wiki of my partly-formed ideas on software development
Latest Agile Buzz Posts
Latest Agile Buzz Posts by Martin Fowler
Latest Posts From Martin Fowler's Bliki

Advertisement

Retread of post orginally made on 29 May 2005

I often run into a complaint that agile methods don't have a rigorous definition. The complainer may talk about how this means that you can't tell if a particular team is using an agile method or not. They may also say that this makes it hard to teach people how to do agile methods - what's the curriculum?

To some degree I do feel the pain of this complaint - but I accept there is no cure. This lack of rigorousness is part of the defining nature of agile methods, part of its core philosophy.

One of the fundamental problems of thought processes in general - and of software development in particular - is the very varied nature of the settings. Different kinds of systems have different kinds of pressures and forces, which makes it very difficult to come up with a rigorous statement of what to do that's sufficient to cover them. This effect is compounded by the fact that software development is such a people-oriented activity, and people are naturally inconsistent and highly variable. The conclusion that agilists made from this is that's its not effective to try and bind software development to a rigorous process, because that's ignoring the essential nature of the primary (human) components that will execute that process.

(It's probably because our profession is to work with computers is what leads us to want to program human systems the same way that we program computers - despite the fact that they are so different.)

The upshot of all this is that agile methods fundamentally expect teams to decide what process to follow and furthermore expect teams to actively and regularly change their process. Any attempt to define a rigorous process that can be tested for conformance runs contrary to this philosophy.

I can't deny that this is frustrating. How can you do a survey on whether agile methods are more effective that alternatives, or whether Extreme Programming is more effective than Scrum, when you can't get a clear definition of what Scrum is in the first place? If a client wants a system built using Extreme Programming how can they tell if it's really being done?. There is a sense of "I know it when I see it", but it requires an experienced practitioner to have that sense and even then there's lots of room for such practitioners to disagree.

I don't have an answer to this conundrum. Indeed I don't think there is an answer. It's a an unfortunate consequence of the activity itself, just as getting wet is an unavoidable consequence of swimming.

reposted on 26 Jul 2012

Read: Retreaded: RigorousAgile

Topic: Do You Speak Human, Software? Previous Topic   Next Topic Topic: Executing JUnit Runners Outside Of JUnit

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use