![Page 1: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/1.jpg)
Lightweight Chaos For Distributed Teams
Aras Pranckevičius at BuildStuffLT 2013
![Page 2: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/2.jpg)
What process?
• I don’t know!
• Use whatever makes sense!
!
• well that’s it, kthxbye
![Page 3: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/3.jpg)
srsly tho
• Here’s what has (and has not) worked
• At Unity Technologies
• Where many are allergic to “process”
![Page 4: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/4.jpg)
/me• Coding since 1996, paid to do that since 2000.
• Mostly a computer graphics programmer.
• Employee #4 at Unity Technologies, since 2006.
• @aras_p
• http://aras-p.info
![Page 5: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/5.jpg)
Unity• Game development engine & toolset.
• http://unity3d.com
• 2.5 million users.
• Thousands of games.
• Games on 1 billion mobiles, 250 million PCs.
![Page 6: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/6.jpg)
Distributed
• 17 offices
• ~20 more random one-person places
![Page 7: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/7.jpg)
Why distributed?
• Happened by accident
• Easier to find talent w/o relocation
• Smaller offices can be more productive
• Specialize based on location
![Page 8: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/8.jpg)
Specifics
• 120..150 engineers (depending on how you count)
• Mostly one product
• 1.4 MLOC codebase, mostly C++ & C#
• Some code is 12 years old
![Page 9: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/9.jpg)
Specifics
• No written specification
• Close to zero design docs
![Page 10: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/10.jpg)
Product / Project• We’re making product, not project
• We decide what we build*
• We decide when we build it*
!
• Makes many things easier
* mostly
![Page 11: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/11.jpg)
Process TL;DR
• What process?
• Everyone hates “The Man”
• Depends on situation
• Let teams & people decide what to use
![Page 12: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/12.jpg)
Caveats
• Can only work if people care about what you build
• Someone will step up to do boring tasks since the result is worth it
![Page 13: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/13.jpg)
Fancy quotes!• Guidelines, not rules
• Only add process when not having it becomes unbearable
• Be suspicious of silver bullets
• The only constant is change
• Most approaches are overhyped, but probably have one good idea in them
![Page 14: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/14.jpg)
Heretic quotes?
• Processes are for managing mediocre people
• In a group of people, stupidity adds up, but intelligence multiplies*
• To maintain intelligence level, only hire people who are better than current average!
* in 0..1 range
![Page 15: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/15.jpg)
3 person company• Zero process
• Zero hierarchy
• Everyone knows everything
• Everyone decides everything
• Everyone does everything
![Page 16: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/16.jpg)
15 person company
• More specialization
• Still everyone knows everything
• Still zero hierarchy & process
![Page 17: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/17.jpg)
40 person company
• Teams forming
• We got one “manager”!
![Page 18: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/18.jpg)
150 person company
• Dunbar’s number
• “this will kill your startup”
!
• …it did not
![Page 19: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/19.jpg)
~320 in company now• 120-150 engineers
• Can’t know everyone
• Not a single person knows everything
• Have to have some hierarchy
• 5 engineer managers right now
![Page 20: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/20.jpg)
How we work?
• Parts of “how” might change at any time
• Quite chaotic
• Barely any “rules”
![Page 21: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/21.jpg)
Teams
• 2..10 people
• Usually has a “lead”
• Lead is main point of contact
• Workflow completely up to each team
![Page 22: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/22.jpg)
Team process
• Some use Scrum, Kanban, …
• Some don’t use anything in particular
• Some things are quite common among teams now…
![Page 23: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/23.jpg)
Common things
• “bugfix week” - whole team only fixes bugs for a week
• “technical debt week” - refactoring, cleanups etc.
• “fridays are for fun” - on Fridays everyone does whatever they want
![Page 24: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/24.jpg)
Common things• Major feature releases each 2 months (wish)… 4-5
months (reality)
• Feature work before alpha
• Tweaking, feedback, polish, fixes during alpha
• Final small tweaks, majority of fixes during beta
• Final shipstopper fixes during RC
![Page 25: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/25.jpg)
Who does decisions?
• Whoever wants to
• Talk with others
• Persuade others
• Argue with others
![Page 26: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/26.jpg)
Who’s responsible?
• Everyone is
• Can not say “they told me to do this stupid shit”
• Should have said “this is stupid shit”!
![Page 27: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/27.jpg)
Responsibility is hard
• Takes a while to accept that you are responsible
• “Why is this still broken?!”
• Because you did not fix it
• …or did not convince others to fix it ;)
![Page 28: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/28.jpg)
What does a lead do?
• First point of contact for the team
• Direction if things turn bad
• Has to be respected by the team!
![Page 29: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/29.jpg)
Tech vs people lead
• Technical lead != people lead
• Very different skill sets!
• Too often career path for great coders is “be a people manager”
![Page 30: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/30.jpg)
Can this really work?!• So far it does!
• github sounds similar
• http://zachholman.com/talk/how-github-no-longer-works/
• Valve sounds similar
• http://media.steampowered.com/apps/valve/Valve_NewEmployeeHandbook.pdf
![Page 31: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/31.jpg)
Will this work?• We thought it would break down at
• 20
• 50
• 100
• …
• Some change happened, but not essence
![Page 32: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/32.jpg)
Will this work at 1000?
• Who knows
• 1000 engineers probably too much for 1 product?
• But then, we thought 100 would be too much as well…
![Page 33: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/33.jpg)
But it’s unpredictable!
• Yes
• You can still guesstimate
• Our deadlines are self-imposed anyway
![Page 34: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/34.jpg)
Tools: IM
• Skype right now
• Not ideal, but kind of works
• Good: sending files around
• Bad: discovery
• Alternatives: Hangouts, Hipchat, Campfire, IRC, …
![Page 35: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/35.jpg)
Tools: Wiki
• Confluence
• It’s pretty good
• Google docs
• Excellent for realtime editing
• Guidelines, plans, status, docs, …
![Page 36: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/36.jpg)
Tools: pairing
• TeamViewer
• Alternatives: Hangouts, Skype, RDP, …
![Page 37: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/37.jpg)
Tools: planning
• Trello
• Asana, Greenhopper, Pivotal Tracker, Basecamp, MS Project (!)
![Page 38: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/38.jpg)
What did not work
• Mandatory Monday Meetings
• Supposed to be quick info & status updates
• Does not work at 15 offices
• Found them useless
![Page 39: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/39.jpg)
What did not work
• Trying to force everyone to “work harder”
• At some point progress felt slow
• Maybe people aren’t working hard enough?
• Was one of biggest fuckups we made
![Page 40: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/40.jpg)
People do work hard!• The slowdowns are due to inefficiency
• Automate
• Reduce duplication
• Better communication
• Better teaching & learning
• Get better HW/SW :)
![Page 41: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/41.jpg)
What did not work
• Trying same process for all teams
• “Everyone do Scrum from now on”
• Team sizes & composition is different
• Teams work on different things & schedules
![Page 42: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/42.jpg)
Recap
• Do not force process
• Just let people do work
• You do give up some control
• It was an illusion anyway
![Page 43: Lightweight Chaos - Aras' websitearas-p.info/texts/files/201312-BuildStuffLightweightChaos.pdfCommon things • Major feature releases each 2 months (wish)… 4-5 months (reality)](https://reader034.vdocument.in/reader034/viewer/2022042406/5f201d4201d33e11fe1e9431/html5/thumbnails/43.jpg)
Well that’s it!Questions?