Slide 1

Slide 1 text

Lean features development Alexis Santos

Slide 2

Slide 2 text

How many times a developer has to implement a feature that will be the next game changer?

Slide 3

Slide 3 text

Do you remember Google Wave?

Slide 4

Slide 4 text

Do you remember Google Wave?

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Or Apple’s Ping?

Slide 7

Slide 7 text

Or Apple’s Ping?

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

If the biggest companies in the world sometimes fails, why wouldn’t we fail? “

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Agenda ● Build ● Measure ● Learn

Slide 13

Slide 13 text

Build

Slide 14

Slide 14 text

From developer point of view ● Move fast ● Unit tests ● Automatic tests ● Technical debts tasks ● Release

Slide 15

Slide 15 text

● Also called MVP Minimum Viable Product

Slide 16

Slide 16 text

● Also called MVP ● Only includes core part of the feature and no more Minimum Viable Product

Slide 17

Slide 17 text

● Also called MVP ● Only includes core part of the feature and no more ● Allows to verify correct or wrong assumptions Minimum Viable Product

Slide 18

Slide 18 text

● Also called MVP ● Only includes core part of the feature and no more ● Allows to verify correct or wrong assumptions ● Accelerate learning Minimum Viable Product

Slide 19

Slide 19 text

● Also called MVP ● Only includes core part of the feature and no more ● Allows to verify correct or wrong assumptions ● Accelerate learning ● Is often less expensive to implement an MVP Minimum Viable Product

Slide 20

Slide 20 text

Is the smallest thing you can build that delivers customer value (and as a bonus captures some of that value back) Minimum Viable Product

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Begins the learning process, rather than ending it “

Slide 23

Slide 23 text

When in doubt: simplify “

Slide 24

Slide 24 text

Use case: Lookalikes

Slide 25

Slide 25 text

Measure

Slide 26

Slide 26 text

Of course, you can’t measure if you don’t have a tool or SDK to report statistics In-House Solution

Slide 27

Slide 27 text

Some techniques that will help you to measure and compare features in your application

Slide 28

Slide 28 text

Split tests ● Also known as A/B/C/… tests

Slide 29

Slide 29 text

Split tests ● Also known as A/B/C/… tests ● Different versions of the feature with identical purpose introducing variants between them

Slide 30

Slide 30 text

Split tests ● Also known as A/B/C/… tests ● Different versions of the feature with identical purpose introducing variants between them ● Control the amount of users on every version

Slide 31

Slide 31 text

Split tests ● Also known as A/B/C/… tests ● Different versions of the feature with identical purpose introducing variants between them ● Control the amount of users on every version ● Test different hypothesis to detect the most effective

Slide 32

Slide 32 text

Use case: Own profile

Slide 33

Slide 33 text

Use case: Paywall

Slide 34

Slide 34 text

Remote feature flag/toggles Provides the ability to remotely control (enable or disable) features that are in production.

Slide 35

Slide 35 text

Learn

Slide 36

Slide 36 text

Is time to think if you want to discard or persevere

Slide 37

Slide 37 text

Discard the feature Is possible that the feature didn’t work well, in that case is time to think in removing it because is could be distracting the user

Slide 38

Slide 38 text

Tune the feature Use all the measurements, validate the results and tune the feature. Add possible modifications, improvements, polish UI, ...

Slide 39

Slide 39 text

Use case: Lookalikes

Slide 40

Slide 40 text

Use case: Lookalikes

Slide 41

Slide 41 text

Gain visibility Add more entry points placements

Slide 42

Slide 42 text

Use case: Female walkthrough Initial subtle entrypoint

Slide 43

Slide 43 text

Use case: Female walkthrough

Slide 44

Slide 44 text

Some extra tasks should be done before the next iteration

Slide 45

Slide 45 text

Don’t forget the technical debt ● Maybe some technical debt was created during the implementation of the MVP

Slide 46

Slide 46 text

Don’t forget the technical debt ● Maybe some technical debt was created during the implementation of the MVP ● Do some extra clean up if possible

Slide 47

Slide 47 text

Don’t forget the technical debt ● Maybe some technical debt was created during the implementation of the MVP ● Do some extra clean up if possible ● Split tests non-winner variants code to be removed

Slide 48

Slide 48 text

Summarize ● Build ■ MVP, start learning process ● Measure ■ Split tests, remote feature flags ● Learn ■ Discard or persevere ■ Tech debt and clean up pending tasks

Slide 49

Slide 49 text

Thank you! Alexis Santos [email protected]