Communicating the Value of Open Source Metrics Ben Lloyd Pearson - - PowerPoint PPT Presentation

communicating the value of open source metrics
SMART_READER_LITE
LIVE PREVIEW

Communicating the Value of Open Source Metrics Ben Lloyd Pearson - - PowerPoint PPT Presentation

Communicating the Value of Open Source Metrics Ben Lloyd Pearson Governor of GitHub @ Oath Metrics are awesome! But they arent inherently valuable Focused metric sets can help solve specific problems (Keep the end in mind) And enable us


slide-1
SLIDE 1

Communicating the Value of Open Source Metrics

Ben Lloyd Pearson Governor of GitHub @ Oath

slide-2
SLIDE 2

Metrics are awesome!

slide-3
SLIDE 3

But they aren’t inherently valuable

slide-4
SLIDE 4

Focused metric sets can help solve specific problems

(Keep the end in mind)

slide-5
SLIDE 5

And enable us to better communicate the value of open source efforts

slide-6
SLIDE 6

We can work together to make this a reality

slide-7
SLIDE 7

Speaker for the Dead

What can learn from the perspective of React Intl

slide-8
SLIDE 8

A Slow Decline…

Commits Time

slide-9
SLIDE 9

A Slow Decline…

Commits Time

slide-10
SLIDE 10

Why Did this Project Die?

Oath Others Commits Time

slide-11
SLIDE 11

Why Did this Project Die?

Oath Others Commits Time

slide-12
SLIDE 12

Why Did this Project Die?

Oath Others Commits Time

slide-13
SLIDE 13

Individual metrics can be misleading

slide-14
SLIDE 14

We need a more holistic approach that provides better context

slide-15
SLIDE 15

The goal: analytics dashboards that target specific problems

slide-16
SLIDE 16

This was an Avoidable Death

1. Monitor the Development Pace

a. Trend lines to identify long term changes b. Y-o-Y acceleration/deceleration to identify shorter term changes

slide-17
SLIDE 17

This was an Avoidable Death

1. Monitor the Development Pace

a. Trend lines to identify long term changes b. Y-o-Y acceleration/deceleration to identify shorter term changes

2. Evaluate the Contributor Distribution

a. Commit distribution to identify sustainability of developer community b. Geographic distribution to identify developer communities

slide-18
SLIDE 18

This was an Avoidable Death

1. Monitor the Development Pace

a. Trend lines to identify long term changes b. Y-o-Y acceleration/deceleration to identify shorter term changes

2. Evaluate the Contributor Distribution

a. Commit distribution to identify sustainability of developer community b. Geographic distribution to identify developer communities

3. Evaluate the Organization Distribution

a. Contributions from other organizations to identify potential partners b. External code as percent of total to track success of external outreach

slide-19
SLIDE 19

Real World Examples!

Moloch Screwdriver

slide-20
SLIDE 20

Development Pace

slide-21
SLIDE 21

Monitor Development Pace

Y-o-Y Acceleration Cumulative

slide-22
SLIDE 22

Monitor Development Pace

Sudden acceleration in development pace, followed by sustained rate...

Y-o-Y Acceleration Cumulative

slide-23
SLIDE 23

Monitor Development Pace

Sudden acceleration in development pace, followed by sustained rate... ...results in a new development pace that raises the trend line

Y-o-Y Acceleration Cumulative

slide-24
SLIDE 24

Monitor Development Pace

Y-o-Y Acceleration Cumulative

slide-25
SLIDE 25

Monitor Development Pace

A steady development pace...

Y-o-Y Acceleration Cumulative

slide-26
SLIDE 26

Monitor Development Pace

...despite regular fluctuations year to year. A steady development pace...

Y-o-Y Acceleration Cumulative

slide-27
SLIDE 27

React Intl: Development Pace

slide-28
SLIDE 28

React Intl: Development Pace

Consistent periods of decelerating development

! ! !

slide-29
SLIDE 29

React Intl: Development Pace

Consistent periods of decelerating development

! ! !

!

Crossed below the trend line after more than 1 year above

slide-30
SLIDE 30

React Intl - Development Pace

Consistent development deceleration across project history should have triggered alarms for further analysis The cumulative commits dropping below the long term trend line should have triggered a much bigger alarm

slide-31
SLIDE 31

Contributor Distribution

slide-32
SLIDE 32

Author Distribution: Commits

Commits Author

slide-33
SLIDE 33

Author Distribution: Commits

Extremely top heavy with a dependence on top two contributors

Commits Author

slide-34
SLIDE 34

Author Distribution: Commits

Commits Author

slide-35
SLIDE 35

Author Distribution: Commits

Far more even distribution of commits per author

Commits Author

slide-36
SLIDE 36

Author Distribution: Commits

slide-37
SLIDE 37

Author Distribution: Timezone

Multiple contributors, but primarily in a single area

Timezone Authors

slide-38
SLIDE 38

Author Distribution: Timezone

Multiple contributors, but primarily in a single area Dominated by contributions from two people

Timezone Authors Timezone Commits

slide-39
SLIDE 39

Author Distribution: Timezone

Numerous contributors in multiple locations

Timezone Authors

slide-40
SLIDE 40

Author Distribution: Timezone

More distributed commits per author Numerous contributors in multiple locations

Timezone Authors Timezone Commits

slide-41
SLIDE 41

React Intl: Contributor Distribution

slide-42
SLIDE 42

React Intl: Contributor Distribution

Regular participation from community members

slide-43
SLIDE 43

