We continue a review of key agile patterns with more ways to make sure it all goes right. Each pattern is possibly overstated. However, we need these to be a part of our process to get the benefits of an Agile approach. As always, when we veer away from these patterns, we increase our odds of failure.
We have mentioned the product owner as a role in Scrum. We need this person to provide decisions. That may seem trite or simplistic. Nevertheless, an Agile project often requires someone to make a decision. That may be a user experience opinion or a key business direction built into the solution. Analysis paralysis is far too easy to fall into when so many decision points exist as they do in this process.
Quality of Service
We noted early on that the Agile Manifesto recommends regular and working software delivery. This principle gives us a method for feedback from the client and builds trust with them. That makes the quality of service one of the most essential of the key agile patterns. Trust is built with the customer when we make promises and deliver on them. Thus, we reduce stress and drama by stating what we will do and then following up. It reduces or eliminates discussions around estimations and planning as the team is trusted to give their best effort. The urge to “haggle” items into a release or squeeze estimates is reduced when our estimation skills are trusted.
We often talked about estimating tasks. This pattern focuses on our ability to estimate relative differences among tasks. For example, we need to categorize items as easy, hard, and in between. This skill impacts our overall estimates. When we improperly place a task in the wrong “bucket,” it can completely tank our velocity. This result is just common sense. Correcting for a 5% mistake of estimation is far easier than 50%. That goes both ways. It may be nice to get a two-day task done in an hour. However, that can completely mess with our velocity. The tighter our estimates, the better, and that means placing tasks in the proper buckets.
This pattern boils down to working for the good of the team or project as opposed to ourselves. That is critical for agile teams that function on the highest levels. We work together to remove obstacles for others while ours are removed as well. It allows all of us to move forward quickly while also building morale and camaraderie.
Challenge of The Week: Which of these key agile patterns would benefit you most?