Agile: Reflective Practice and Application
John Yorke, WWT Agile Coach, authored a recent blog post for InfoQ.com, where he discusses three separate thought processes that contribute to successful agile software development.
Posted by InfoQ on August 4, 2018:
As an Agile coach, it's very easy to get wrapped up in theory rather than practice, as some topics can be so simple for us to understand, yet sometimes difficult to execute.
We see so many Agile transformations fail and so many poor implementations of Kanban or Scrum that at times we can feel really good about success while other times we feel disappointed. The concepts are neither complex nor new, it's just that they are very difficult to implement effectively in a lasting manner.
Successful Agile software development is based on the following three similar, but intertwining thought processes, and if anyone of them is absent, the strength of the whole is significantly diminished.
- Systems Thinking
- Community Context
- Reflective Practice and Application
Sometimes we get focused too heavily on the principles and the values, but the "Manifesto for Agile Software Development" begins with what I think is a statement more important than the rest: "We are uncovering better ways of developing software by doing it and helping others do it."
At the very heart of the manifesto is the notion about getting better at delivering software: "We are uncovering better ways." It is a journey of discovery; we do not have all the answers. And "by doing it and helping others do it." It is not just theory, and we share our successes with others so they can benefit from our past successes and failures.
Systems Thinking
It sounds great and perhaps we would be better served coming up with a less grandiose title, but essentially the issue here is that YOU are not the center of the universe. "You" could mean you personally, or your team.
The goal is effectively solving a problem for a user, usually with software. Our system is the whole process from identifying a need, through to the delivery of a solution, and that solution being used to satisfy a need, and a need that has been identified as the next most important need.