the blog for developers

5 Practices Better to Change in Your Scrum Implementation

413103429 209df1863b m 5 Practices Better to Change in Your Scrum Implementation
Photo by royskeane

Scrum saw a big increase in adoption last year. Everyone who is doing Scrum, does it differently as Scrum is a framework, not a process. One needs to inspect and adapt, mostly through retrospectives and daily improvements. I’ve been an agile proponent since learning about XP in the 90s and had the chance to learn something about Scrum in the last years and positions.

It is hard to determine if someone is really doing Scrum, the famous Nokia test helps as a Litmus test. Jeff Sutherland writes:

In 2005, Certified Scrum Trainer Bas Vodde was coaching teams at Nokia Networks in Finland and developed the first Nokia test focused on Agile practices. He had hundreds of teams and wanted a simple way to determine if each team was doing the basics.

I’m certain Scrum needs to adapt. As I’m head of development at a startup, and a ScrumMaster, I had some canditates for a Java job and they’ve asked me about Scrum. I’ve told them we aren’t doing Scrum by the book. They’ve been suprised and thought we do Scrum-Butt:

Scrumbutt is a word for the organisations saying or at least thinking that they are using Scrum, but the fact is that they are only using parts of the method. It is when a user of Scrum is saying: “YES! We use SCRUM, BUT we have these deviations in our method…”

But there are two sides beside Scrum. Doing not enough Scrum – ScrumButt. And learning from Scrum and going beyond – especially more lean. I think we are more lean and beyond basic Scrum. How did I adapt Scrum?

1. No Review Meetings

Scrum has a review meeting at the end of each sprint to present the work done to all interested parties.

What we do: We have no review meetings. Reviews with customers/product owner are done right after a story is completed together with the developers.

Pro: Con:
  • Completed stories can go faster into testing
  • Completed stories can be deployed faster and go live earlier
  • It’s harder for other stakeholders to see the stories
  • It’s harder for the team to promote it’s work

2. No estimation of hours

Scrum estimates the hours remaining on each task card for each story. Those estimates are updated each daily scrum and drawn on a burndown chart.

What we do: We do not estimate hours.

Pro: Con:
  • Less work to do, so less time wasted on something which is – often – not needed, less waste
  • Updates of hours are done by one developer and therefor are more inaccurate
  • Harder to see if the time remaining in a sprint matches the work remaining
  • Developers are not bound by their hour estimates and tasks may take longer

3. No hour burn down chart

In Scrum remaining work in hours is drawn on a burn down chart.

What we do: We draw two graphs, story points remaining and tasks remaining

Pro: Con:
  • Less waste, as it’s easier to count SP and tasks than hours
  • Graph of tasks remaining shows if the sprint goal can be reached or if the team is behind
  • Story points remaining show that a team finishes stories too late in the sprint
  • Harder to see if the time remaining in a sprint matches the work remaining

4. We do not use Velocity for Sprint Planning

In Scrum some teams use the past velocity for planning the number of stories for the sprint.

What we do: We pull stories from the backlog. After each story was discussed during planning, the ScrumMaster asks the team if they can do this story in the next sprint. Go on until they say no.

Pro: Con:
  • Developers are not fixed on a number and therefor are more likely to improve
  • Velocity should increase in teams, if retrospektives are effective. So why focus exclusivly on past performance?
  • Because they are more aggressive with what they can do, developers may overestimate their abilities

5. We split the backlog into stories that are in planning and those that are ready for development

Scrum has a product backlog with stories and most of the time estimations. They are ordered top to bottom according to business value.

What we do: We add (at least) one more state. All stories which are ready for development are put in a “Ready” queue.

Pro: Con:
  • The team sees which stories are ready for development
  • The company sees if the ready queue is too large or grows too fast
  • More work for the ProductOwner, possible additional waste

I hope one or two things on the list get you thinking about your Scrum implementation and helps you to smooth your process and increase customer satisfication. What changes to Scrum have you applied? I would be interested to hear, please leave a comment.

You can leave a Reply here. Of course, you should follow me on twitter here.

You can share this post!
Do you want to tell others about this article? Use the social bookmark icons to submit this artice to the service of your choice. Thanks.

About the author: Stephan Schmidt is head of development at brands4friends. He has more than 15 years of internet technology experience and 10 years experience in agile. He was head of development, consultant and CTO and is a speaker, author and blog writer. He specializes in organizing and optimizing software development helping companies by increasing productivity with lean software development and agile methodologies. Want to know more? All views are only his own.

9 Tweets

Leave a reply.

Comments

My deviation: Instead of story estimation I introduced “story matching”: we take each story from this Sprint and try to match it with a story (or several stories) from the last sprint.

Pros: (1) Easier to match stories than to estimate them. Also, seems more accurate (2) Changes in velocity are built into the technique.

Cons: When starting to work on a story, harder to know its “weight”

BTW, what do you think about the Nokia test? I often have doubts about such tests. I sometimes feel that the only test for agility is a nice linear burn chart.

Yves