React Intl: Contributor Distribution

Top heavy author distribution

!

Regular participation from external community

slide-44
SLIDE 44

React Intl: Contributor Distribution

Top heavy author distribution

!

Numerous contributors in diverse geographic locations!

Regular participation from external community

slide-45
SLIDE 45

React Intl: Contributor Distribution

Top heavy author distribution

!

Numerous contributors in diverse geographic locations!

!

Regular participation from external community Dominated by contributions from two people

slide-46
SLIDE 46

React Intl: Contributor Distribution

React Intl has a history of contributions from a diverse developer community However, most people never made more than 1 contribution

slide-47
SLIDE 47

Organizational Distribution

slide-48
SLIDE 48

Organization Commits

Oath Others Commits Time

External contributors represent very small portion

  • f total contributions
slide-49
SLIDE 49

Organizational Diversity Over Time

External contributions are decreasing as percent of total contributions

Commits (% of Total Time Oath Others

slide-50
SLIDE 50

Organization Commits

Oath Others Commits Time

External contributors represent a larger portion

  • f total contributions
slide-51
SLIDE 51

Organizational Diversity Over Time

External contributions are increasing as percent of total contributions

Commits (% of Total) Time Oath Others

slide-52
SLIDE 52

React Intl: Organizational Diversity

slide-53
SLIDE 53

React Intl: Organizational Diversity

External contributors represent a modest amount

  • f total contributions

!

slide-54
SLIDE 54

React Intl: Organizational Diversity

External contributions are increasing as percent of total contributions External contributors represent a modest amount

  • f total contributions

✓ ✓

!

slide-55
SLIDE 55

React Intl: Organizational Diversity

React Intl had an increasing rate of external participation relative to internal participation. However, it never reached critical mass to hit a sustainable level of external participation

slide-56
SLIDE 56

How to Save React Intl

slide-57
SLIDE 57

What Works?

Numerous contributors in diverse geographic locations

slide-58
SLIDE 58

What Works?

Numerous contributors in diverse geographic locations! Regular participation from external community

slide-59
SLIDE 59

What Works?

Numerous contributors in diverse geographic locations! Regular participation from external community Increasing contributions as percent of total from external community

slide-60
SLIDE 60

How to Save React Intl

Commits Timezone

Make this

Individual contributors

slide-61
SLIDE 61

How to Save React Intl

Commits Timezone Authors Timezone

Make this Look more like this

Individual contributors

slide-62
SLIDE 62

How to Save React Intl

1. Evaluate the individual / organizational distributions to identify existing developer communities

slide-63
SLIDE 63

How to Save React Intl

1. Evaluate the individual / organizational distributions to identify existing developer communities 2. Identify internal experts to bridge with external participants and cultivate a stronger community

slide-64
SLIDE 64

How to Save React Intl

1. Evaluate the individual / organizational distributions to identify existing developer communities 2. Identify internal experts to bridge with external participants and cultivate a stronger community 3. Set alarms to notify proper authorities when certain health metric thresholds are crossed (for emergency use only!)

slide-65
SLIDE 65

Three Steps for Rescue

1 2 3

Commits Time

slide-66
SLIDE 66

Three Steps for Rescue

1

Commits Time

Reach out to first external contributors to build pathway to project leadership

slide-67
SLIDE 67

Three Steps for Rescue

2

Commits Time

Leverage high internal development effort to increase involvement with external community

slide-68
SLIDE 68

Three Steps for Rescue

3

Commits Time

Support the community as it attempts to take

  • ver the project

leadership

slide-69
SLIDE 69

The Plot Twist

There are still a ton of internal and external developers who use and want to contribute to this project

slide-70
SLIDE 70

The Plot Twist

There are still a ton of internal and external developers who use and want to contribute to this project

Maybe it’s not too late!

slide-71
SLIDE 71

What Does this Mean for You?

slide-72
SLIDE 72

Extracting More Value from Open Source Metrics

The Goal:

  • Quickly gather vital information to better monitor projects for specific

problems.

  • Use the right data to better communicate how and where resources should be

directed to better leverage open source software

slide-73
SLIDE 73

Extracting More Value from Open Source Metrics

Metric sets like these could be useful for a variety of individuals

  • Community Managers
  • OSPO teams
  • Development Managers
  • Strategists
  • Software Architects
  • Etc.
slide-74
SLIDE 74

Let’s Work Together!

I want to collaborate with the CHAOSS community to build more informative visualization sets that help us better communicate the value of our efforts. I’ve published all of the dashboards from this talk at http://github.com/BenLloydPearson/grimoirelab-dashboards

P.S. I’m more than willing to grant this project to the CHAOSS community when it’s ready ;-)

slide-75
SLIDE 75

Let’s Work Together!

I need help to make this awesome

  • What is the best way to classify and organize these metric sets?

○ Profession, purpose, goal

  • What other metric sets are useful for monitoring vital health metrics?

○ Development backlog management, dependence on individual developers

  • What other metric sets could help identify and solve specific problems?

○ Building better organizational partnerships, identifying project risks

  • How can we better combine data sources to produce more context?

○ Evaluating the effects of events on development pace, contributor distribution, organizational distribution.

slide-76
SLIDE 76

Thanks!

http://github.com/BenLloydPearson/grimoirelab-dashboards

slide-77
SLIDE 77

Check out our open source projects too!

  • https://github.com/yahoo/react-intl
  • https://github.com/aol/moloch
  • https://github.com/screwdriver-cd