phase 3: better ideas (presentation at salesforce 1-28-2015)

38
Phase 3: Better Ideas Bruce Eckel www.MindviewInc.com www.AtomicScala.com Jan 28, 2015, San Francisco @Salesforce Slides available on www.slideshare.net

Upload: bruce-eckel

Post on 15-Apr-2017

637 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Phase 3: Better IdeasBruce Eckel

www.MindviewInc.comwww.AtomicScala.com

Jan 28, 2015, San Francisco@Salesforce Slides available onwww.slideshare.net

Page 2: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Overview• Who Am I

– A Languages Guy– Trying to move tech

forward• Do Languages Matter?

– Not so much anymore• Phase 2: Better Communication & Process

– Agile: Build Things Better• Phase 3: Build Better Things

– Challenge: Getting (and Nurturing) Better Ideas

Page 3: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)
Page 4: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Eight Years on the C++ Standards Committee

Page 5: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)
Page 6: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)
Page 7: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

• No more closed-source languages!

Page 8: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

www.AtomicScala.com

• Free First 25% Kindle, ePub, PDF, HTML

Page 9: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Magazines

• These things before there was blogging

• Published over 150 articles

Page 10: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Reinventing-Business.comMy "Why": Work is Joy

Page 11: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Do Languages

Matter ?

Page 12: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Do Languages (still)

Matter ?

Page 13: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Do Languages (still)

Matter (as much)?

Page 14: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Does Arguing About Languages Still Matter?

Page 15: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

• Assembly -> C• C -> C++• C++ -> Java

– Virtual Machines– Garbage Collection

• Statically typed vs. Dynamic• Checked Exceptions• Concurrency and Parallelism• OO vs Functional• Java Posse Roundup stopped talking

about Java

Page 16: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

• Stroustrup's Goal for C++: Make Library Use Easier

• Java Validated Virtual Machines & Garbage Collection– Lots of libraries– Also mainstreamed the big

framework– Invalidated checked

exceptions• Ruby On Rails Validated

Dynamic Languages for serious projects– Mitigated some of the damage

from Perl & PHP (read "PHP: A fractal of bad design")

– Helped legitimize Python, Groovy, etc.

Page 17: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Functional language features are the new-old thing

• Heavily motivated by multiple cores and parallelism

• Safety via immutability• Python started adding

functional features a few years ago

• Functional purists are trying to steer the conversation ("objects are bad/failures")

• Object-functional hybrids are moving to center stage IMO– How will parallelism look in

such languages?– Pure functional vs CSP (as

in Go). STM has failed.

Page 18: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

No Longer a Big Deal To ...

• Change Languages– My Favorite Client:

Java -> Python -> Go• Combine Languages

– e.g. Erlang controlling other languages

– REST/JSON APIs– HTML5/CSS/Javascript

UIs

Page 19: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Thus• Arguing to consider

new languages no longer fits my mission -- we're not stuck there anymore.

• Why bother arguing when you can just experiment?

• So...• They kind of don't

matter

Page 20: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

The Next Bottleneck

Process and human interaction

Page 21: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Agile: Prefer

• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

Page 22: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

What Happened to Agile

• The ideas are still good• The delivery mechanism

got infected withindustrial-age thinking

• AND: "Preferences" aren'timplementation tools– A philosophy, not how to do it

Page 23: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

What Happens to IT Innovations

• Early sucess generates delivery companies

• Their success produces "optimized" clones with a process for delivery

• Minimal thinking required• Few mistakes, efficient• Innovators leave• We're left with fly-by, carpet-

bombing "consultants"

Page 24: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Phase 3:Let's Get

Better Ideas!

Page 25: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Fundamental Changes vs. Techniques

• Ultimately I want to re-architect the organization from the ground up to -- among other things --produce better ideas (See Reinventing-Business.com & "Teal-Evolutionary" organizations)

• Here, I will look at techniques to help existing organizations

Page 26: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

How Not to Get Ideas

• Industrial-Age Hierarchies Hate Change– Designed for consistency and control– "Wanting to be in power" does not produce

good ideas• Consensus does not produce good ideas

– Subpar and unchangeable results– Decision ownership is diluted

Page 27: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Ideas are Experiments

• Need a 'space' (even if only temporary) that supports many rapid experiments

• Techniques to trick yourself out of your normal modes of thinking (i.e. your blocks)

Page 28: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Two Basic Approaches

1.Varying or combining old ideas

2.Completely different new ideas

Page 29: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Brainstorming?• Loudest or most

persuasive do not produce the best ideas

• Tends to fixate on one idea, blocks out others

• Inhibits creative thinking

• Judging helps• Working on your own

produces many more ideas

Page 30: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Brain Writing• Brings ideas from

everyone, not just the assertives

• Very small cards• Idea per card; 1-2

sentences• 10 Min capturing

ideas• “No guessing or

confessing”

Page 31: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Free Up With Improv

• Workshops and groups are usually findable

• The "Yes And..." Exercise

Page 32: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Use Random Input

• Words from a dictionary

• Pictures• Items/toys• Mind mapping

Page 33: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Shift• Get another's perspective• Play "If I Were"• Change Environment• Try something really different (paint!) • Meditate• Daydream• Loaf/nap• Move

Page 34: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Think in Reverse

• Create the problem• Worsen operations• Downgrade the

product• Take resulting ideas

and reverse them

Page 35: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Decision Making: Google's Note & Vote• For speed & to avoid groupthink• Everyone quietly writes down as

many ideas as they can for 5-10 min• 2 min: everyone quietly reviews their

own ideas and chooses one or two • Individually share your chosen ideas,

no selling. Written on a board.• 5 min: each person quietly writes

down their favorite idea from board• Each person states their vote,

potentially with a brief pitch. Captured on board with dots.

• The decider (can be anyone) independently decides on the best idea, respecting the votes or not.

Page 36: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Going Way Out• Reinventing Organizations: The

Advice Process• Anyone can make a decision,

even one that costs the company money, as long as they:1. Consult with someone who knows

more about the topic2. Consult with the people affected by

the decision• You can still make the decision if

both advise against it, so experimentation is not stifled, but you carry the social responsibility

Page 37: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Open Spaces• A self-organizing

conference system• WinterTechForum.com• Crested Butte, Colorado

February 23-27 2015

JC Leacock Photo

Page 38: Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)

Please send idea-generator suggestions to:[email protected]