Agile software development is sometimes perceived as an undisciplined way of working. There are organizations which use that perception as an excuse to not adopt agile. According to others agile is actually a more disciplined approach than waterfall for software development. Let’s explore how discipline plays a role in agile and why discipline is considered important for agile to be successful.
Norberto Gaona wrote about don’t underestimate discipline: the real key to agile development on Nearshore Americas. He interviewed people about the importance of discipline in agile software development. His conclusion:
The consensus is that you need to get to know the Agile Software Development Manifesto and its twelve principles inside out. Development professionals agree that, no matter which framework you chose to work with – whether it be SCRUM, Kanban, Lean, XP, Agile Modeling etc – there is always the risk of misinterpreting or deviating from these principles; resulting in a lack of discipline.
For agile software development it is important to find a good balance between the items mentioned in the agile manifesto, which requires discipline as Norberto explains:
According to the manifesto for Agile development, the individuals and their interaction with each other are valued higher than the tools and processes being used. “Although this doesn’t mean that processes and tools don’t play their part,” notes [Juan Diego Vasco]. “Agile development methodologies do require documentation, just not to an excessive degree,” he states. “If you think that working within an Agile framework means working without methodology, you are greatly mistaken. In fact, it requires above average discipline as it involves a self-managing team.”
Agile is not an excuse to practice an undisciplined code-and-fix approach to development as Scott Shipp has stated in his blog post agile is not code-and-fix. He explains why he considers agile to be a stronger and more disciplined software development methodology:
Many traditional approaches provide a false sense of discipline. Agile emphasizes individuals and collaboration, working software, customer collaboration, and responding to change. Some people think Agile doesn’t value things like following a plan or using processes and tools. Rather Agile values these things, but emphasizes these other things over them. In other words it’s not proposing lack of discipline but emphasized discipline.
In 9 myths about agile on CIO Journal Eric Bristow explains why the myth that agile processes are less disciplined and structured than those of waterfall is not true:
Mature Agile frameworks prescribe a disciplined, repeatable approach to implementing software. Successful Agile implementations are more process-driven and coordinated than traditional waterfall implementations. From scope management (via user story prioritization) to project management (via defined roles and events), Agile requires more discipline because a project’s scope is actively managed from planning to launch, with stakeholders reviewing progress at set intervals and providing feedback every step of the way. The flexibility of this process includes built-in safeguards (e.g., suppressing the addition of new requirements or user stories in the middle of a sprint) to prevent never-ending release cycles.
In a slideshow on IT Business Edge Felipe Brito presented five ways to scale agile for the enterprise. He explains that organizational learning and discipline needs to be fostered when enterprises want to scale agile:
Jurgen Appelo explained in his blog post really, can you be agile and not disciplined? how a disciplined way of working can lead to agility. He gives examples how he uses checklists and tagging to deal with information that he uses for writing books:The concept of self-organized teams shows us that agile tackles the fragilities of older, prescriptive methodologies with more discipline, not less. And as agile is extended through the enterprise, discipline must be extended as well. Give your teams freedom, but make sure they are trained and leverage validated methods and tools. This fine balance between autonomy at the team level and integration at the organizational level is essential for success. You must also build communities of practice, establish collaboration tools for globally distributed teams and always source and provide feedback.
Last week, I asked someone to check his personal story, which I had included in one of my new book chapters. He replied, “Wow, I sent you that story two years ago. I’m amazed you still remember!” Well, to be honest, I don’t have a memory that good. What I have is discipline. I have folders in Gmail and in Evernote where I dump the stories and notes that people send me, and I tag all data with keywords. I also have a checklist item for each chapter requiring me to “add stories from Gmail and Evernote” which I must do before the chapter goes to the copy editors. I have another checklist item telling me to “confirm edited stories with their authors” which must be checked after the chapter comes back from the copy editors and before it goes to the proof readers. (…) Seriously, I don’t see how I could produce a quality book, in an Agile way, without my checklists.
How important is discipline for you when adopting agile software development?
Community comments
Appropriate thought
by Andy Miles,
Re: Appropriate thought
by Ben Linders,
Beware of stressing discipline
by João Miranda,
Re: Beware of stressing discipline
by Ben Linders,
Individuals and Processes are Equally Important
by Problem Solution,
Interesting post
by Danielle Felder,
Appropriate thought
by Andy Miles,
Your message is awaiting moderation. Thank you for participating in the discussion.
Thinking before acting on any project, and especially agile projects, is vital. I call this the Soda Can Approach - see www.needpoweredchange.com/soda-cans-set-standar...
Beware of stressing discipline
by João Miranda,
Your message is awaiting moderation. Thank you for participating in the discussion.
Beware of stressing discipline too much. Emphasizing discipline is the "easy" way out. "Anything" can be achieved with "strong discipline". The fact is that average human beings are not army drill sergeants...
Do not fault people for "lack" of discipline if the hurdle is too high.
If things keep failing because of lack of discipline, then the approach is wrong.
Re: Appropriate thought
by Ben Linders,
Your message is awaiting moderation. Thank you for participating in the discussion.
Thinking is important as you mention Andy, but it doesn't automatically lead to involvement and commitment. Disciple to me means both thinking and acting, do what you are saying.
Re: Beware of stressing discipline
by Ben Linders,
Your message is awaiting moderation. Thank you for participating in the discussion.
Thanks João for pointing this out. Lack of discipline is not a root causes, there are often good reasons when people don't do things. Asking them helps :-)
For me discipline is something that comes from the inside. If I believe something is important then I will have the discipline to do it, without being told to do it or have anybody watching me if I do it.
Individuals and Processes are Equally Important
by Problem Solution,
Your message is awaiting moderation. Thank you for participating in the discussion.
Effective individuals (did someone say heroes?) are important - we don't need Agilists to enlighten us about that. However, effective individuals leave projects/companies on a regular basis. But you don't have to worry about effective, documented processes walking out the door. Therefore, both effective individuals and processes are of equal importance and if you're a lucky project manager, you have both.
Interesting post
by Danielle Felder,
Your message is awaiting moderation. Thank you for participating in the discussion.
IT Central Station users agree that it is very important to have discipline when adopting agile, and find agile development tools helpful with achieving those goals. As an example, this user writes in his review of CA Agile Central, "In setting up agile delivery operations, CA Agile Central’s training and platform have been instrumental to our progress and success. CA Agile Central was a key ingredient to that delivery transformation. Also, CA has updated the tool to support Scaled Agile Frameworks, which is a key competitive differentiator for them." You can read the full review here: www.itcentralstation.com/product_reviews/ca-agi....