innersource keynote 2017files.informatandm.com/uploads/2017/9/6.3_jagielski.pdf · innersource:...

28
InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr. Distinguished Engineer / Tech Fellows Program • Apache Software Foundation: Vice Chairman

Upload: others

Post on 24-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

InnerSource: Applying Open Source Best Practices in the Enterprise

JimJagielski•CapitalOne:Sr.DistinguishedEngineer/TechFellowsProgram•ApacheSoftwareFoundation:ViceChairman

Page 2: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

About MeApache Software Foundation

Vice-Chairman, Co-founder, Director, Member and Developer Director

Outercurve, MARSEC-XL, OSSI, OSI (ex)… Developer

Mega FOSS projects O’Reilly Open Source Award: 2013 European Commission: Luminary Award Sr. Director: Tech Fellows: Capital One

Page 3: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

What is “InnerSource”InnerSource is the methodology of taking the “lessons learned” from successful FOSS projects and using them internally in Enterprise IT development environments. What can corporate IT learn from leading open development communities?

Both principles and techniques offer value Understanding principles allows you to alter techniques “running your internal development as if it was an open source project”

Challenges must be overcome to realize success

Page 4: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Why InnerSource?Gain efficiencies by leveraging resident talent to its fullest Develop better software faster through collaboration Reduce costs through technology standardization and reuse Bring products to market faster Increase developer engagement and innovation through social creativity Attract and retain higher quality talent

Page 5: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

What is “The Apache Way”“The Apache Way” relates to how the ASF (and its projects) work and operate Basically, the least common denominators on how PMCs operate (or are expected to operate) Why Apache?

Best example of “pure” Open Source development Large number of success stories (and some “failures”) Recognized and acknowledged by peers and press.

Basic governance principles

Page 6: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Origins of “The Apache Way”History of The Apache Group and the ASF Focus on community Focus on the un-aligned volunteer contributor

Page 7: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Basic MemesMeritocracy Peer-based Consensus decision making Collaborative development Responsible oversight Individual Participation

Page 8: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Meritocracy“Govern by Merit” Merit is based on what you do Merit never expires Those with more merit, get more responsibility Provides incentive to Do More And you CAN Do More (go up the ladder) It’s NOT a dirty word aka “do-acracy”

Page 9: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Peer-basedDevelopers represent themselves - individuals Mutual trust and respect All votes hold the same weight (no BDFL) Community created code

Healthy communities create healthy code Poisonous communities don’t

Feel as part of a community

Page 10: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Why Community -> CodeAvoid for new projects, what boot-strapped the Apache Group in the 1st place Since we are all volunteers, people’s time and interests change A healthy community is “warm and inviting” and encourages a continued influx of developers Poisonous people/communities turn people off, and the project will die Diversity ensures survivability End result - better code, long-term code

Page 11: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Consensus decision makingKey is the idea of voting

+1 - yes +0 - no real comment -1 - veto

Sometimes you’ll also see stuff like -0, -0.5, etc… Used to gauge consensus, not really “majority rule”

Page 12: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Collaborative DevelopmentTransparent and Public Code is developed by the community Voting ensures at least 3 active developers Development done online and on-list

If it didn’t happen on-list, it didn’t happen

Page 13: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Responsible OversightEnsure license compliance Track IP Quality code Quality community Community ownership

Page 14: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

How?“If you want to build a ship, don’t drum up the men to gather wood,

divide the work, and give orders. Instead, teach them to yearn for the vast and endless sea.”

―AntoinedeSaint-Exupéry

Page 15: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Principles of InnerSourceCulture Communication Transparency Collaboration Community Meritocracy

Page 16: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Principles: CultureInner-sourcing is a cultural mind-shift

Create an expected set of behaviors Must be truly engaged Must be truly accepted

Techniques: Be the model and guide Embrace the model

Culture ➾ Communication

Page 17: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Principles: CommunicationIs core and foundational

Everything builds on this Open and asynchronous

Doesn’t disenfranchise anyone Archivable

Maintains history and allows ebb/flow Document tribal knowledge

Techniques: Mailing lists; reduce reliance on F2F; invest in infra

Communication ➾ Transparency

Page 18: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Principles: TransparencyReinforces and Enables Public and Open mindset

Inclusion Reuse

You can only reuse what you can see Quality/Security

More eyeballs mean better quality Measurement/Metric

You can only measure what you can see Transparency ➾ Collaboration

Page 19: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Principles: CollaborationCommon Vision Common Goal See connections Consensus:

Encourages contribution and improves leverage Encourages feedback and dialogue

Techniques: Build and Test Tools “Newbie” issues

Collaboration ➾ Community

Page 20: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Principles: CommunityLoyalty

Community breeds loyalty Durability

Communities can create durable assets, processes and culture Health Feedback and Dialogue Not-just the “regular, expected players” Community ➾ Meritocracy

Page 21: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Principles: MeritocracyTechnical decisions made by technical experts

Better informed decisions Role models

Merit provides examples Earned authority

“Natural” leadership Known path and “rewards” Influence and Direction are possible (!(Us vs Them)) Meritocracy ➾ Communication

Page 22: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

LessonsRequires a cultural and development methodology shift

Conflicts w/ pure Agile Sharing and Collaboration > short-term efficiency Collaborative infrastructure must exist

Real buy-in of initial investment schedule non-direct efforts (documentation, unit tests, …)

Page 23: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Developer Incentives - IntangibleSocial aspects of collaboration Better understanding of company’s mission, and where this project fits in Peer recognition Mentoring / Learning “Change of pace” Loyalty and value

Page 24: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Developer Incentives - TangibleTalent management Performance management Awards Conferences Training and Education

Page 25: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Incentives ManagementLess churn More innovation More focus on key tech Easier recruitment More “bang for the buck”

Page 26: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

MeasuringFlat, open, transparent Track:

Availability Usage Collaboration

Initially team focused: Effort towards collaboration

docs tests communication (f2f vs email/GitHub issues, etc)

Actual collaboration accepted pull requests feedback, mentoring

Developer Happiness/Retention (also hiring)

Page 27: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

Final ThoughtsCommunity is not the same as team

self organizing self identifying

Contribution is work Community requires investment Transparency is not a threat Collaboration means compromise Driving results means driving consensus

Page 28: InnerSource Keynote 2017files.informatandm.com/uploads/2017/9/6.3_Jagielski.pdf · InnerSource: Applying Open Source Best Practices in the Enterprise Jim Jagielski • Capital One:Sr

#SDXEJim Jagielski / @jimjag

This work licensed under Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag

ThanksTwitter: @jimjag

LinkedIn: https://www.linkedin.com/in/jimjag/

Email:[email protected]@[email protected]

http://www.slideshare.net/jimjag/

Thanks to Phil Steitz for InnerSource organizational inspiration