This presentation was given at HP's DevOps Summit 2021. Aliza Carpio and Rocio Montes shared strategy, tactics and lessons learned from their past inner source work.
3. HP DevOps SIG
Summit 2021
Better Together:The Inner
Source Journey
3
Aliza Carpio and Rocío Montes
4. about
us
Aliza Carpio
Rocio Montes
Sr Engineering Manager
@montes_roxio
@roxiomontes
linkedin.com/in/montesrocio
Director, Tech Evangelist
@socialac
@alizaflips
linkedin.com/in/alizacarpio/
5. What’s behind the title… “Better Together”
On Chat, tell us what you think
6. In a world …
communities of practice, almost zero meetings, code stewards
7.
8. Challenges!
Code is owned by
teams and
individuals
= reliance on a
person/team,
resulting in long wait
times
Lack of
documentation
makes it hard to
contribute
Varying standards
across groups makes
it challenging to
“onboard” easily
The “waiting”
impacts work/life
balance;
at times, heroics
to meet
deadlines
We didn’t speak the
same language
Hard to find
answers so I have
to go to a meeting
to get it
Why would we
change? We’ve
been able to have
good velocity
without this
11. Symptoms
● “Slow”
○ Buried in managing dependencies
○ Distributed work
● Clones
● Difficult to onboard
● Stuck in hours of meetings
12. The first step...Senior Leaders wrote a paper that declared the “Engineering
Culture” we wanted to have...gave us a starting point
13.
14. So, now what?
What should we do with this?
Challenges
and
Symptoms
Tenets of the
paper
Paint the picture of our
“Ideal State” and came
up with a strategic
direction
16. Solution: inner source program
Unified guidelines
Declare a single and unified “Inner Source Guidelines”
17. Unified guidelines
● Suggested GitHub document structure for a
repository to be set up for inner source
● Github provides helpful features when
these documents exists
● Local development using containers
● CI/CD automation
Pull Request (PR) builds
Unit tests
Code
coverage
18. Unified guidelines
Declare a single and unified “Inner Source Guidelines”
Set up teams for success
Mutual ownership, appoint decision makers (trusted committers), define SLA
for review
Solution: inner source program
19. Set up teams for success
● Mindset reorientation adopting internal developers as their first
customers
● Created a new role with defined responsibilities, called the Trusted
Committer (TC)
● Code Review training, each PR is an opportunity for mentorship
● "On-call" TC rotation
● Defined SLA for reviews
20. Unified guidelines
Declare a single and unified “Inner Source Guidelines”
Set up teams for success
Mutual ownership, appoint decision makers (trusted committers), define SLA for review
Scale effort via influencers
Create tech community “site” leaders
Prioritize foundational capabilities
Services with which most teams integrate and from which changes are usually requested
Establish a rewards and recognition program
End-to-end recognition system
Solution: inner source program
21. Getting started: practical first steps
1
Connect and align
with your leaders
to get support
We connected with site
leaders and partner with
an engineer leader at
each site.
2
Research and
unify standards:
one playbook
We created these
guidelines on GitHub to
have them close to
engineers’ day-to-day
tools.
3
Identify teams to
be the “models”
for inner source
We identified foundational
capabilities in each business
unit.
4
Conduct
workshops to
teach the “model”
teams how to do
inner source
We have global tours and
have one-week
workshops with teams at
different Intuit sites.
22. ●Engineers who can
build “with teams” to
show them how to
work in an open
source way
● Product management
who
understand and
communicate that
“inner source” enables
business goals
●Measuring and analyzing data to
determine success of the program
We use GitHub Webhooks to gather
data for each commit, PR and issue
created.
Roles Skills
Roles and skills you’ll need
●Sharing, story-telling and
demoing the impact of the
program to leaders and teams
across the globe - bring them along
●Tooling and rewards that makes
engineers’ lives fun and easier
We created the “Intuit First Time
Contributions” site.
We created a badge to award inner
source practices.
#GitHubUnivers
e
25. The Journey
Declared the
engineering
culture we
want to have
Listening tours to
understand
barriers and
determine how
we can solve it.
Declared that we
would solve via
Inner Source (open
source too)
Aligned our game plan
with key senior leaders
and product dev
influencers
Principle: We will
accomplish this
together as a global
community
Execute on
strategy with
experimentation
mindset and
approach
26. Lessons Learned: We were wrong… a lot!
● Underestimated the importance of
Trust
● The biggest skeptic was NOT the
product manager, it was the Dev
Manager
● Importance of showing wins (small)
along the way to garner continued
support
● Table stakes! Code coverage in repos,
having a Read Me in the repo
● Elevate the role of the code reviewer
and the teachable moment of the
code review process
● Allocate a good amount of time
building documentation,
training/workshops, connections
● Scale...scale...scale - we built a global
network of champions (At Intuit, “Tech
Culture Champions”&“global site leads”)
27. Tap into their advisors and influencers
Need to convince senior leaders? Tap into their influencers
Principal engineers, Architects, senior leaders in Product who are their natural advisors/stakeholders
28. Embedding in every part of career lifecycle
New engineer onboarding Ongoing learning community led by
engineers for engineers
Learning path for tenured engineers
(part of learning program)
29. Everyone Benefits...
Software Engineer
● Empowered to contribute = I
can make an impact every day,
“pride”
● Decrease “wait times” from
other teams who “own” the
code
● Develop new skills = investing in
my craft
Customers
● Use products that are
“delightful” and
irreplaceable
● When there are customer
problems, the fix is quickly
delivered
Business
● Speed to delivering high
quality products and
features to customers
● Higher engagement from
technologists = retention
30. Resources/inspiration
Community
Inner Source
Model
Change
Mgmt
HERD” by Mark Earls
Inspired us to tap into our “social” nature to
change behavior
http://innersourcecommons.org/
Overview of inner source principles
www.madewithcode.com/community/
Inspired us to inject fun in everything we do -
acts as a catalyst to open discussions and
partnerships … also taught us the importance
of sharing with others
SWITCH: How to change things when
change is Hard by Chip and Dan Heath
● Provide clear direction
● Engage people’s emotional side
● Shape the path (path is the
situation)