Doug Seven at MS, describes a variation of on Scrum where they only get Customer feedback one sprint in three. This isn’t Scrum. Scrum relies on getting frequent feedback from the Product Owner (aka Customer). Teams should be able to consult with the Product Owner daily (at a minimum a couple of times a week). Why is this important? It stops us going too far off course. It’s easier to (and cheaper) to make changes while the code is still fresh in our minds.
Finally a week long planning session seems suspiciously long – for a month long sprint you would normally expect about a four hour planning session (the norm is an hour per week of sprint). This much upfront planning/design iteration sounds more like waterfall than anything Agile.
Doug if you only get feedback once in three months how is this scrum? How is it even Agile of any form?
Update: Doug has replied on his blog, there is really a lot more going on than he stated in the original post. He really is doing Scrum with a bit of XP. I will let this post stand because my point about doing Scrum without a customer still stands.
Mark – I don’t think I was very clear with this explaination (the dangers of blogging in a hurry). Let me try to clarify.
The team interacts with the Product Owner (PM @ MS) and the Onsite Customer (PdM @ MS) daily. As a matter of fact, the Product Owner, Developers and Testers all work in the same room. The Onsite Customer is readily available daily, attends all planning sessions, and frequently attends the daily standups.
We release demos/betas for external customer feedback once a month. In the 1st month of the heat we release a demo. In the 2nd month of the heat we integrate the feedback from the 1st month’s release along with more features, and release a beta. In the third month, we integrate any remaining feedback, and polish for production release at the end of the Heat.
The weekly iteration planning is an XP thing. We have a 1-2 hour planning meeting at the beginning of each week to plan the engineering tasks for that week. A good break down is that we use Scrum as a project planning methodology with month-long sprints, and XP as an engineering planning methodology with week-long iterations within the sprints.
At the end of each sprint we have a release. At the end of each iteration we have some of the tasks associated with the features set complete, but possibly not yet releasable.
For example, this month we are working on a new UI for posting to forums. The “release” for the end of the month is a 5-step UI that enables authoring a post, tagging it using our Tagspace solution, previewing it, and possibly editing it before posting. This week we have tasks to complete the Master Page and Step 1’s UI, plus enable searching for related threads/forums based on keywords using a REST interface. Next week we will take on the tasks of the UI for Steps 2 & 3, etc.
I hope this helps clarify what I meant in my original post.
Great posting with awesome information.
I wrote something up similar about the role of a product owner, and you can read more about it at https://www.implementingscrum.com/cartoons/implementingscrum-20061030.html
Keep up the great postings!
– mike vizdos
http://www.michaelvizdos.com
http://www.implementingscrum.com
Links (1/14/2007)
.NET, C#, VB.NET C# Fundamentals Help me with the plumbing – factories, application blocks, and more