Nov 1, 2019
We, as humans, are really intolerant of uncertainty to a large degree. We actually are inherently set up to dislike uncertainty in most situations.
So how do uncertainty and our ability to be able to deal with it have anything to do with agility and my everyday work team? Well, Dan thinks it has everything to do with it! Uncertainty and our ability to cope with change affect how teams function, how people respond, and even how the team plans projects in the first place.
In this episode, Dan jumps right into what uncertainty is (and why we, as humans, are rather intolerant of it), how we can better cope with uncertainty, how it relates to agility, and how agility can be used to address uncertainty!
How do we respond to uncertainty?
As the uncertainty of an outcome approaches the 50% mark (i.e. there’s a 50% chance that an outcome could be either negative or positive), that is when our stress response is highest
If we already know the outcome (be it positive or negative), there will not be much of a stress response either way — it is with the uncertainty that it is the highest
The five coping techniques as outlined in “5 Ways to Manage Your Fear of Uncertainty”:
1. Commit to gradually facing uncertainty
2. Connect to a bigger purpose
3. Don’t underestimate your coping ability
4. Bolster resilience by increasing self-care
5. Appreciate that absolute certainty is impossible
How to address uncertainty with agility:
Shifting away from plan-driven software into a more agile approach can bring the fear that there is a lot more uncertainty in delivering the software — however, agility actually helps us face uncertainty by slicing capabilities and through establishing feedback loops
On the technical side of agility, uncertainty is also addressed through automated unit testing and test-driven development
Frequent code check-ins are also valuable in addressing uncertainty
In terms of connecting to a bigger purpose to address uncertainty, think of the scrum product owner as a chief storyteller (their job is to articulate the purpose and help those on the team connect their contributions on a daily basis to the greater vision of the product overall)
‘Don’t underestimate your coping ability’ when applied to agility can be thought about as the ability to deal with things when they don’t go well
When people underestimate their ability to deal with software that may need changes down the line, they’ll overbuild software — so it’s important to remember: YAGNI (You ain’t gonna need it!)
Most importantly, remember: “You don’t want to sacrifice the good enough for the perfect” — you can always change the code down the line, it is not detrimental
Bolster resilience by increasing self-care by sleeping well, taking a nap at work (if you can), and taking a break when you’re feeling stressed
You can also bolster resiliency by growing your technical chops (through coding katas), looking for opportunities to engage with the broader community (through code camps or meetups focused around your particular domain), and looking for opportunities to play at events like Global Game Jam (because social connections often bring you new opportunities and new ideas you can leverage on your teams as well)
It is important to remember that absolute certainty is impossible; there is no way of knowing our code will meet the needs of a user forever — in fact, it’s quite impossible to have the perfect solution that will work forever (so roll with the changes as they come in and simply embrace it!)
Mentioned in this Episode:
Dan Neumann’s Book Pick:
Want to Learn More or Get in Touch?
Visit the website and catch up with all the episodes on AgileThought.com!