Agile Practices Require Discipline

Clearly mainstream agile practices such as Scrum and Extreme Programming (XP) require discipline.  For example, effective Agile teams have the discipline to:

  • Hold short, focused, and to the point daily coordination meetings rather than infrequent and time consuming status meetings.  It requires discipline to keep these meetings focused on coordination activities and thereby short and to the point.
  • Commit to delivering a set of work items each iteration rather than letting deadlines slip.  It requires discipline to consistently fulfill the promises that you make to your stakeholders.
  • Remove impediments in a timely fashion rather than procrastinating in pursuing a solution.  It requires discipline to tackle tough issues that are easier to ignore in the short term.
  • Take the time to write tests before code rather than writing code,  It takes discipline to consistently work in a test-first manner instead of leaving testing to some time in the (distant) future.
  • Test to the best of their ability instead of throwing artifacts over the wall to testers or reviewers.  It takes discipline to actively take responsibility for the quality of your own work.
  • Reflect on the team’s experiences and improve their processes proactively rather than relying on process dictated by project managers or external governance bodies.  It takes discipline to stop and take time to reflect on how well your team is working and then act to improve it.
  • Have a continuously working, integrated, and tested solution rather than waiting to do so when you’re “done” at the end of the lifecycle.  It takes discipline to stop all work when the build is broken so that it is repaired and the state of working, high quality solution is restored.
  • Work together in a common area rather than in comfortable but isolated workspaces. It takes discipline to work effectively in a team, to do so in a respectful and trusting manner.
  • Collaborate constantly with the stakeholders or their representative(s) to ensure that their expectations are met.  It takes discipline to accept that it isn’t your place to define the requirements or set priorities, particularly when you believe that you know better.
  • Create and evolve deliverable documentation continuously throughout the project.  It takes discipline to accept that there’s more to successfully solution delivery than producing potentially shippable software.
  • Self organize and plan the team’s work amongst themselves rather than relying on a traditional project manager to define, estimate, and assign work. It takes discipline to take responsibility for your own work and to respect the collective decisions of your team.

In our next few blogs we’ll discuss how Disciplined Agile Delivery builds on these practices to take discipline to the next level within the Enterprise.

2 thoughts on “Agile Practices Require Discipline

  1. Marcus Widerberg

    Just found this, interesting. Do you mean that DAD – as it “builds on agile practices to take discipline to the next level” – would require more discipline?
    (than teams aiming for using xp and scrum?)

    If so, would you recommend holding off DAD until teams are so disciplined they can do the agile practices of xp and scrum?

    My current setting is trying to move from a traditional approach to using some of the typically agile practices, instilling more discipline – but it is difficult to increase feedback, instill focused collaboration and require disciplined technical approaches such as xp recommends. They are used to sitting down and designing individually, having discussion type meetings (little collaborative challenge) and being able to spend time writing alot of documentation. These “luxuries” are now being challenged, and will probably go away. Going from this ad-hoc RUP inspired way of working to asking them to deliver concise requirements and formal tests of acceptance, automated tests of code, etc – is demanding of them.

    With that in mind, it seems adding to this challenge, “taking discipline to the next level” might be too steep.

    So, who is the target audience? Should we spend time on DAD now or is this only for teams that already are disciplined enough to have graduated from RUP, able to adhere to agile discipline already?

  2. Mark Lines

    Yes, I would say that we are suggesting that DAD does indeed add discipline to the existing levels of discipline already required to execute using Scrum & XP effectively. However, it is NOT necessary to hold off implementing DAD until you are applying these methods successfully.

    The practices from Scrum, XP and other methods are embodied within the DAD framework. You can adopt the practices that make sense for you in the order that makes sense. And we suggest that you adopt them within a full-lifecycle approach that is enterprise aware. If you are currently getting started with Scrum only, you could technically say that you are using the DAD framework. However, while that is a good start, you would want to adopt additional practices described by DAD as you become more capable and are ready for them.

    And regarding RUP, no need to “graduate” from RUP. While DAD shares 3 of the 4 RUP phases, it bears little resemblance to RUP. For instance, RUP is use-case driven, and we actually prefer user stories (if that is appropriate for your context). Another example, RUP describes a thorough OOAD approach which is not particularly agile. We prefer agile modeling to flush out the key architectural designs (again, if it is appropriate for you).


Leave a Reply

Your email address will not be published. Required fields are marked *