24
©2013 CloudBees, Inc. All Rights Reserved 1 ©2013 CloudBees, Inc. All Rights Reserved On Sharing Ideas in Code Kohsuke Kawaguchi / CTO / CloudBees, Inc. [email protected] / @kohsukekawa

On sharing ideas & sharing code

Embed Size (px)

DESCRIPTION

Monkigras 2014. Based on my experience with Jenkins. On modularity, extensibility, and why it helps developers scale.

Citation preview

Page 1: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 1©2013 CloudBees, Inc. All Rights Reserved

On Sharing Ideas in CodeKohsuke Kawaguchi / CTO / CloudBees, [email protected] / @kohsukekawa

Page 2: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 2

• A chosen few

Committers

Page 3: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 3

Open Commit Policy

Page 4: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 4

Is open commit policy a relic before GitHub?

Page 5: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 5http://commons.wikimedia.org/wiki/File:Hitchhiker-Luxemburg-1977.jpg

Page 6: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 6

Are pull requestseasy enough to

substitute a commit access?

Page 7: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 7

Page 8: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 8

What doesn’t happen

• Fringe use cases• Trying conflicting ideas

Page 9: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 10

You are the gate keeper

!YOU

Page 10: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 11

YOU

Page 11: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 12

But wait, this is not just OSS!

Page 12: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 13

Inside a business…

✓ everyone has commit access

✓ using distributed VCS

✓ using GitHub

Page 13: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 14

Do people have to “argue with you”?

?

...

Page 14: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 15

I want to talk to my audience in code

0011010001011010 11001101

00010110

Page 15: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 17

What you want

• Get out of their way• Let people innovate

and fail fast

YOU

Page 16: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 18

Solution

modularity+

extensibility

http://commons.wikimedia.org/wiki/File:Close_up_of_Hand_Cut_Jigsaw_Puzzle.JPG

Page 17: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 19

The solution

Page 18: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 20

The solution

Page 19: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 21

The solution

Page 20: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 22

“But that’s over-engineering”

http://www.flickr.com/photos/60648084@N00/297463600/LEGO Group

Page 21: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 23

How do you run it?

Page 22: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 25

Friction to express ideas

in code affects scalability of

engineering org

Page 23: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 26

Once the formula is established…

Page 24: On sharing ideas & sharing code

©2013 CloudBees, Inc. All Rights Reserved 27

My Wish List

• Share your idea in code, not in English• Get out of people’s way