Agile/Scrum

for Dummies Roboticists

A methodology created for small, cross-functional teams

Main characteristics

  1. Deliver value to your customers
  2. Use iterative development
  3. Adapt to change

The infamous "project triangle"

Davide's tip: contrariwise to what other say, the area or the triangle in not constant

Waterfall 

Project management "de toda la vida"

Waterfall 

The analog version

Davide's tip: this model is still the best for some kind of projects

The "agile triangle"

Deliver value

Davide's tip: value is the happiness of the stackeholders,

including the team itself

Incremental value

Any iteration should deliver incremental value

How does it work?

Step 1: define the project requirements and intermediate deadlines

Known as "project backlog"

"AS A [type of user],

I WANT TO [do this thing],

SO THAT I CAN [accomplish this goal]."

Davide's tip: Try to decompose them hierarchically

"THE ROBOT,

CAN NAVIGATE AUTONOMOUSLY

TO A GIVEN POINT OF THE SEWER"

Step 2: split an intermediate deadline into small tasks

Davide's tip: if the unit is days, never more than 5

Each task has an estimated "effort"...

use fibonacci number to take uncertaincy into account

1 / 2 / 3 / 5 / 8 / 13 / ... 

Beware useless work!

Step 3: arrange tasks into sprints

  1. Any sprint should have a high level goal and a deliverable.
  2. Sprint shall always have a review phase.
  3. Team members pull tasks form the backlog.

Daily stand-up meeting

  1. What did I do yesterday that helped our team meet the sprint goal?
  2. What will I do today to help our team meet the sprint goal?
  3. Do I see any impediments that prevent me from meeting the sprint goal?

How do we define 

?

Step 4: retrospective

  1. Define what was achieved.
  2. Find opportunities for improvements.
  3. Add/remove tasks to the backlog

Keep
Iterating