Uncovering Better Ways
"We are uncovering better ways of developing
software by doing it and helping others do it." - http://agilemanifesto.org
software by doing it and helping others do it." - http://agilemanifesto.org
This is how the Agile Manifesto starts.
Let's just pause for a few minutes - I know how hard it is to stop thinking of deadlines, and technical challenges, and releases and velocity and burn down charts, etc., etc. But do me a favour, grab a cup of coffee or tea or your favourite brew, sit down, take a few deep breaths and join me for a few minutes.
What we're saying in that awesome starting statement is that:
1. We're developing software. And while we're doing that...
2. We're helping others develop software. And while we're doing that...
3. We are uncovering better ways to do just that - software development.
Here's a few perspectives on how to look at these 3 activities side by side.
1. We're developing software. And while we're doing that...
2. We're helping others develop software. And while we're doing that...
3. We are uncovering better ways to do just that - software development.
Here's a few perspectives on how to look at these 3 activities side by side.
First on my mind - if we're uncovering better ways to do software development, then we all need to agree we don't have it all figured out. And more so, we will continue to uncover better ways ALL THE TIME. Which also means we're not looking to get to a target state, where we've got it all figured out.
The way the statement starts - "We are uncovering better ways..." - is the quintessence of agility, it is the main, core principle of what makes each and all of us be agile.
It does not ultimately matter if we are experts or beginners in one area or another - if we're experts at user stories/acceptance criteria/spec by example, or if we are the best at code refactoring and code quality, or if we are super-strong at test automation and TDD.
What is much more important is how persistent, unrelenting and uncompromising we are about our continuous improvement practices.
The main shift in our knowledge, mindset and then approach is to look at our work and everyday tasks from the perspective of learning and discovery.
It does not ultimately matter if we are experts or beginners in one area or another - if we're experts at user stories/acceptance criteria/spec by example, or if we are the best at code refactoring and code quality, or if we are super-strong at test automation and TDD.
What is much more important is how persistent, unrelenting and uncompromising we are about our continuous improvement practices.
The main shift in our knowledge, mindset and then approach is to look at our work and everyday tasks from the perspective of learning and discovery.
Second point to make here - this happens all the while we're constantly developing working software - "...while doing it...".
Delivery will always be front and centre due to organizational culture and pressures, commitments, pre-existing working models, etc.
But that's just fine - because we learn in the process of delivering working software and value to the business. At the onset of a new initiative, program, project we have to validate a large amount of assumptions and through that to mitigate existing challenges and risks early on in the cycle. And we do that to minimize the risk and dramatically increase our chances to deliver value early and continuously.
Delivery will always be front and centre due to organizational culture and pressures, commitments, pre-existing working models, etc.
But that's just fine - because we learn in the process of delivering working software and value to the business. At the onset of a new initiative, program, project we have to validate a large amount of assumptions and through that to mitigate existing challenges and risks early on in the cycle. And we do that to minimize the risk and dramatically increase our chances to deliver value early and continuously.
Last but not least, we're helping each other throughout this process - "...and helping others do it".
Communication and collaboration are tightly intertwined into the very fabric of the agile mindset. It is the premise of each and all pieces of working software being delivered in a team context, and beyond the constraints and limitations of egos and individualistic attitudes.
Communication and collaboration are tightly intertwined into the very fabric of the agile mindset. It is the premise of each and all pieces of working software being delivered in a team context, and beyond the constraints and limitations of egos and individualistic attitudes.
Your turn now - please jump in and add other meaningful thoughts and ideas that you came up with while reading this!
Or ask some of the questions that come to mind - this is a really tough change for us all to deal with!
Or ask some of the questions that come to mind - this is a really tough change for us all to deal with!
Comments
Post a Comment