A methodology created for small, cross-functional teams
- Deliver value to your customers
- Use iterative development
- Adapt to change
The infamous "project triangle"
Davide's tip: contrariwise to what other say, the area or the triangle in not constant
Project management "de toda la vida"
The analog version
Davide's tip: this model is still the best for some kind of projects
The "agile triangle"
Davide's tip: value is the happiness of the stackeholders,
including the team itself
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
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
- Any sprint should have a high level goal and a deliverable.
- Sprint shall always have a review phase.
- Team members pull tasks form the backlog.
Daily stand-up meeting
- What did I do yesterday that helped our team meet the sprint goal?
- What will I do today to help our team meet the sprint goal?
- Do I see any impediments that prevent me from meeting the sprint goal?
How do we define
Step 4: retrospective
- Define what was achieved.
- Find opportunities for improvements.
- Add/remove tasks to the backlog
Agile for roboticists
By Davide Faconti