After doing lots of Gantt Charts, Use Case Diagrams etc. in the waterfall simulation, it’s time now to break down the requirements into small and independent User Stories. The User Stories shall then be sorted by priority: The Backlog comes into existence.
Now the teams will have to do a planning game: Estimate the most important stories (enough of them to be able to fill a first iteration) and commit to an iteration goal. The main target here is to come up with a releasable piece of (simulated) software. We’ll use the same technique as in the waterfall simulation: Implementation and testing of user stories will happen with pseudo code on cards and paper prototypes of UI screens. After a fixed time, I’ll ask the teams to demo their working functionality.
After each iteration I’ll run a short retrospective with the teams. They should be able to learn quickly to improve the coming iterations. I’ll ask them to address at least one impediment they found in the previous round within the current iteration. Let’s see how this goes 🙂
End Of The Scrum Simulation
While I won’t introduce every Scrum concept in depth (I’ll skip the Product Owner for example), the students should get a good feeling about what it means to get something workable out of every iteration and how retrospectives help for quick learning. I’m curious how the results will differ from the previous waterfall simulation. Will the students really come up with more working features? Will they feel more in control and more productive? Let’s see…
Simulating a Lean Development Project
The third, and final, simulation will be Lean. Instead of working in iterations, the team will use a Kanban Board and try to get stories done as fast as possible. In the beginning, I’ll let the team start without any WIP (work in progress) limits. I can imagine, that the teams will stall – not being able to finish a single story in a given time. Then I’ll introduce the WIP limits and the flow should become smoother.
After running all three simulations: Waterfall, Scrum and Lean, I’ll do a final retrospective including all three approaches. What were the experiences of the team? Where did they got done most stories? Of course, we’ll take the learning curve for the basic techniques (like writing and interpreting pseudo code and UI paper prototypes, formulating user stories, etc) into account.
What do you think? Will I be able to show the various effects we know from the real world in a classroom setting? Let me know in the comments!