Top Banner
Scaling Without Rules Ben Gracewood VP of Engineering, vendhq.com @nzben
35
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Scaling Without Rules

Scaling Without RulesBen Gracewood VP of Engineering, vendhq.com @nzben

Page 2: Scaling Without Rules

:(

Page 3: Scaling Without Rules

@nzben

Page 4: Scaling Without Rules

learnA system for debugging people and organisations

Page 5: Scaling Without Rules

wtf?

Page 6: Scaling Without Rules

trust &

empowerment

We want Vend to succeed with as few rules as possible.

Page 7: Scaling Without Rules

creativity

You must break the rules as a matter of policy – all day, every day, with a degree of rigour and dedication to the cause

Phil Beadle

http://www.amazon.com/Dancing-about-Architecture-Creativity-Independent/dp/1845907256

Page 8: Scaling Without Rules

cynefin

"Cynefin as of 1st June 2014" by Snowded - Own work. Licensed under CC BY-SA 3.0 via Wikimedia Commons

https://en.wikipedia.org/wiki/Cynefin

Page 9: Scaling Without Rules

honestyWe need to have honesty without requiring process.

Page 10: Scaling Without Rules

research

Page 11: Scaling Without Rules
Page 12: Scaling Without Rules

same but different

You can’t scale by copying

Page 13: Scaling Without Rules

vend

Page 14: Scaling Without Rules
Page 15: Scaling Without Rules
Page 16: Scaling Without Rules

highly aligned, loosely coupled small teams

Page 17: Scaling Without Rules

ideas

Page 18: Scaling Without Rules

bounded context

https://www.flickr.com/photos/quasimondo

Page 19: Scaling Without Rules

connascence

A software quality metric to allow reasoning about the complexity caused by coupling.

A tool to help prioritise what should be refactored first.

https://youtu.be/Ip2o4vbAK3s

Page 20: Scaling Without Rules

Connascence of

position

float divide ( int a , int b ){ … }

x = divide ( 1 , 2 )

Page 21: Scaling Without Rules

Connascence of

name

float divide( int numerator , int demonminator ) {…}

x = divide( numerator: 1, denominator: 2 )

Page 22: Scaling Without Rules

Connascence

• Name • Type • Meaning • Position • Algorithm • Execution • Timing • Values • Identity Stronger

Weaker

Page 23: Scaling Without Rules

types of connasence

Static • Name • Type • Meaning • Position • Algorithm

Dynamic • Execution • Timing • Value • Identity

Page 24: Scaling Without Rules

reasoning

Page 25: Scaling Without Rules

bounded context

https://www.flickr.com/photos/quasimondo

Page 26: Scaling Without Rules

connascence of

teams?¯\_(ツ)_/¯

Page 27: Scaling Without Rules

connascence of

teams

Static • People • Location • Platform

Dynamic • Vision • Scope • Deadline

Page 28: Scaling Without Rules

framework for

reasoning

Page 29: Scaling Without Rules

framework for

reasoning

Page 30: Scaling Without Rules

framework for

reasoning

Page 31: Scaling Without Rules

framework for

reasoning

Page 32: Scaling Without Rules

team connascence +

team context

A framework for reasoning about the complexity of teams and interactions

Page 33: Scaling Without Rules

so?

Page 34: Scaling Without Rules

what?• Apply principle, not process • Use context and

connascence to debug teams and interactions

Page 35: Scaling Without Rules

ThanksBen Gracewood VP of Engineering, vendhq.com @nzben

bit.ly/nzben-agile-australia