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

Post on 24-Jul-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

InnerSource: Applying Open Source Best Practices in the Enterprise

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

#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

#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

#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

#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

#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

#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

#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”

#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

#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

#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”

#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

#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

#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

#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

#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

#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

#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

#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

#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

#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

#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, …)

#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

#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

#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”

#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)

#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

#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:jimjag@gmail.comjim@apache.orgjim.jagielski@capitalone.com

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

Thanks to Phil Steitz for InnerSource organizational inspiration

top related