We use another form instead of hours. We are using AP (Arbeitspakete). We break down the whole work into small tasks todo and than burn down those APs. It works fine after some iterations when you know about how small the pakets should be. This idea is from johanna rothmans great book “manage it”.

Stefan Schubert

The funny thing is: The Scrum coaches teach their own deviations each.

They told us to estimate functionally not by effort. This way the estimation meeting remains a strategic meeting. The Product Owner can do the the release plans without effort estimations because of the law of big numbers.
Thus the Team is more likely to improve because estimations remain stable even if technical constraints change. “If this functionally is a 1 and we don’t want to have a future velocity of 1 we build a framework, to improve our velocity.
But what we did: Some of the same coaching company promoted a combination of effort and functionality, so called complexity estimation. This leads to Sprint-Planning2-style estimation meetings where developers try to understand what to do exactly. Additionally the estimates change as soon as the technical constraints change. Or two story estimations change when you change their order in the backlog, because they depend on each other, which kills the whole idea of the independent-story idea, which in turn is their to make the release planning easy. I.e.: Estimations should be stable/reliable and thus only accurate enough and thus functional seems to be the best way to estimate.

We were taught to only have a story point burn down chart (based on the estimations of the stories and only updated when stories are finished). No need to have numbers on tasks, instead rather distracting.

Last we were taught to not sprint-plan with estimations (as their are for release planning only). Nevertheless the team is doing it, to feel safer. Probably one of the other coaches of the coaching company told them to do so :-(

stephan

@Stefan: Ah you! :-)

I’d think if you only estimate functionality you need to know what to do (frontend, backend). Even function points are technology dependent (e.g. how many backend systems data goes to etc.)

If you estimate pure functionality (what’s that?) then you’d end up with “velocities” of 10,25,87,3,17,…. This I recon wouldn’t help product owners with release management.

I try to steer developers to a type of function point estimates, while at the same time asking them “is this planning 2 or needed for estimation?” This most of the time helps with not going into Planning2 discussions at estimation meetings.

The goal should be to not estimate anymore but have flow. The only use of estimation meetings is to teach product owners to right-size user stories.) If they can do that, drop estimations :-)

“We were taught to only have a story point burn down chart (based on the estimations of the stories and only updated when stories are finished). No need to have numbers on tasks, instead rather distracting.”

Often when only having story points, and the first stories are to big, the burn down chart will be a flat line which goes vertical towards the end. Doesn’t help very much with seeing progress in effort and business value.

Magnus

Hi,

dont´t you find it hard to know that you will be ready in time without some kind of estimation of the tasks? I can see a risk that instead of (together with the product owner) take away a story to save time, you will speed up in the end and in that way reduce the quality.

I also think it is strange to take away the review meetings, knowing that you will present your work can prevent you from making a shortcut in a solution.

You also write that it will go faster to test, that sounds strange to me. Do you mean that test is not a part of the user story?

Sebastian

@Stefan (the Codemonkeyism one):
Are you doing Scrum or Kanban?
If you have no review meeting but frequent customer reviews, why should you need iterations?

How long are you doing this now? And how old is the product (before or after release 1.0)?

stephan

@Sebastian: Ah, one from the famous Scrum shops in Berlin :-)

“Are you doing Scrum or Kanban?”

Scrum.

“If you have no review meeting but frequent customer reviews, why should you need iterations?”

I do hope we have not iterations in 6 months.

“How long are you doing this now?”

4 months.

stephan

@Magnus:

“I also think it is strange to take away the review meetings, knowing that you will present your work can prevent you from making a shortcut in a solution.”

The review is done after each finished story for each story together with stakeholders and product owners. Not in one meeting for all stories.

“You also write that it will go faster to test, that sounds strange to me. Do you mean that test is not a part of the user story?”

Most companies have a QA department with a QA phase. This usually starts after review. When the review is sooner, the story can be tested earlier (Testing by developers, acceptance testing and unit testing is done during development, regression testing in the QA phase).

In the long run one should drop the QA phase, have some exploratory testing ad do most of regression testing with automatic tools. Most companies are not there yet. Dropping review meetings (in the Scrum sense) drops the “waiting for QA” buffer.

I am a newbie when it comes to Scrum, but I am very interested in all that, and I am currently leading the move to Agile in my company for about 2 weeks now.
Nevertheless, I have my opinions about your post too.

1. No Review Meetings
I disagree on this point. A sprint is supposed to have a goal, defined by a statement. Something like “All Search feature are finished” for instance.
The review, in my opinion, is supposed to verify that this goal (and not necessarily each user stories) is reached, and approved by the product owner or the customer.

3. No hour burn down chart
I’ve never used hours on the burndown, Always used the storypoints. Actually, on a small 6 months project last summer, we used only storypoints, and never refered to hours anywhere, that worked fine as well. :)

4. We do not use Velocity for Sprint Planning
I am currently reading the book Agile Estimation and Planning by Mike Cohn, and according to him, this is not something modifired I think. he describes both way of creating and estimating the sprint backlog. velocity driven, or commitment driven. Both have advantages and drawbacks, but using one or the other depends on the situation, or maybe just of the personal preferences of the team. Though, his preference goes to Commitment :), and mine too.

stephan

@Stephane:

“A sprint is supposed to have a goal, defined by a statement. Something like “All Search feature are finished” for instance.”

The sprint goal has been the weakest point in most Scrum implementations I’ve seen. Perhaps it’s hard to get right.

“Both have advantages and drawbacks, but using one or the other depends on the situation, or maybe just of the personal preferences of the team”

Interesting to know, read the book, probably forgot :-)

(TooManyBooksReadMemoryEvictionExceptioN)

Stephan,

It is ok to me skip review for SOME (less valuable) stories and present them while Sprint is running. But, at least as how I think about Review, it is a public meeting, and so, anybody can come in to offer feedback. This is why I think that is not ok completely skip the review meeting. Moreover, I can’t understand your point about “stories going faster into testing”. Testing is a requirement for done, right?

About the “ready” state for stories be “more work for the ProductOwner” and “possible be additional waste”, it only happens if you try to put to much stories in your ready state. Put stories enough for the next 1 or 2 sprints only.

Kind Regards

stephan

@Marcos: As said before, most companies have a distinct QA phase before release. This is different than acceptance & unit testing.

If you do not need a QA phase, good for you. Keep it that way.

For companies with a QA phase: It can be reduced by dropping review meetings and doing starting the QA phase as soon as a feature is done.

For example:
You develop a feature/story in the first 2 days of a sprint. You’re sprint is 2 weeks. The the feature will wait for QA for 8 days. Doesn’t make sense :-)

If your story goes live directly after it’s finished (continous deployments), hurray!

Stephan,

I was not talking about drop QA people, but about do QA as an activity that TEAM must do to change a story from “in progress” to “done”. For sure you should have QA activities, but I think they fit better inside the team. In other words, the story is done when all the work – including QA – is done.

Sorry, by QA people I mean QA phase.

kind regards

stephan

“In other words, the story is done when all the work – including QA – is done.”

If that already works at your company, keep it. Most companies have distinct QA phase and need to transition towards lean.

Leave a Reply

What people wrote somewhere else:

New blog post about how our Scrum differs RT @codemonkeyism 5 Practices I’ve Changed in Our Scrum Implementation http://bit.ly/oot2j

This comment was originally posted on Twitter

RT @codemonkeyism 5 Practices I’ve Changed in Our Scrum Implementation | Code Monkeyism http://bit.ly/oot2j

This comment was originally posted on Twitter

RT @codemonkeyism 5 Practices I’ve Changed in Our Scrum Implementation | Code Monkeyism http://bit.ly/oot2j

This comment was originally posted on Twitter

RT @codemonkeyism 5 Practices I’ve Changed in Our Scrum Implementation http://bit.ly/oot2j

This comment was originally posted on Twitter

fav: 5 Practices I’ve Changed in Our Scrum Implementation | Code Monkeyism : http://bit.ly/HvTGp

This comment was originally posted on Twitter

How do you implement scrum? interesting discussion on pros and cons of agile here: http://bit.ly/HvTGp

This comment was originally posted on Twitter

Adapting your Scrum: http://bit.ly/Vlne6 – we’re are doing 2,3 and 4. #scrum #agile

This comment was originally posted on Twitter

5 Practices Better to Change in Your Scrum Implementation http://bit.ly/HvTGp #Agile

This comment was originally posted on Twitter

Retweeting @thebitsource: 5 Practices Better to Change in Your Scrum Implementation http://bit.ly/HvTGp #Agile.

This comment was originally posted on Twitter

Additional comments powered by BackType

Guide to CodeMonkeyism

Over the last 4 years I wrote many articles on this blog. To make it easier for you to find the relevant ones, I've organized them into topics.

Top 10

6 reasons why my VC funded startup did fail

Go Ahead: Next Generation Java Programming Style

Java Interview questions: Write a String Reverser

The dark side of NoSQL

7 Bad Signs not to Work for a Software Company or Startup

Is Java dead?

Scala vs. Clojure

Never, never, never use String in Java

No future for functional programming in 2008 – Scala, F# and Nu

Clojure vs Scala, Part 2

Job Seeker

Another Good (Java) Interview Question

7 Bad Signs not to Work for a Software Company or Startup

Java Interview questions: Write a String Reverser (and use Recursion!)

Java Interview questions: Multiple Inheritance

As a Manager: What I value in developers

Top 10 Tips (+1) to Get a Pay Raise

Java Developer

Is Java Dead?

Go Ahead: Next Generation Java Programming Style

Be careful with magical code

All variables in Java must be final

Never, never, never use String in Java

Bending Java: More readable code with methods that do nothing?

Startup/CTO

Development Dream Teams

6 reasons why my VC funded startup did fail

American vs. European style of Software Development

12 Things to Reduce Your Lead Time and Time to Market

The high cost of overhead when working in parallel

Essential storage tradeoff: Simple Reads vs. Simple Writes

Agilist

What Developers Need to Know About Agile

5 Practices Better to Change in Your Scrum Implementation

Scrum is not about engineering practices

ScrumMaster and ZenMaster: The joke of certification

What is Trans-Scrum?