Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Teamwork Agile way

Teamwork Agile way

How to form a software development team? Why I choose cross-functional feature team over functional layer team? The true story of one team.

Lena Barinova

October 23, 2013
Tweet

More Decks by Lena Barinova

Other Decks in Technology

Transcript

  1. Two approaches to form a team Functional Cross-functional System analysts

    Development team Common functional expertise Representatives from the various functions Developers Testers
  2. Two approaches to define scope for team Layer ownership Feature

    ownership Database team Backend team Frontend team Feat 1 Feat 2 Feat 3 Database Backend Frontend Feat 1 team Feat 2 team Feat 3 team
  3. Two types of team members I-shaped skills T-shaped skills Narrow

    but expert knowledge Wide range of shallow & one deep skill JavaScript JavaScript C#.NET Puppet
  4. Why I hire T-shaped people? May cover each other May

    suggest alternative solutions T-shaped
  5. Two approaches to control any process Defined Empirical Do Check

    Act Plan Step 1 Step 2 Step 4 Step 3 Step 5 Materials Product
  6. 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
  7. Optimization Sub-optimization is valid for defined process System optimization for

    empirical process Feature request Feature delivered Feature request Feature delivered 6 5 7 6 Total system throughput - 5 Total system throughput - 6
  8. Multitasking or single-tasking Working on several features at a time

    Working on one feature at a time Feature 1 delivered Feat 1 Feat 2 Feat 1 Feat 3 Feat 2 Feature 1 delivered Feat 1 Feat 2 Feat 1 Feat 3 Feat 2 Feature 2 delivered Feature 2 delivered time time
  9. Game: fill-in the table How long will it take to

    fill the table? What influences speed? Fill in form horizontally (1, I, A, 2, II, B..). Measure time. Fill in form vertically (1..10, I..X, A..J). Measure time. 1 I A 2 II B 3 III C … 10 X J
  10. Learning points There is no multitasking, but fast switching between

    tasks Time increases when switching happens
  11. Multitasking in team Complete highest priority tasks first Work in

    small batches 1 completed feature is always better than 7 started
  12. 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
  13. Feature path from idea to client Roadmap I Quarter II

    Quarter III Quarter IV Quarter September Backlog October November October October Feature 1 Feature 2 Feature 3 Feature 4 Feature 5 Feature 6 Task board Dev Deploy Live Task 1 Task 2 Task 3 Task 4 Task list Task 1 Task 2 Task 3 Task 4 Task 5 Feature 1
  14. Meetings Backlog review (1 hour, biweekly, team) Standup (15 min,

    daily, team) Review (1 hour, biweekly, extended team) Retrospectves (30 min, biweekly, team) Other meetings on demand
  15. 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
  16. 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