tags:

views:

171

answers:

5

We're about to start with some projects based on Scrum. The duration of a sprint is two weeks. But most likely, the customers are not able to attend the final presentation of each sprint, due to distance or busy schedules (it's for a school project, so the stakes aren't that high)

How should we handle that best?

+5  A: 

I'll give it a shot, having experience both as a ScrumMaster and project manager. I have been in this situation quite a few times. The presentation or demo is very important and you will have to make that very clear to your customer.

In real life projects there are several options:

1) explain to the customer (again) how Scrum works. Explain to him that the product owner role is key to the success of the project. At least the (delegated) product owner should attend the demo, just as he should attend the planning meetings. Make very clear (on paper or mail, the so called CYA (Cover Your A**) tactics) that it is his risk if he still decides not to attend the demos.

2) if he really has a very good reason not to attend every demo, try to make him attend at least some demos, for example once every month.

3) if this still isn't possible (very unlikely) then you could consider making screen casts during the demo (without the customer) and send them to him. You can combine 2) and 3).

4) Bribery :) Make sure that every demo you have something to eat. Cake, donuts, anything. You will be surprised how many people suddenly turn up.

For a school project I would explain to the customer that for the learning effect it is important to do the project as realistic as possible. Otherwise you could always resort to option 3.

Hope this helps

Maurits Rijk
Thanks for the explenation. Should the product owner be one of the customers, or can someone external to the development team can play that role?
Ikke
Altough you have a good answer, I can only accept one.
Ikke
+7  A: 

I'm sorry to say that but Scrum is more targeted at customers and businesses than development teams. What I mean is that the customer should decide to use Scrum, not only the development team. Quoting Ken Schwaber and Kane Mar (in this old paper):

Scrum consists of practices and rules to be used by management, customers, and project management to maximize the productivity and value of a development effort. Scrum takes the responsibility for development projects out of engineering and IT and puts them squarely back in the business. With Scrum, businesses own and manage projects rather than tossing them over the wall to IT and hoping for the best. Scrum reintroduces accountability for IT projects to the business, requiring the business to maximize the ROI, without excuses. A business uses Scrum to run development projects in a business-like manner, paying particular attention to realizing the value of the investments as soon as possible.

In other words, Scrum, like all Agile methods, requires active customer involvement and if your customer isn't there for the demo (of the product you're developing for him), if he's not there for the sprint planning meeting, if he isn't available to answer questions, in other words if he's not involved, your implementation of Scrum will very likely be suboptimal (I'm extrapolating about the other points but I wonder how you will handle them with a remote customer).

Now I admit that this might not be a "that big" issue for a school project.

So, back to the initial question, if your only impediment is that the customer can't be on site for the sprint demo, you can maybe (because the immediate feedback you'll get is important):

  • go to the customer
  • use video conference
  • plan the demo and the sprint planning meeting the same day to "optimize" the cost of transportation
  • have the customer represented by someone else

This is one of the nice things with Scrum, you can make impediments visible and have your ScrumMaster work on them to get the team as productive as possible. And if you can't remove them, at least you know why your velocity isn't optimal.

And I hope you'll be able to use Scrum!

Pascal Thivent
+1 Nice explanation.
Paul Hildebrandt
Nice tips. I hope it too. The "stakeholders" (not the customers) are willing to use Scrum, but on the other hand, they are requiring some steps which are non-scrum like big design op front and predefined sprints
Ikke
+1  A: 

If you dont have a customer/product owner to validate your work at the end of a sprint your not doing Scrum. Its a key part of Scrum.

Thats not to say you cant complete your development in another way.

Paul Rowland
Does the customer needs to be the PO? Are can someone else fill that role?
Ikke
Scrum dictates you need a product owner, they have overall responsibility for priority on the product backlog and responsibility for accepting 'as done' the work from each sprint. If that person isnt 'the customer' then it should be someone the customer trusts to provide him with a product they are going to pay for.
Paul Rowland
+1  A: 

The product owner may not be the "customer", it could be the sales person or someone else that understands the customer's needs.

Having a pretend "customer" that is not one of the developers is always better than having the developers not show the software to anyone until it is "finished"

Ian Ringrose
What do you mean with "don't let the developers show the software until it is finished"?
Ikke
A: 

We use Scrumy and one nice thing with that is that the dev team can make the scrum board read-only. It is an online app so the customer could see the board and the progress of their project at any time. It updates in real time so even if the customer is looking at it it will change as the board changes for them. So, if you have a customer that really likes to watch what is going on but keep them out of the dev teams way the read-only view for Scrumy works great.

Bob