Agile Axiom #1 – Agile development actually requires more discipline that traditional waterfall methods.

Recently, I was browsing the Rally database for one of the Agile teams I manage. Rally is the tool from Rally Development we use to track the work we do as we move through the development iterations of our projects. Much to my surprise, the team had not been taking the time to keep Rally up to date. Looking at the database, it was not possible to tell which requirements had been completed, which ones had been tested, and what work was remaining. It was already the third iteration of a seven iteration project and all we had was a list of stories which had been elaborated from the requirements.

As a manager this is quite alarming. When discussing with the scrum master, I asked the simple question “how releasable are we after the first two iterations?”. The response was we had tested the code but would not be certain of the quality until we reached the two hardening iterations at the end. My response was the trouble with that is we are now attempting to execute a waterfall style QA cycle in two weeks. In waterfall, this cycle would take up to six months. Essentially, if we do not address the issue, we will significantly jeopardize the quality of the product.

In this example, it is my belief the team had actually been doing the testing and the code developed within each iteration was releasable. However, because we had not taken the time and exercised the discipline to do the housekeeping on the stories, it was impossible to be confident in the quality.

We should have been doing the following within the iteration…

  • defining stories for the iteration,
  • developing the code for the stories
  • testing the stories
  • automating the tests
  • demonstrating the functions
  • accepting the stories
  • pushing the stories that were not completed to the next iteration

Without doing this and being disciplined about it, it is impossible to tell progress and quality of the work that has been completed. Why is this discipline more important with Agile than it is with waterfall? Agile simply does not provide the end of cycle evaluation of engineering discipline found in waterfall. In Agile, this evaluation and discipline must occur throughout the iterations. You cannot procrastinate the discipline to the end of the release.


3 Responses to Agile Axiom #1 – Agile development actually requires more discipline that traditional waterfall methods.

  1. Geert says:

    To people who do Agile development “from the guts”, the discipline you refer to comes natural because they understand there is no safety net at the end which will ultimately provide the required quality level.
    However, people who have not had the pleasure of working with an agile team “on the roll” will most likely be surprised or desillusioned and consider your first axiom a paradox.

    Discipline is indeed required much more because a “process driven safety net” has been removed. However, this discipline doesn’t have to be painful, it just requires experience before it comes natural and I believe that’s why moving to agile does not go overnight.

  2. […] Agile Axiom #1 – Agile development actually requires more discipline that traditional waterfall meth… […]

  3. Paul Brownell says:

    This goes back to something I learned early by comparing teams attempting Agile: You have to go all-in. You cant just cherry-pick an Agile principle here and there. The teams I have seen fail with Agile are those that refuse to reexamine ALL their project management practices and align them properly with Agile. In our teams we have been hurt many times by lack of attention to remaining releaseable for example.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: