Refactoring our environment

In his #BugsZero conference talk, Arlo also points out that there are a number of behaviors, which can make all of the preceding worse—distraction, busyness, and, perhaps the worst, accepting errors as the norm.

All of these require us to think from the Lean perspective and view the system as a whole.

For example, limiting work in progress is our primary weapon in avoiding busyness and distraction. It seems counter-intuitive, but when we context-switch we have to put down one problem and its associated mental model and pick up another.

This additional cognitive load means that we lose around 30% of our time to these mental model switches. Therefore, trying to work on multiple things at once (multitasking) just causes both things to drag out further than they would have if we'd have worked on them sequentially. This results in putting us under more pressure to deliver. This is why multi-tasking doesn't work well when switching between complex tasks, it just leads to us mess up multiple things at once.

In addition to limiting work in progress, we have to become rigorous at work prioritization. Back in Chapter 10Using Product Roadmaps to Guide Software Delivery we look at one approach called Weighted Shortest Job First (WSJF). In essence, this economic approach is how we deliver the largest amount of value in the shortest time possible. Delivering value is what builds trust with our business and when they see us doing the work that is most valuable, it avoids them interrupting us with other work.

The final category accepting bugs as the norm is perhaps the most powerful from the team's perspective. As we discussed earlier, we should see bugs as valuable feedback that we haven't got things right. If we triage each bug by performing some root-cause analysis, it will help us fix both the bug and the failing in the system that allowed us to create the bug in the first place.

Remember, to be successful with this amount of rigor we have to adopt a no-blame culture. We avoid blaming the individual we might think is responsible; instead, we look to fix the system and create an environment where bugs can no longer be created so easily.

Everybody is human and forgets to do things sometimes, and so, if the bug was caused because an individual forgot to run tests when they checked in code, then automate the running of tests each time the code is committed. The team has to take responsibility as a whole to fix errors.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.249.220