open development - an engineering manager's perspective

23
© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Open Development: An Engineering Manager’s Perspective Michael Marth | Director Engineering

Upload: michael-marth

Post on 23-Jan-2018

352 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Open Development: An Engineering Manager’s PerspectiveMichael Marth | Director Engineering

Page 2: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Open Development (aka Inner Source) - Technical

Requirements

2

Open Source Open Development / Inner Source

Sources public Sources open for everyone within Adobe

No meetings Meetings?

Public:

• Mailing list

• Slack

• Issue tracker

• Documentation

Anyone within Adobe can read/write

• Mailing list

• Slack

• Jira

• Wiki

Do everything within Adobe like it would work within an open source project

Page 3: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

> whoami

Open Development in Adobe for 6 years

Granite

https://wiki.corp.adobe.com/display/granite/Granite+Home

New open dev projects in the works

Managing Adobe developers contributing to Apache Software Foundation projects

Previously Apache Felix, Sling, Oak, Tika, Solr, etc

Currently Apache OpenWhisk

3

Page 4: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Attention: Opinion Piece Coming UpYMMV

4

Page 5: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Covering the Basics

Code on Github and public

Open/public

Mailing list

Slack

Issue tracker

Wiki

5

Open Dev works best on platform or librarysoftware

e.g. UI widgets, database, framework, message bus

Stuff that other developers can use to build things

Your Software

Someone else’s Business

App

end user

Rough statistics (completely made-up)

100 users -> 10 contributors -> 1 committer

Page 6: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Open Source / Open Development: Joe Doe’s Prototypical

Story

6

1. Joe has put code on GitHub

Yay! Big celebration

2. Joe has talked about it

150 Tweets

3 blog posts

2 conference talks

Page 7: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Expected Result

7

Page 8: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Actual Result: No Magic Happened, No Unicorns Appeared

8

Page 9: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Actual Result

(max) 10 Pull Requests

9

Page 10: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Failed or forgot to build community of committers

10

Page 11: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Why build community?

Don’t start this before you have clarity

on this question

It’s a long term commitment

Answers differ

11

For example

Platform software sustainable for a decade

Industry impact / Adobe-internal impact

Page 12: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

How to build community

Objective #1

You MUST enable and allow distributed decision

making

12

Page 13: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

How to build community

13

Org

structure

Communicatio

n

structure

shapes shapesDecision

structure

For example:

• BDFL

• Apache-style

Claim:

BDFL works for some open

source, but not for OpenDev

Page 14: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

How to build community

14

Org

structure

Communicatio

n

structure

shapes shapesDecision

structure

Hierarchical P2P

If this is distributed then:

No calls

No daily standups

No scrum?

Page 15: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

How to build community

15

Org

structure

Communicatio

n

structure

shapes shapesDecision

structure

Hierarchical Consensus

Page 16: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The role of the EM in building community

Objective #1

Let go of your control on decisions

16

Page 17: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

All that sounds hard?

17

Page 18: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The easy way to Open Development

Go open source in a foundation like the ASF

Foundation owns the IP, community owns the code

Bonus: community rules for participation already written

18

Page 19: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Ready to start?

19

Page 20: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

The fallacy of projecting fears

I am ready to go open,…

but <some other person in my

org>

is not

Page 21: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Success Stories

21

Page 22: Open Development - an Engineering Manager's Perspective

© 2017 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Success stories

Open development:

Granite: ~150 committers throughout Adobe – 10 times more than reported in line to me

Open source

Apache Sling

AEM partners are ~50% of the community -> high partner stickyness and product participation

Super successful and easy recruiting pipeline

22

Page 23: Open Development - an Engineering Manager's Perspective