5. How to form a team?
For software product development
6. Two approaches to form a team
Functional
Cross-functional
Common functional expertise
Representatives from the various functions
Testers
System analysts
Developers
Development team
8. Two approaches to define scope for team
Layer ownership
Feat 1
Feat 2
Feature ownership
Feat 1
team
Feat 3
Frontend
team
Frontend
Backend
team
Backend
Database
team
Database
Feat 2
team
Feat 3
team
9. Why our goal - feature teams?
feature
Increased value throughput
Autonomy
Single Point of Contact
10. Two types of team members
I-shaped skills
JavaScript
Narrow but expert knowledge
T-shaped skills
C#.NET
JavaScript
Puppet
Wide range of shallow & one deep skill
11. Why I hire T-shaped people?
May cover each other
May suggest alternative solutions
16. Two approaches for optimization
Sub-optimization
System optimization
Testers
System analysts
Developers
17. Game: pass the pennies
20 coins
5 departments
5 managers (track time)
1 CEO (track time)
18. Learning points
When batch size decreases, total cycle time decreases
As total time decreases, worker time increases!
People idle more when batch size is high
19. Optimization
Sub-optimization is valid
for defined process
Feature
request
6
5
Total system throughput - 5
7
System optimization
for empirical process
Feature
Feature
delivered request
6
Total system throughput - 6
Feature
delivered
20. Multitasking or single-tasking
Working on several features
at a time
Feat 1
Feat 2
Feat 3
Feat 1
Feature 1
delivered
Feat 2
Feature 2
delivered
time
Working on one feature
at a time
Feat 1
Feat 1
Feature 1
delivered
Feat 2
Feat 2
Feat 3
Feature 2
delivered
time
21. Game: fill-in the table
1
I
A
How long will it take to fill the table?
2
II
B
What influences speed?
3
III
C
…
Fill in form horizontally (1, I, A, 2, II, B..). Measure
time.
Fill in form vertically (1..10, I..X, A..J). Measure time.
10
X
J
22. Learning points
There is no multitasking, but fast switching between tasks
Time increases when switching happens
23. Multitasking in team
Complete highest priority tasks first
Work in small batches
1 completed feature is always better than 7 started
24. Summary
Empirical process:
Inspect and adopt
Single-tasking:
Focus on highest priority, work on small tasks
System optimization:
Team is able and is enabled to decide everything
28. I Quarter
II Quarter
September
Feature path from idea to client
IV Quarter
October
III Quarter
Feature 1
Feature 2
Feature 3
Feature 1
Task 1
Task 2
October
Feature 4
Task 4
Feature 6
Deploy
Task 2
Task 3
Task 4
November
Feature 5
Dev
Task 3
Task 5
October
Roadmap
Backlog
Task list
Task board
Live
Task 1
30. Other facts
Team in one room
3 TV screens to monitor system in a team room
6 white boards (all walls covered in whiteboards)
Personal coffee machine
34. Sources
Pictures:
Money designed by Joe Harrison from The Noun Project
Timer designed by Casey Ochinang from The Noun Project
Arrow designed by Luke Macauley from The Noun Project
Rectangle designed by Renee Ramsey-Passmore from The Noun Project
Arrow designed by Eakarius from The Noun Project
Tesla factory picture is taken from The Washington Times Communities
Idea to gather feedback:
From Jurgen Appelo blog noop.nl
Games:
Pass the pennies game is taken from Crisp’s blog