perfection & feedback loops - marcus denkerperfection & feedback loops or: why worse is...

106
Perfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Upload: others

Post on 06-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Perfection & Feedback Loops or: why worse is better

Marcus Denker

Talk held at ESUG2016

Page 2: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

The slides as used for the talk are a bit useless alone. This is a an annotated version, grey slides are additions (links, notes…)

- Video: https://youtu.be/LRFLdWG24Mk - The .key file has all videos embedded

All Files:

http://marcusdenker.de/talks/16ESUG

Page 3: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

VIDEO on Youtube:

https://youtu.be/LRFLdWG24Mk

Page 4: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Another Strange Talk

Page 5: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

All two years I feel a strange urge to do a strange talk at ESUG…

no idea if that is a good idea…

Page 6: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Like ESUG 2014

Page 7: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

At ESUG 2014 I give a similar talk, this one is kind of the same topic, but from another point of view.

See http://www.slideshare.net/MarcusDenker/2014-esugcathedral

Page 8: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016
Page 9: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

2 years ago: Cathedrals

Page 10: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016
Page 11: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Toilets

Page 12: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Today

Page 13: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Perfection

Page 14: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Feedback

Page 15: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Why everything existing sucks

Page 16: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

And what to do about it

Page 17: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

I have bad news

Page 18: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Perfection does not exist

Page 19: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016
Page 20: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Knowing his quotes from the fortune unix command, I did not know that Yogi Berra was a baseball player… "I really didn't say everything I said.”

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

Page 21: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

“By the time you’ve arrived at the *perfect* solution, usually the problem has already changed.”

— Jessie Shefrin (@jshefrin)

Page 22: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Quote thanks to Jessie Shefrin http://artthinking.com

Why is that?

Page 23: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Context

Page 24: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Context changes.

Would the perfect Programming Language and Environment for 1985 be seen as perfect in 2016?

And it goes even deeper than that. Context is everything.

The same solution can be good or bad, depending on the context it is embedded in.

Page 25: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

https://www.youtube.com/watch?v=HPPj6viIBmU

Page 26: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

One of the first viral videos of the internet.

The video should never have been posted, it is often shown as an example of cyber bullying.

Lots of things can be learned, but what everyone agrees: “Perfection” is the last thing that comes into mind.

So you are seeing this…

Page 27: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

https://www.youtube.com/watch?v=3GJOVPjhXMY

Page 28: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

… but his context was this. And it is just perfect.

Context is everything.

Page 29: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

And context changes, constantly

Page 30: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

You are not alone in the world.

“Everyone, stop, until I created the perfect thing!”

Page 31: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Another problem: You learn while building

Page 32: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

When you are ready to finish, it will be obvious to you that what you did is all bad. You could do so much better… easily.

Now it is so obvious…

But the “old you” would love it. The old you did not yet learn what the “new you” knows.

Keep in mind: everyone else but you did not learn what makes you see your work as imperfect.

Page 33: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Everything you can *finish* will "embody" its own critique.

Page 34: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

… but to some extend others (and the old you) will see the problems, though. A finished artefact always embodies its own critique.

(If you can see flaws in everything other people do, maybe it is not because you are oh so clever?)

Page 35: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Ok, no perfection, but better?

Page 36: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

So, ok. There is no perfection.

But why can’t things be at least good?

Page 37: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Those who could have done better where busy with building the perfect solution

Page 38: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

…now they know how to do it right! Just wait! It will be perfect!

Page 39: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

But…

Page 40: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Yes: there is something else at play…

Page 41: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

A force of incomprehensible to mankind

Page 42: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Exponential Growth

Page 43: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

“The greatest shortcoming of the human race is our inability to understand the exponential function.” — Al Bartlett

Page 44: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Watch on Youtube: The Most IMPORTANT Video You'll Ever See 8 parts, 10 min each:

https://www.youtube.com/watch?v=F-QA2rkpBSY

Page 45: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

… you “know” it in theory

Page 46: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

(you might “know” everything in the this talk… theoretically)

Page 47: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

By the time that the fifth square is reached on the chessboard, the board contains a total of 31 grains of wheat

Page 48: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

How big can it get? There are just 64 fields…

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

Page 49: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

… round 1,000 times the global production of rice in 2010 (464,000,000 metric tons)

Page 50: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Lily Pond

Page 51: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

In a lake, there is a patch of lily pads. First day there is one, second two. After long 47 days it is half full.

How long does it take to cover the whole lake?

Page 52: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

47 long days to do half.. will take a while for sure…

Page 53: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Compound interest

S&P 500, invest $100 monthly. Start: 1983

Page 54: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

https://dqydj.com/sp-500-dividend-reinvestment-and-periodic-investment-calculator/

