ICM – Computer Science Major – Software Engineering - Part 1: Introduction and M1 Cyber Physical and Social Systems – Course unit on CPS2 engineering and development, Part 3: System Engineering
Institut Henri Fayol - MINES Saint-Étienne
Scrum
Lecture
Scrum is a lightweight framework that helps people, teams and organizations generate value through adaptive solutions for complex problems.
In a nutshell, Scrum requires a Scrum Master to foster an environment where:
-
A Product Owner orders the work for a complex problem into a Product Backlog.
-
The Scrum Team turns a selection of the work into an Increment of value during a Sprint.
-
The Scrum Team and its stakeholders inspect the results and adjust for the next Sprint.
-
Repeat
Pointers
-
Read the scrum guide
Lecture Notes
-
Scrum team: Scrum Master, Product Owner, Developers
-
Framework
-
Product backlog
-
Sprint planning
-
Sprint backlog
-
Daily scrum
-
Sprint review
-
Increment and Done
-
Sprint retrospective
-
Scrum values
A SCRUM Learning Game
Introduction to the project and the goal: GA release of a Jurassic Island
As teams of 7-8 students, your goal is to have a General Availability release of the product Jurassic Island by the end of the session.
The first hatch of dinosaurs with reconstructed DNA will emerge from the eggs in one hour. We want to have them safely parked in a part of the island as soon as they emerge, with two rows of fences. We want tourists to be able to observe dinosaurs from their bungalow or observation turrets, and do safari tours through the park. We need barraks for the jeeps and the staff, a helicopter and its helipad, and a boat to travel the dinosaurs and the tourists.
Product Owners
Guidelines and instructions
This is a simulation, so:
-
there will obviously be a lot of overhead with respect to the actual work.
-
try not to touch the "code" outside sprints
-
try not to talk or echange things when "coding"/testing
-
The Product Owners are rare resources, not always available
The simulation game (approx. 120 min)
Release planning:
Create the product backlog with the help of the product owner (using post-its on a split board: not started, in progress, done)
Iterations
3 sprints of approx. 30 min each (+ a forth if there is time). Each sprint iteration has the following steps:
-
planning 1 (3-5 min): "WHAT" and "WHY" with the help of the product owner.
-
planning 2 (10 min): "HOW" + split product backlog items into estimated tasks, and commit to some of them during this iteration
-
work pass #1 (3 min): actual work (simulates actual coding)
-
scrum meeting (1 min): checking and coordination
-
work pass #2 (3 min): same as above
-
demo (3-5 min): present results to product owner who will: test the results, give feedback, and validate "done" features
-
retrospective (3 min): discuss the way of working: what/how to improve, things to keep, drop, try in the next iteration.
Reflection (5-15 min)
students: what you have learned, what you felt, questions + clarifications
product owner: what we hope you have learned from the experiment
Reference
Paasivaara, Maria, et al. "Teaching students scrum using LEGO blocks." Companion Proceedings of the 36th International Conference on Software Engineering. 2014.