Scrum Prototyping, Sprint Zero (NO) and
I was talking with some smart people at a client’s location. They said: “We do a Sprint -1 where we do rapid Scrum prototyping. We do a Sprint every day, produce a new version of the GUI, etc., and review it with the customer team daily. It lasts for two weeks, or did last time. It is mainly visuals to help us in discussions with the customer about what they really want. Generally low fidelity, generally throw-away code (to the degree it is coded).”
I am, perhaps slightly famously, against the Sprint Zero concept — I will describe that more fully elsewhere — but the basic idea is that I don’t like a Sprint that results in no working software.
More importantly, I don’t like a Sprint Zero because it includes (mostly/only) work about which the team can get no objective feedback from someone useful — did it contribute toward what the customers really want? No ‘test.’
So, it is mainly the lack of real feedback and no test that troubles me.
So, how does the situation presented by this client compare to this?
To me, the client is doing an excellent job, at least so far as we can tell from the conversation, in trying hard to understand what the customer really wants. In general, I find abstract conversations with customers are of low value, while conversations that include visuals, and include, where relevant, some visualized work flow, can be much much more useful. This seems to be the case here.
That they produce some ‘working product’ DAILY that can be usefully discussed with the customer to get feedback seems excellent. Yes, this working product is not working software as we typically have in a Sprint in Scrum, but this seems far less important in this case than that they are increasing and tightening the feedback loop with the client, and it sounds as though both the team and the client find the tight feedback loop useful.
That they call the one- or two-week effort Sprint -1 does not thrill me, honestly. It suggests to others that a Sprint Zero concept is OK, even good. That someone speaks of doing a daily ‘Sprint’ within the Sprint -1…well, as an English major I want to quibble about word usage. (Is this minor? Well, we want words to convey meaning, and…)
That the prototypes are throw-away does not seem, on the surface, ideal, but maybe quite appropriate. This ‘cost’ seems minor compared to the fast learning.
To me, the main thing is that they are increasing rather than decreasing the feedback, and tightening (speeding up) the feedback loop. This has to be good.
What is less clear (at least from that conversation) is how well the feedback is happening through the rest of the delivery effort. Perhaps more on that later. I am concerned that they (and, more so, others) might consider the customer feedback ‘completed’ after the Sprint -1 work, and get very little additional feedback until the release. If all later feedback were to be reduced, this would not be good, in my opinion from afar.
Net, net: Some people feel that every accommodation made between an idealized Scrum prototyping and reality is necessarily not doing Scrum ‘right,’ although maybe still the right thing to do.
While I am in general skeptical that changes to Scrum will really help, certainly some accommodations are useful.
It is true that too many people are subtracting from Scrum (which we tend to call ‘ScrumButt’), and in almost every case we find that to be not good for them, really.
But adding to Scrum — and I want to call the above usage of ‘Sprint -1’ an addition — adding to Scrum is, in general, necessary and often a very good thing. Yes, a Sprint Zero (as described earlier) would be a bad addition, in our view, but in general additions to Scrum can be necessary and useful.
The key is: Are the additions made in the context of Lean-Agile-Scrum values and principles? Such as, the principle of increasing the feedback so that the bad news does not get better with age.
Sometimes, two or more Lean-Agile-Scrum principles will come into conflict in a specific case. Then the question is which principle should have precedence.