not including taxes, but take fees into account.

Page 55: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Payed: 39700 Today: ?

Page 56: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

We payed in not even 40K. How much is it now?

Page 57: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Payed: 39700 Today: 241036

not including taxes, but take fees into account.

Page 58: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Interesting:

— It’s not about doubling. ~8% (doubles every 70/8 years)

— Most value is created by reinvesting (feeding back) interest earned.

Page 59: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Examples for Feedback

Page 60: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Science

Page 61: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

New theories and models makes ideas thinkable that are just not thinkable without.

Page 62: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Open Source

Page 63: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Example: Linux vs. Minix.

Minix was clearly better. But there was no feedback loop for Minix.

Linux was a *process*, while Minix was a finished artefact.

Page 64: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Processors

Page 65: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

The first microprocessor was designed with paper + pen.

You could not design a current one without having already a computer.

(Going back to paper+pen… why not go back to sticks+stones?)

Another Example: LAM builds machines that build processors. These machines *contain* processors themselves.

Page 66: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Agile

Page 67: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Early results lead to fast feedback cycles…

Page 68: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Lean Startups, Minimum Viable Product…

Page 69: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

A startup just does not have resources for building the perfect solution to a problem nobody cares about.

Very hard to explain to our profession… spawned a whole “self help book” section for Programmers.

Page 70: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Perfection and Feedback

Page 71: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Feedback loops do not care about perfection

Page 72: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

The system needs only to be good enough to sustain the next step

Page 73: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

If just barely good enough to sustain it, feedback will happen within technically

horrible solutions.

Page 74: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

“It will be perfect when it is finished”

vs. Feedback Loop Now

Page 75: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

But just wait till my perfect system is ready.. it will be so much better.

Really? Who will need it?

Page 76: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

What can we we do?

Page 77: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

1. Goal vs. System

Page 78: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

From self help books: do not focus on the goal ("I want to loose weight”), but build instead a system that has your goal as its result eventually. It is *much* easier, the steps are smaller and manageable and even automatic…

We should understand our programming goals the same way…

http://www.iwillteachyoutoberich.com/blog/goal-setting-is-dead-do-this-instead/

"Do try to tackle goals. Build systems instead"

Page 79: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Understand your Artefact as a Feedback Loop

Page 80: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Every artefact exist in a loop. The most basic one can see when looking at economics: if you can sell a simple, imperfect, early version, you can invest all the result back in your product. Compare that with working in your spare time…

Page 81: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Works especially well for Meta Systems

Page 82: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Especially systems that are used to create other systems benefit from feedback loops. Improve your IDE and you will be more productive.

Reflective Systems even more: They are implemented in themselves, so improving the system leads to a natural cycle.

Page 83: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Smalltalk can be feedback loop

Page 84: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Smalltalk is an example for a system where it is very obvious.

Yet most Smalltalkers argue to never change anything, to just build on top…

Page 85: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

If you set the development and community up correctly

Page 86: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

An open source smalltalk ignoring all community contributions, just as an example.

Page 87: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

2. Accept Imperfection

Page 88: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Remember: You just need to drive the next iteration!

Page 89: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016
Page 90: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Facebook poster. What they mean is that inside a feedback loop, you reach perfection when you reach the point where the next iteration can build on it (aka DONE).

http://benbarry.com/project/facebook-propaganda-posters

Page 91: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

3. Small Change Matters

Page 92: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Remember: feeding back creates non-linear growth.

Even though you just get <10% interest, most of your account will be interest.

Page 93: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

A small change fed back will have huge payout

Page 94: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

That idiotic change will pay for 10, 20, 30 years…

Page 95: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

A tiny linear change now would be a huge change some iterations ago

Page 96: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

https://www.youtube.com/watch?v=y97rBdSYbkg

Page 97: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Why topple the small? To learn and fine-tune the system!

Page 98: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Peter Principle of the Domino

Page 99: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Peter Principle: “that tiny one? I do the next one, more interesting!”

Until you reach the one too large.

Page 100: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Goals vs. Systems: It's a musical thing

Page 101: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Focus on the Process, not the Goal

Page 102: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Do not postpone your life to the future “when you are finished”

Page 103: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

https://www.youtube.com/watch?v=ERbvKrH-GC4

Page 104: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

The video has a slightly different angle…

the one shown in the talk has the middle part cut.

https://www.youtube.com/watch?v=ERbvKrH-GC4

Page 105: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Thank You!

Page 106: Perfection & Feedback Loops - Marcus DenkerPerfection & Feedback Loops or: why worse is better Marcus Denker Talk held at ESUG2016

Twitter: @marcusdenker http://marcusdenker.de