Shu Ha Ri

Shu Ha Ri: – a martial arts term that represents the three stages of mastery. Scrum teams typically go through these same phases.

  • Shu – Follow the rule
  • Ha – Break the rule
  • Ri – Be the Rule

Follow The Rules

Learning how to be agile begins with the what and why” of scrum.  Why do we have the ceremonies?  What are the responsibilities of the roles?  What is a backlog and how do I create it?

Break The Rules

Then they can progress to modifying the rules of scrum to better fit the team. This stage is often marked by some turbulence in the team’s performance.  Here the team is learning how, when and if they can break the rules.  

Be The Rule

The final stage is where the team is agile, they automatically do and follow scrum.

What if the team forgets that they should only act on what they know?  What if they forget that the value delivered is what is important?  As a Scrum master how do you get them back on the path?

Coach the principles and why of scrum, reiterate the basics and ask the team where they might not living up to the scrum values.  Prove empirically that there are problems using tools such as: velocity trends, bug rates and value delivered versus value promised graphs.  Ask the team to come up with some ways that they can improve and give suggestions on ways that scrum can help the team accomplish its goals.

Even when teams have achieved mastery of scrum and agile principles doesn’t mean that their implementation of those principles is perfect or that they don’t need refreshers on the basics.

What to do with incomplete work at the end of a sprint?

Inevitably, during a products development the development team will pull in too much work to complete during a sprint, or will produce work that does not meet the definition of done, or fails to meet all the product owner’s requirements.  What should be done with incomplete PBI’s?  This debate has come up a few times with my teams.  Here is what we do to account for the expended effort and why.

First off let’s do a little review.  What is velocity in scrum?   Velocity is the measure of the rate at which a scrum team delivers done items from the product backlog, or how much value is delivered by the development team per iteration.  On our teams we use PBI’s and effort points, so for us our velocity is the sum of the effort for all PBI’s, that meet the definition of done, that are delivered in an iteration.  We use this number to help us tell if we are getting better as a team, and for release planning.

So what is the real goal of product development?  In each iteration, it is to produce a potentially shippable product increment, overall, it is to produce a product that meets some minimum scope.  In scrum we call this the minimum viable product, or MVP.  In scrum we accept that we don’t know everything that will need to be built for a product to achieve MVP so the minimum scope is a very rough estimate.  We base this estimate on the sum of the effort of the PBI’s we think we will need to produce.

So now that we have established some basics, what do we do with the PBI’s that are not completed within an iteration?  The scrum guide doesn’t really say what to do with these items, however it does state “When a Sprint is cancelled, any completed and “Done” Product Backlog items are reviewed. If part of the work is potentially releasable, the Product Owner typically accepts it. All incomplete Product Backlog Items are re-estimated and put back on the Product Backlog. The work done on them depreciates quickly and must be frequently re-estimated.”   I tend to treat incomplete items the same way normally the items are still the highest priority items so they typically get pulled into the next iteration.  I do get pushback from the development team on this though.  The development team typically asks, “Do we get the difference in points from the originally estimated versus the new estimate?” No, again what is velocity?  It is the measure of value earned in a sprint.  The only question that is relevant is “Did the PBI meet the definition of done and was it accepted by the product owner?” since the answer is no then no velocity was measured on those items.  But how does the development team get credit for the work they did?  What do you mean by credit?  That implies that the team is more focused on increasing their velocity, than producing quality increments of potentially shippable product.  Velocity is only valuable as a measure of a team’s productivity.  It should not be the goal of development, besides if the ultimate goal is to reduce the overall scope to 0 then that is best served by re-efforting the remaining work on incomplete items and either pulling them back into the sprint or leaving them in the backlog.

While I agree there is some value in keeping track of the old effort estimates I don’t think it offsets the unhealthy focus on velocity alone. The Agile Manifesto states “Working software over comprehensive documentation”.  The team should be more focused on delivering working “Done” software than increasing the team’s velocity.  All that said do what works for you and your team.  If it becomes a bone of contention then by all means give them credit for the “earned” effort, as long as you are using average velocity for planning the math works either way.  Have fun and scrum on.

Scrum for Stakeholders

 

Scrum in a product development framework that helps the development team produce software.  There are three roles on the Scrum team, the Product Owner, the Development Team, and the Scrum Master.  The Product Owner creates and maintains a prioritized list of features that potentially could be built, called a backlog.  The Development Team builds the items in the backlog.  The Scrum Master monitors the teams progress and helps to remove any impediments that may come up.

The process starts with a planning session, the team meets to decide what items from the top of the backlog it can successfully complete within the agreed upon time frame (sprint).  Every day the Development Team meets to discuss how they can best accomplish their work that day, this is called the daily Scrum.  After the sprint is up the Team meets with the Stakeholders (anyone that has an interest in the product), to review what was produced during the sprint.  This is called a sprint review.  It is the Scrum teams chance to course correct and make sure that they are delivering the most value it can to the company.   Next the team meets to discuss what they can do different to improve as a team and be more productive.  This meeting is called a retrospective.  We then plan again and the cycle repeats, until the product has achieved the level of functionality that the company needs.  This process provides us continual feedback on a rapid, and regular basis so that we can always be confident we are delivering the product the company needs in a timely fashion.

What is a stakeholder in Scrum?

What is a Scrum stakeholder?

In Scrum a stakeholder is anyone with an interest in the product.  It could be anyone including end users, project sponsors, subject matter experts, and anyone who may be asked to provide support or assistance.   To the Scrum team the most important stakeholder are the end users.  Why?  As a Scrum team our goal is to add value, as a team we want to build the application right but building the right thing is more important.  Stakeholders help the Scrum team make sure we are building the right things.  This means the stakeholder has some responsibilities to the project and therefore to the Scrum team.

  1. Attend Sprint reviews/product demos.  This meeting is very important to make sure what we are building is providing value.  The demonstration is a very efficient way for the Scrum team to begin a conversation regarding the product and get feedback from you, and therefore will help give the development effort direction.
  2. Keep an open mind and provide feedback.  Do you like what you see, if not what suggestions do you have? What changes do you think should be made?  Are we missing an important feature?  Are we investing too much time in something that you don’t value?

Put simply stakeholder feedback is the measure the Scrum team uses to make sure we are delivering value.

 

Hope to see you at the next sprint review.