the only thing that matters

74
The only thing that matters And it’s not code quality

Upload: adir-amsalem

Post on 15-Apr-2017

916 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: The only thing that matters

The only thing that mattersAnd it’s not code quality

Page 2: The only thing that matters

Imagine the following situation

Page 3: The only thing that matters

Product: Hey John, please take a look at user story #714

Page 4: The only thing that matters

Developer: Sure

Page 5: The only thing that matters

User story #714:“Japanese Hedge funds want to know about every transaction of more than $10M against their local currency. Therefore, we’ll send an email alert every time such a transaction happens”

Page 6: The only thing that matters

User story #714:“Japanese Hedge funds want to know about every transaction of more than $10M against their local currency. Therefore, we’ll send an email alert every time such a transaction happens”

Page 7: The only thing that matters

Developer: Cool, I’m on it

Page 8: The only thing that matters

Product: Thanks buddy

Page 9: The only thing that matters

Our developer, John, is working, and produce the following code:

Page 10: The only thing that matters

if (transaction.currencyA === ‘YEN’ && transaction.usdEquivAmount >= 1e7) { // send email alert}

Page 11: The only thing that matters

if (transaction.currencyA === ‘YEN’ && transaction.usdEquivAmount >= 1e7) { // send email alert}

Page 12: The only thing that matters

if (transaction.currencyA === ‘YEN’ && transaction.usdEquivAmount >= 1e7) { // send email alert}

Page 13: The only thing that matters

if (transaction.currencyA === ‘YEN’ && transaction.usdEquivAmount >= 1e7) { // send email alert}

Page 14: The only thing that matters

if (transaction.currencyA === ‘YEN’ && transaction.usdEquivAmount >= 1e7) { // send email alert}

Page 15: The only thing that matters

if (transaction.currencyA === ‘YEN’ && transaction.usdEquivAmount >= 1e7) { // send email alert}Do you see anything wrong with this code?We will get back to it later.

Page 16: The only thing that matters

The only thing that mattersAnd it’s not code quality building the right thing

Page 17: The only thing that matters

Hi, my name is Adir Amsalem,

I like to build things,

And I think most of you evaluate your work by the wrong metrics.

Page 18: The only thing that matters

Agenda:1.The tale of a product feature2.How our work is evaluated3.How we can bridge the gap4.What’s next

Page 19: The only thing that matters

Agenda:1.The tale of a product feature2.How our work is evaluated3.How we can bridge the gap4.What’s next

Page 20: The only thing that matters

Product features come from 2 sources:

1.Product Manager ideas2.Customer requests

Page 21: The only thing that matters

Let’s see how it happens

Page 22: The only thing that matters

Product Manager ideas:

1.Think about something in shower2.Make sure it’s beneficial for

customers3.Make sure it supports company goals4.Add it to roadmap

Page 23: The only thing that matters

Customer requests:

1.Customer complain: “%@&^%$#@!#$”

2.Put yourself in customer position3.Understand the case and transform

“want” to “need” (a.k.a “faster horses”)

4.Repeat steps 2-4 from previous slide

Page 24: The only thing that matters

Great, let’s continue

Page 25: The only thing that matters

Agenda:1.The tale of a product feature2.How our work is evaluated3.How we can bridge the gap4.What’s next

Page 26: The only thing that matters

Who’s evaluating or interacting with our work:

1.Future us and other developers2.Customers

Page 27: The only thing that matters

What might come up?

Page 28: The only thing that matters

How developers evaluate our work:

1. Is this readable?2. Is this flexible?3. Is this scalable?4. Is this testable?5. Is this simple?

Page 29: The only thing that matters

How customers evaluate our work:1. Is this useful?2. Is this makes me feel good?

Page 30: The only thing that matters

Developers

1. Is this readable?2. Is this flexible?3. Is this scalable?4. Is this testable?5. Is this simple?

Customers

1. Is this useful?2. Is this makes me feel good?Do you see any difference similarity?

Page 31: The only thing that matters

We’ve been developing products for years, and we evaluate our work completely different from our customers

Page 32: The only thing that matters

Now, you might step up and say:

Page 33: The only thing that matters

But hey!I’m just a developer.That’s the Product Manager role.

Page 34: The only thing that matters

So...

Page 35: The only thing that matters

1. You’re not “just a developer”

Page 36: The only thing that matters

2. That’s your role as well

Page 37: The only thing that matters

There is no “my role” and “their role”.There is “our role”.And our role is to build a kickass product.

Page 38: The only thing that matters

So let’s do it

Page 39: The only thing that matters

Agenda:1.The tale of a product feature2.How our work is evaluated3.How we can bridge the gap4.What’s next

Page 40: The only thing that matters

“Usually, the riskiest aspect of new products is not technology (whether it can be built) but market (will people use it and pay for it)”

Page 41: The only thing that matters

Doing the right thing is only possible by releasing features early and receive feedback from users.

“Building something nobody wants is the #1 company killer"

Page 42: The only thing that matters

First-mover advantage is the advantage gained by the initial (“first-moving”) significant occupant of a market segment.

“If you're not embarrassed by the first version of your product, you've launched too late"

Page 43: The only thing that matters

Work estimation of 12 months is ridiculous, it never ends as planned.

You don’t need to release everything at once.

Release small chunks by splitting work to phases.

Page 44: The only thing that matters
Page 45: The only thing that matters

Nobody cares that you work on your product for over a year and you’ve already coded 90% of it.

For your customers, 90% of nothing is still nothing.

Page 46: The only thing that matters

But most importantly...

Page 47: The only thing that matters

Know your domain

Page 48: The only thing that matters

Knowledge is the key to success

Page 49: The only thing that matters

Remember the code from the beginning?

Page 50: The only thing that matters

if (transaction.currencyA === ‘YEN’ && transaction.usdEquivAmount >= 1e7) { // send email alert}

Page 51: The only thing that matters

if (transaction.currencyA === ‘YEN’ && transaction.usdEquivAmount >= 1e7) { // send email alert}The problem here is easily recognized by anyone with knowledge in financial systems.

Page 52: The only thing that matters

Let’s review it again

Page 53: The only thing that matters

User story #714:“Japanese Hedge funds want to know about every transaction of more than $10M against their local currency. Therefore, we’ll send an email alert every time such a transaction happens”

Page 54: The only thing that matters

if (transaction.currencyA === ‘YEN’ && transaction.usdEquivAmount >= 1e7) { // send email alert}

Anyone?

Page 55: The only thing that matters

if (transaction.currencyA === ‘YEN’ && transaction.usdEquivAmount >= 1e7) { // send email alert}

Page 56: The only thing that matters

if (transaction.currencyA === ‘JPY’ && transaction.usdEquivAmount >= 1e7) { // send email alert}

Page 57: The only thing that matters

if (transaction.currencyA === ‘JPY’ && transaction.usdEquivAmount >= 1e7) { // send email alert}

Page 58: The only thing that matters

If John understood what he was doing, instead of just coding what he has been asked to, this mistake would not happen

Page 59: The only thing that matters

Be smart. Know your domain.

Page 60: The only thing that matters

Agenda:1.The tale of a product feature2.How our work is evaluated3.How we can bridge the gap4.What’s next

Page 61: The only thing that matters

Curious what else you can do?

Page 62: The only thing that matters

1. Take a look at your competitors

Page 63: The only thing that matters

2. Participate in product discussions

Page 64: The only thing that matters

3. Come up with ideas & suggestions

Page 65: The only thing that matters

4. Use your product

Page 66: The only thing that matters

The possibilities are endless

Page 67: The only thing that matters

But what about all the engineering qualities...Am I saying they’re not important?

Page 68: The only thing that matters

But what about all the engineering qualities...Am I saying they’re not important?NO! They’re super important.

Page 69: The only thing that matters

As long as you build the right thing

Page 70: The only thing that matters

Agenda:1.The tale of a product feature2.How our work is evaluated3.How we can bridge the gap4.What’s next

Page 71: The only thing that matters

Takeaways #11.Release early2.Make something people want3.Make it work, then make it better4.Dream in years, plan in months, ship

in days5. It’s not done until it ships

Page 72: The only thing that matters

Takeaways #21.Know your domain, knowledge is the

key to success2.Take a look at your competitors3.Participate in product discussions4.Come up with ideas & suggestions5.Use your product

Page 73: The only thing that matters

Build the right thing

Page 74: The only thing that matters

Thank you!

Share this with your friends if you find this useful.