2. Who Am I
• Sr. Director of Engineering at Tradeshift
• Currently Program Management of 7 teams
across three geographies
• Former VP Engineering, Merchantry
• CTO & Co-Founder, EnergyScoreCards
• Founder & Co-Organizer, CTO School Meetup,
New York City
7. Fast Individual
• Expert in tools & technologies
• Expert in code base
• Deep understanding of problem domain
• Creative problems solver (i.e. reimagine solution to be creative)
• Understands the business context for current work
• Asks for feedback frequently
• Communicates well to align with goals and other people
9. Great Team
• Composed of Great Individuals
• Trust Each Other, Help Each Other
• Communicate Well
• Well defined roles, cross-disciplinary, balance between roles
• Have clear processes (even if it’s no process)
• Working to continually get better
• Experienced in their domain
• Co-Located
• Worked Together for a long time
11. Fast Company
• Culture (“Move Fast and Break Things”)
• Can respond to market changes fast
• Good Communication and Coordination processes
across teams
• Alignment to business goals
• Engineering processes & Architecture designed with
speed in mind
• Multidisciplinary Teams involved in product development
13. Slowing Down - Avoidable Aspects
• Rework because of bad decision making
• Rework because of new learning
• Moving in the wrong direction
• Lack of Expertise
• Technical Debt and Poor Tooling
• Making mistakes (i.e. bugs)
• Poor Estimates
14. Slowing Down - Unavoidable Aspects
• Increased Communication Overhead
• More Dependencies
• Legacy / Existing Code Base
• Increased Complexity
• More Customers / Data
• Stakes are Higher
15. You Must Be Vigilant
Constantly Re-examine and watch for what’s slowing you down
16. Agenda
• What is Fast
• Why We Slow Down As We Grow
• Engineer for Velocity
• Management & People
• Process
• Technology
17. Clear Priorities &
Context
Feedback - Catch
Mistakes Early
Improve Expertise
Communication
Increase Flow &
Eliminate Waste
Overall Economics
Great Tooling &
Infrastructure
Architect for
Speed
Manage Technical
Debt
Management & People Process Technology
21. M1 Set Very Clear Priorities
& Context
• Lack of Clarity slows things down and results in avoidable mistakes
• Ensuring Clarity and Alignment is key part of manager’s job
• Technical tradeoffs that we can make
• Example - what level of quality is acceptable.
• Creating Systems and Processes to manage increased complexity
• Look for things that are broken
• Be watchful for unintended consequences
• Connecting dots between teams / people
23. People - Continuous
Improvement & Learning
• Improve knowledge of stack
• Improve Domain Expertise
• Pay for Expertise
• Spikes
• Cheap Experiments
• Be careful not to improve too many areas at the same
time
25. M3. Communication
• Conway’s Law
• Increase Trust
• Guidelines for making decisions
• Cross-functional teams
• Watch for handoffs between people / teams
• Communication infrastructure and processes
• Information Sharing
• Documentation
• Connecting the dots between teams
26. Check List - Management & People
• Are priorities clear? Does your team
understand what areas can be de-
emphasized?
• What mechanisms do you have for continuous
learning?
• Any ways you can improve communication?
Does everybody know where to find the
needed information?
32. Increase Flow
• Value Chain Mapping
• Avoid Full Utilization
• Specialists vs Generalists
• Goal - Limit Work in Progress
• Scrum
• Kanban
• Cost of Delay
35. P3. Focus on Overall
Economics
• Opportunity Cost dominates cost of many
decisions
• Build vs Buy
• Spend money to get speed
• Queues - the Silent Killer
36. Check List - Process
• What Feedback Mechanisms Do You Use?
• Do you use lean techniques to manage
queues and eliminate waste in your flow?
• Do you try to save money “too much”?
39. Engineering Philosophy
• Move Fast and Break Things
• MTTR vs MTBF
• Experimentation vs Craftsmanship
• TDD vs Tests After
• Velocity first, Cost Second
40. Clear Priorities &
Context
Feedback - Catch
Mistakes Early
Improve Expertise
Communication
Increase Flow &
Eliminate Waste
Overall Economics
Great Tooling &
Infrastructure
Architect for
Speed
Manage Technical
Debt
Management & People Process Technology
42. T1. Great Tooling and
Infrastructure
• Tools and Infrastructure Can be Great Force Multipliers
• Automation saves time
• Tools need to be sharp, i.e. fast
• Pay Attention to how long things take
• Order of Magnitude improvements in key processes become huge
• Tool Usability is important!
• Consistency in Stack / Technologies magnifies tool investment
• Engineering Productivity Teams
46. T2. Architect For Speed
• Modularization
• Stack & Stack Experience
• Monolith vs Service Oriented Architecture
• Monorepo vs multiple repos
• Internal Frameworks for common tasks
• QA / Test Automation
49. Check List - Technology
• Are you Tools Fast? Is your infrastructure a
force multiplier?
• What architectural tradeoffs did you make to
enable velocity?
• Do you have a plan of paying down technical
debt? What are you trying to optimize?
50. Velocity Measurement
• Difficult, and not ultimately the point
• Focus on shipping, and flow!
• BUT IF YOU INSIST - Little’s law
• WIP = Throughput * Lead Time
• WIP = average number of items in process
• Throughput = average arrival or departure rate
• LeadTime = average time an item spends in the system
• So - to increase throughput, decrease WIP
51. Clear Priorities &
Context
Feedback - Catch
Mistakes Early
Improve Expertise
Communication
Increase Flow &
Eliminate Waste
Overall Economics
Great Tooling &
Infrastructure
Architect for
Speed
Manage Technical
Debt
Management & People Process Technology
Summary