40
@chrismaddern Button 1 Scaling Client Engineering

Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

Embed Size (px)

DESCRIPTION

Building software is complicated. And it gets more so as the scope of the project increases – balancing legacy code and new features, velocity and quality, and a growing volume of user feedback. This means even small UX pain points become big issues. The session will explore how Venmo approaches these trade-offs to build great software while keeping users happy without being "reactionary."

Citation preview

Page 1: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 1

Scaling Client Engineering

Page 2: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 2

Scaling building

!! !a story some learnings Q&A!intro

Page 3: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 3

Page 4: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 4

Page 5: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 5

Feature A Feature B

Page 6: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 6

Scaling Platform

Page 7: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 7

The cloud

Page 8: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 8

Sharding Load Balancing Distributed Computing

Page 9: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 9

Page 10: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 10

Page 11: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 11

Page 12: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 12

Platform Client

Page 13: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton

!!

13

Scaling building

!! !a story some learnings Q&Aintro

Page 14: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 14

Making major changes to large products is hard

Page 15: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 15

…or at least noisy

Page 16: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 16

Page 17: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 17

I really liked my "favorites" at the bottom. Now it seems I have to search for the few people I pay every day? Am I

missing something?

~Venmo User

Please bring back the recent recipient bar at the bottom of the screen. Most of my payments are to the same five people.

~Another Venmo User

Page 18: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 18

Page 19: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 19

Page 20: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 20

Did we break, or diminish, a sensible user flow?

Page 21: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 21

Users want a quicker way to pay their closest friends

Page 22: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

www.usebutton.comButton 22

Well.. actually more like this

Page 23: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

www.usebutton.comButton 22

Well.. actually more like this

Page 24: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

www.usebutton.comButton 22

Well.. actually more like this

Page 25: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

www.usebutton.comButton 22

Well.. actually more like this

Page 26: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 23

Hypothesis driven development Finding root cause of user feedback -> feed into new features

Not reversions

Page 27: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 24

Enabling ‘Product Engineers’ to ‘Have their say’

Page 28: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 25

WHAT IF

Page 29: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 26

A framework to put things in production, infront of small numbers of users to validate ideas & designs.

Page 30: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 27

30-40 iterations later..

Page 31: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

Button @chrismaddern 28

The recents drawer was born

Page 32: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 29

Page 33: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 30

Page 34: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 31

Scaling building

!!! another storya story Q&A!some learnings

Page 35: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 32

Support-Product Tradeoff

< 10,000 10k - 100k 100k - 500k 1,000,000 10M +

Still LearningYour FAQ is a tool to protect yourself as you execute on the vision. !Hiring a support person will allow you the bandwidth to focus on building what you need to.

You should be answering every support request personally, ship everything and figure out what works. !Start building an FAQ and have it inform your product fixes and support proceses.

LEARN

Feedback volume means that bugfixes need to be responsive and canned responses / FAQ are a necessity. !You also need to re-calibrate your level for including feedback in the product process (you will hear about everything!) !

I can’t take it anymore

;)

I have no idea. :sThis is starting to hurtDepending on the nature of your business, you may be starting to feel a real burden of customer support. !Key customer complaints should be considered for fixes or frame conversations around broken UX.

Page 36: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 33

Quality matters (a lot) As your team grows, focus on what’s core

Page 37: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 34

Build processes that empower engineers (Data empowers everyone, including engineers)

Page 38: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 35

Feedback must inform fixes!Feedback cannot drive direction

Page 39: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 36

Figuring out what to work on?

Clearly define vision & goals towards that !

Collaboratively build a roadmap !

Provide a framework for testing hypothesizes (from everyone)

Page 40: Juggling Features, Advancement, and Quality As You Grow - Chris Maddern

@chrismaddernButton 37

Scaling building

!!! another storya story some learnings

!Q&A