communities for code - what can engineering leaders learn from open source communities?
TRANSCRIPT
Communities for CodeWhat can engineering leaders learn from Open Source communities?
@brettporter
Teams that work well together
Well engineered, more approachable code
A sense of satisfaction and growth for engineers
Hats
Open Source Flavours
• Governance
• License
• Independence
• Size
The ASF
• Govern of merit
• Peer to Peer
• Consensus decision making
• Open, online communication
• Responsible oversight
Community Matters
Community Success Stories
Traits of Successful Communities
• Onboarding
• Ownership
• Openness
• Opportunity
Onboarding
• Successful communities make it easy for new people to get involved
• Documentation for onboarding
• Mentoring
• Attentiveness to contributions
• Low barrier to entry
Use Onboarding
• For new starters, and those changing responsibilities
• Provide the resources to get started
• Use common practices and tooling
• Provide access to those who can help
• Remove barriers
It’s easy to start with small changes that
make your life easier
It’s easy to start with small changes that
make your life easier
Over time, become invested in the project’s
success and feel a sense of ownership for
your work
A Shared MissionWorking on something that is important to you, with other people who share that view
Encourage Ownership
• Responsibility for code from inception to production
• Have a mission, a shared goal for a team to work towards
• Self-motivated individuals, empowered to achieve and shape their goal
Openness
• Open communication
• Open decision making
• Allows inspection and participation by “outsiders”
• Improve quality by diverse experience and many eyes
Favour Openness
• Have a level of autonomy for an engineering team
• Have open peer review
• Spread knowledge and avoid the “bus factor”
• Use tools that facilitate openness
• Example: http://paypal.github.io/InnerSourceCommons/
Open Source provides opportunities to work on something important to
you and to grow as an engineer
Opportunity
• Contributions that are respected, recognised and reviewed
• Learning to seek consensus
• Work with some of the best engineers in the industry as mentors
Provide Opportunity
• Offer the same opportunities for engineers in their work
• Give opportunities to talk about their work internally and externally
• Grow engineers, but also attract and retain top talent
Open Source
• Encourage engineers to engage in Open Source to connect with those communities
• Consider Open Source, developed openly for your own code where appropriate
Communities for Code
• Onboarding
• Ownership
• Openness
• Opportunity
• Learn from Open Source communities
• Engage in Open Source communities
Drop me a line
@brettporter