SlideShare a Scribd company logo
1 of 41
Measuring Open Source
Communities
Dr. Paul J. Adams & Dr Andrea Capiluppi
13/11/2013

BCS Open Source Specialist Group
What’s This All About?

✤

How to measure?

✤

When to measure?

✤

When not to measure?

Process is at the heart of all software
engineering; Free Software is no
different. This first part shows how
we can measure process and
establish how important it really is.

✤

Why measure?

Hint: Very.
Preamble
Who is this
dude?
✤

How do we identify him?

✤

What does he do?

✤

Who does he do it with?

✤

Is he productive?

✤

Is he any good?
What Does Open Source Look
Like?
How To Measure
Err... What Can
We Measure?
✤

VCS Metadata

✤

Code

✤

Communication

✤

Bug Tracking

✤

Documentation

✤

...
Qt for Android - The Crocodile
Qt Webkit - The Ski Slope
VCS Meta-Data
✤

Developers check code into
repository and associated
meta-data in stored:
✤

Committer identity

✤

Date/Time

✤

Message

✤

Resources touched
A Commit: Good
commit
5567d08d87e0bd83acd677fb1577a4db76172c0aAuthor: Paul
Adams <paul.adams@siriusit.co.uk>Date: Tue May 27
08:47:47 2008 +0000 * No hard-coded absolute URLs
please, relatives work There's no need to use
"localhost:8080..." type urls in the system. We can simply
put "updater?...." or whatever. This fixed a problem in
which I couldn't poke the updater from my laptop whilst
Alitheia core was running on a different machine.
A Commit: Bad

commit b0748c6ddd294ec8e6bbf39fb5ef5dd8128d0dbfAuthor:
Paul Adams <paul.adams@siriusit.co.uk>Date: Mon Dec 3
13:37:47 2007 +0000 * So this is what I consider a decent asciiart sheep
(~)o " "
* The other day, however, I was entertained to:
(^^)'> " "
I still prefer my own. Cast your votes now.
Feel free to produce further alternatives.
Who? & When?
Amarok: Before
Amarok: After
Rekonq
What Have We Exposed?
✤

Who is the core team?

✤

Where are the granular tasks?

✤

What is developer turnover like?

✤

What is developer uptake like?

✤

But what do we not see?
✤

Isolation? Structure?
Who & Who? Loose.
Who & Who? Tight.
✤

✤

Create cohesion
graph (for some
time period).
Find shortest
paths between all
nodes.

✤

Take average.

✤

Err...

✤

That’s it!

Cohesion: How Tight Is Tight?
Who? & What?
Coordination and Productivity
Issues in Free Software:
The Role of Brooks' Law
The Role of Brooks' Law
The Role of Brooks' Law
Rationale for the study
✤

“Adding manpower to a late project makes it later.”

✤

Fred Brooks, Jnr.
Context of the study
✤

Open Source processes are
fundamentally different from
traditional counterparts

✤

Does the Brooks law still hold
for Open Source systems?
Brooks: two primary premises

1) Developer’s ability to become
productive when joining a new
team;
✤

2) Quality of coordination as
the team grows
Testing Brooks laws
✤

Brooks’ Law can be hardly transcended

✤

Does it apply to
✤

* the core team?

✤

* the larger cohort of contributors?
Measuring Brooks' Law

✤

Issue of communication: does
communication and
coordination quality deteriorate
as a Free Software project
grows?

✤

Issue of early productivity:
how long does it take to fully
train a new contributor?

✤

Measured on KDE, Plone, Evince
Communication paths+graphs

✤

Given a number n of
developers, there are n2 − n
communication paths

✤

Comm. path: did they work on
the same artefact?

✤

Weight: number of artifacts
that a pair has jointly worked
on
Graph processing
✤

1) pairwise cohesion (PwC):
edge weight between 2 nodes
(ex: PwC4→5 = 4)

✤

2) path cohesion (PaC) = weight
of the shortest path between 2
nodes (ex: PaCo1→5 = 5)

✤

3) coordination cohesion (CCo):
average weight of all the shortest
paths between the nodes (ex:
CCo = 2.67)
Coordination paths: Plone and
Evince
Coordination paths in KDE

✤

1) Few active developers, high
cohesion

✤

2) increasing number of
developers, quasi-constant
cohesion

✤

3) Very large number of
developers, increasing cohesion
Issues of productivity

✤

Hypothesis: a contributor
requires a “ramp up” period
before they are fully effective.

✤

first three weeks of
contribution indicative of their
future effort

Partially engaged: < 1
commit per week
in first three weeks

Fully engaged:
committing in each
of their first three weeks
Early developers
✤

KDE better at engaging their new
contributors (39% fully engaged)

✤

Plone 14%

✤

Evince 9%
Contributors becoming
developers
low commit rate before and
high commit rate after
the ramp-up
(successful engagement
of developers)

low commit rates both before
and after the ramp-up
(sporadic developers)

high commit rates both before
and after the ramp-up
(engaged developers)

high commit rate before but
low commit rate after the
ramp-up
(unsuccessful engagement
of developers)
KDE productivity

✤

KDE effective at obtaining
new contributors

✤

Not as effective at keeping
those contributors
productive over time
Plone productivity

✤

Only 32 of the 131
contributors show
improved productivity

✤

Not as capable of bringing
new developers as KDE

✤

Less effective at converting
new contributors into
productive members
Evince productivity

✤

Evince not effective at
bringing in new developers

✤

Even less effective at
converting contributors into
productive team members.
Conclusion/Summary

✤

Two aspects considered:

✤

Communication/Coordination: are OSS projects facing issues as
they grow larger?

✤

Productivity: how effective are OSS projects in converting
“contributors” to “developers”
Conclusion/Summary

Communication/Coordination:
✤

Phase 1: large coordination effort required to manage few
developers (Brooks’ Law applies to Free Software)

✤

Phase 2: coordination effort is diluted as new developers join in

✤

Phase 3 (for KDE): coordination effort ramps up again (due to the
KDE internal characteristics)
Conclusion/Summary
✤

Productivity:

✤

Issue of attracting and retaining new developers:

✤

1) KDE can attract and successfully retain new developers

✤

2) Evince is successful at attracting new developers, but not as good
in keeping them attached

✤

3) for both KDE and Plone, developers become effective committers
within a 30 weeks’ ramp up
Questions?

More Related Content

What's hot

Freedom, responsibility, and dependencies
Freedom, responsibility, and dependenciesFreedom, responsibility, and dependencies
Freedom, responsibility, and dependenciesJon Schneider
 
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...Gene Kim
 
What the Fuck is DevOps?
What the Fuck is DevOps?What the Fuck is DevOps?
What the Fuck is DevOps?James Turnbull
 
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM
 
Tools Won't Fix Your Broken DevOps
Tools Won't Fix Your Broken DevOpsTools Won't Fix Your Broken DevOps
Tools Won't Fix Your Broken DevOpsNicole Forsgren
 
The Latest in DevOps: Elite Performance, Productivity, and Scaling - Google
The Latest in DevOps: Elite Performance, Productivity, and Scaling - GoogleThe Latest in DevOps: Elite Performance, Productivity, and Scaling - Google
The Latest in DevOps: Elite Performance, Productivity, and Scaling - GoogleMarilyne Huret
 
What I learned from 5 years of sciencing the crap out of DevOps
What I learned from 5 years of sciencing the crap out of DevOpsWhat I learned from 5 years of sciencing the crap out of DevOps
What I learned from 5 years of sciencing the crap out of DevOpsDevOpsDays DFW
 
2017 Q1 Open Source Support Briefing
2017 Q1 Open Source Support Briefing2017 Q1 Open Source Support Briefing
2017 Q1 Open Source Support BriefingBenito Gonzalez
 
Which Development Metrics Should I Watch?
Which Development Metrics Should I Watch?Which Development Metrics Should I Watch?
Which Development Metrics Should I Watch?Gene Gotimer
 
Vmware2021 why even devop nicolefv
Vmware2021 why even devop nicolefvVmware2021 why even devop nicolefv
Vmware2021 why even devop nicolefvNicole Forsgren
 
DevOps State of the Union 2015
DevOps State of the Union 2015DevOps State of the Union 2015
DevOps State of the Union 2015Ernest Mueller
 
Tutorial on Using Amazon Mechanical Turk (MTurk) for HCI Research
Tutorial on Using Amazon Mechanical Turk (MTurk) for HCI ResearchTutorial on Using Amazon Mechanical Turk (MTurk) for HCI Research
Tutorial on Using Amazon Mechanical Turk (MTurk) for HCI ResearchEd Chi
 
DevOps Roadtrip - Denver
DevOps Roadtrip - DenverDevOps Roadtrip - Denver
DevOps Roadtrip - DenverVictorOps
 
Keynote: The Phoenix Project: Lessons Learned - PuppetConf 2014
Keynote: The Phoenix Project: Lessons Learned - PuppetConf 2014Keynote: The Phoenix Project: Lessons Learned - PuppetConf 2014
Keynote: The Phoenix Project: Lessons Learned - PuppetConf 2014Puppet
 
Walk This Way - An Introduction to DevOps
Walk This Way - An Introduction to DevOpsWalk This Way - An Introduction to DevOps
Walk This Way - An Introduction to DevOpsNathen Harvey
 
How Do We Better Sell DevOps? - PuppetConf 2013
How Do We Better Sell DevOps? - PuppetConf 2013How Do We Better Sell DevOps? - PuppetConf 2013
How Do We Better Sell DevOps? - PuppetConf 2013Puppet
 

What's hot (20)

Freedom, responsibility, and dependencies
Freedom, responsibility, and dependenciesFreedom, responsibility, and dependencies
Freedom, responsibility, and dependencies
 
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
 
What the Fuck is DevOps?
What the Fuck is DevOps?What the Fuck is DevOps?
What the Fuck is DevOps?
 
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
 
Tools Won't Fix Your Broken DevOps
Tools Won't Fix Your Broken DevOpsTools Won't Fix Your Broken DevOps
Tools Won't Fix Your Broken DevOps
 
DevOps Requires Agility
DevOps Requires AgilityDevOps Requires Agility
DevOps Requires Agility
 
The Latest in DevOps: Elite Performance, Productivity, and Scaling - Google
The Latest in DevOps: Elite Performance, Productivity, and Scaling - GoogleThe Latest in DevOps: Elite Performance, Productivity, and Scaling - Google
The Latest in DevOps: Elite Performance, Productivity, and Scaling - Google
 
ROOTS2011 Continuous Delivery
ROOTS2011 Continuous DeliveryROOTS2011 Continuous Delivery
ROOTS2011 Continuous Delivery
 
What I learned from 5 years of sciencing the crap out of DevOps
What I learned from 5 years of sciencing the crap out of DevOpsWhat I learned from 5 years of sciencing the crap out of DevOps
What I learned from 5 years of sciencing the crap out of DevOps
 
2017 Q1 Open Source Support Briefing
2017 Q1 Open Source Support Briefing2017 Q1 Open Source Support Briefing
2017 Q1 Open Source Support Briefing
 
Which Development Metrics Should I Watch?
Which Development Metrics Should I Watch?Which Development Metrics Should I Watch?
Which Development Metrics Should I Watch?
 
Vmware2021 why even devop nicolefv
Vmware2021 why even devop nicolefvVmware2021 why even devop nicolefv
Vmware2021 why even devop nicolefv
 
DevOps State of the Union 2015
DevOps State of the Union 2015DevOps State of the Union 2015
DevOps State of the Union 2015
 
Tutorial on Using Amazon Mechanical Turk (MTurk) for HCI Research
Tutorial on Using Amazon Mechanical Turk (MTurk) for HCI ResearchTutorial on Using Amazon Mechanical Turk (MTurk) for HCI Research
Tutorial on Using Amazon Mechanical Turk (MTurk) for HCI Research
 
DevOps Roadtrip - Denver
DevOps Roadtrip - DenverDevOps Roadtrip - Denver
DevOps Roadtrip - Denver
 
Keynote: The Phoenix Project: Lessons Learned - PuppetConf 2014
Keynote: The Phoenix Project: Lessons Learned - PuppetConf 2014Keynote: The Phoenix Project: Lessons Learned - PuppetConf 2014
Keynote: The Phoenix Project: Lessons Learned - PuppetConf 2014
 
DevOps Game at SGZA
DevOps Game at SGZADevOps Game at SGZA
DevOps Game at SGZA
 
Walk This Way - An Introduction to DevOps
Walk This Way - An Introduction to DevOpsWalk This Way - An Introduction to DevOps
Walk This Way - An Introduction to DevOps
 
Fa102b
Fa102bFa102b
Fa102b
 
How Do We Better Sell DevOps? - PuppetConf 2013
How Do We Better Sell DevOps? - PuppetConf 2013How Do We Better Sell DevOps? - PuppetConf 2013
How Do We Better Sell DevOps? - PuppetConf 2013
 

Similar to Coordination and Productivity Issues in Free Software: The Role of Brooks' Law

Software quality
Software qualitySoftware quality
Software quality5minpause
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationPreetam Palwe
 
Tenants for Going at DevSecOps Speed - LASCON 2023
Tenants for Going at DevSecOps Speed - LASCON 2023Tenants for Going at DevSecOps Speed - LASCON 2023
Tenants for Going at DevSecOps Speed - LASCON 2023Matt Tesauro
 
Open agile is free and open source community agile-
Open agile  is free and open source community agile-Open agile  is free and open source community agile-
Open agile is free and open source community agile-Agile Tour Beirut
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st CenturyHenry Jacob
 
How to get the best out of DevSecOps - a developers perspective
How to get the best out of DevSecOps - a developers perspectiveHow to get the best out of DevSecOps - a developers perspective
How to get the best out of DevSecOps - a developers perspectiveColin Domoney
 
Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality" Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality" Lviv Startup Club
 
Agile Delivery Methods And Leadership
Agile Delivery Methods And LeadershipAgile Delivery Methods And Leadership
Agile Delivery Methods And LeadershipRanjith Varghese
 
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...Alejandro S.
 
Open Source Software Survivability Analysis Using Communication Pattern Valid...
Open Source Software Survivability Analysis Using Communication Pattern Valid...Open Source Software Survivability Analysis Using Communication Pattern Valid...
Open Source Software Survivability Analysis Using Communication Pattern Valid...IOSR Journals
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityMatt Tesauro
 
Software engineering project(srs)!!
Software engineering project(srs)!!Software engineering project(srs)!!
Software engineering project(srs)!!sourav verma
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Peter Marshall
 
Visual studio 2010 alm keynote sgp
Visual studio 2010 alm keynote sgpVisual studio 2010 alm keynote sgp
Visual studio 2010 alm keynote sgpSpiffy
 
DockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operationsDockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operationsArnaud Porterie
 
Continuous Delivery - the missing parts - Paul Stack
Continuous Delivery - the missing parts - Paul StackContinuous Delivery - the missing parts - Paul Stack
Continuous Delivery - the missing parts - Paul StackJAXLondon_Conference
 
2019 State of DevOps Report: Database Best Practices for Strong DevOps
2019 State of DevOps Report: Database Best Practices for Strong DevOps2019 State of DevOps Report: Database Best Practices for Strong DevOps
2019 State of DevOps Report: Database Best Practices for Strong DevOpsDevOps.com
 
BuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdfBuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdfAndri Muhyidin
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010Klocwork
 

Similar to Coordination and Productivity Issues in Free Software: The Role of Brooks' Law (20)

Software quality
Software qualitySoftware quality
Software quality
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Tenants for Going at DevSecOps Speed - LASCON 2023
Tenants for Going at DevSecOps Speed - LASCON 2023Tenants for Going at DevSecOps Speed - LASCON 2023
Tenants for Going at DevSecOps Speed - LASCON 2023
 
Open agile is free and open source community agile-
Open agile  is free and open source community agile-Open agile  is free and open source community agile-
Open agile is free and open source community agile-
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
How to get the best out of DevSecOps - a developers perspective
How to get the best out of DevSecOps - a developers perspectiveHow to get the best out of DevSecOps - a developers perspective
How to get the best out of DevSecOps - a developers perspective
 
Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality" Андрій Татчин "Software Project Estimation: Theory and Reality"
Андрій Татчин "Software Project Estimation: Theory and Reality"
 
Agile Delivery Methods And Leadership
Agile Delivery Methods And LeadershipAgile Delivery Methods And Leadership
Agile Delivery Methods And Leadership
 
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
 
Open Source Software Survivability Analysis Using Communication Pattern Valid...
Open Source Software Survivability Analysis Using Communication Pattern Valid...Open Source Software Survivability Analysis Using Communication Pattern Valid...
Open Source Software Survivability Analysis Using Communication Pattern Valid...
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based Security
 
Software engineering project(srs)!!
Software engineering project(srs)!!Software engineering project(srs)!!
Software engineering project(srs)!!
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"
 
Visual studio 2010 alm keynote sgp
Visual studio 2010 alm keynote sgpVisual studio 2010 alm keynote sgp
Visual studio 2010 alm keynote sgp
 
DockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operationsDockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operations
 
Continuous Delivery - the missing parts - Paul Stack
Continuous Delivery - the missing parts - Paul StackContinuous Delivery - the missing parts - Paul Stack
Continuous Delivery - the missing parts - Paul Stack
 
2019 State of DevOps Report: Database Best Practices for Strong DevOps
2019 State of DevOps Report: Database Best Practices for Strong DevOps2019 State of DevOps Report: Database Best Practices for Strong DevOps
2019 State of DevOps Report: Database Best Practices for Strong DevOps
 
BuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdfBuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdf
 
Why agile?
Why agile?Why agile?
Why agile?
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 

Recently uploaded

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Coordination and Productivity Issues in Free Software: The Role of Brooks' Law

  • 1. Measuring Open Source Communities Dr. Paul J. Adams & Dr Andrea Capiluppi 13/11/2013 BCS Open Source Specialist Group
  • 2. What’s This All About? ✤ How to measure? ✤ When to measure? ✤ When not to measure? Process is at the heart of all software engineering; Free Software is no different. This first part shows how we can measure process and establish how important it really is. ✤ Why measure? Hint: Very.
  • 4. Who is this dude? ✤ How do we identify him? ✤ What does he do? ✤ Who does he do it with? ✤ Is he productive? ✤ Is he any good?
  • 5. What Does Open Source Look Like?
  • 7. Err... What Can We Measure? ✤ VCS Metadata ✤ Code ✤ Communication ✤ Bug Tracking ✤ Documentation ✤ ...
  • 8. Qt for Android - The Crocodile
  • 9. Qt Webkit - The Ski Slope
  • 10. VCS Meta-Data ✤ Developers check code into repository and associated meta-data in stored: ✤ Committer identity ✤ Date/Time ✤ Message ✤ Resources touched
  • 11. A Commit: Good commit 5567d08d87e0bd83acd677fb1577a4db76172c0aAuthor: Paul Adams <paul.adams@siriusit.co.uk>Date: Tue May 27 08:47:47 2008 +0000 * No hard-coded absolute URLs please, relatives work There's no need to use "localhost:8080..." type urls in the system. We can simply put "updater?...." or whatever. This fixed a problem in which I couldn't poke the updater from my laptop whilst Alitheia core was running on a different machine.
  • 12. A Commit: Bad commit b0748c6ddd294ec8e6bbf39fb5ef5dd8128d0dbfAuthor: Paul Adams <paul.adams@siriusit.co.uk>Date: Mon Dec 3 13:37:47 2007 +0000 * So this is what I consider a decent asciiart sheep (~)o " " * The other day, however, I was entertained to: (^^)'> " " I still prefer my own. Cast your votes now. Feel free to produce further alternatives.
  • 17. What Have We Exposed? ✤ Who is the core team? ✤ Where are the granular tasks? ✤ What is developer turnover like? ✤ What is developer uptake like? ✤ But what do we not see? ✤ Isolation? Structure?
  • 18. Who & Who? Loose.
  • 19. Who & Who? Tight.
  • 20. ✤ ✤ Create cohesion graph (for some time period). Find shortest paths between all nodes. ✤ Take average. ✤ Err... ✤ That’s it! Cohesion: How Tight Is Tight?
  • 22. Coordination and Productivity Issues in Free Software: The Role of Brooks' Law The Role of Brooks' Law The Role of Brooks' Law
  • 23. Rationale for the study ✤ “Adding manpower to a late project makes it later.” ✤ Fred Brooks, Jnr.
  • 24. Context of the study ✤ Open Source processes are fundamentally different from traditional counterparts ✤ Does the Brooks law still hold for Open Source systems?
  • 25. Brooks: two primary premises 1) Developer’s ability to become productive when joining a new team; ✤ 2) Quality of coordination as the team grows
  • 26. Testing Brooks laws ✤ Brooks’ Law can be hardly transcended ✤ Does it apply to ✤ * the core team? ✤ * the larger cohort of contributors?
  • 27. Measuring Brooks' Law ✤ Issue of communication: does communication and coordination quality deteriorate as a Free Software project grows? ✤ Issue of early productivity: how long does it take to fully train a new contributor? ✤ Measured on KDE, Plone, Evince
  • 28. Communication paths+graphs ✤ Given a number n of developers, there are n2 − n communication paths ✤ Comm. path: did they work on the same artefact? ✤ Weight: number of artifacts that a pair has jointly worked on
  • 29. Graph processing ✤ 1) pairwise cohesion (PwC): edge weight between 2 nodes (ex: PwC4→5 = 4) ✤ 2) path cohesion (PaC) = weight of the shortest path between 2 nodes (ex: PaCo1→5 = 5) ✤ 3) coordination cohesion (CCo): average weight of all the shortest paths between the nodes (ex: CCo = 2.67)
  • 31. Coordination paths in KDE ✤ 1) Few active developers, high cohesion ✤ 2) increasing number of developers, quasi-constant cohesion ✤ 3) Very large number of developers, increasing cohesion
  • 32. Issues of productivity ✤ Hypothesis: a contributor requires a “ramp up” period before they are fully effective. ✤ first three weeks of contribution indicative of their future effort Partially engaged: < 1 commit per week in first three weeks Fully engaged: committing in each of their first three weeks
  • 33. Early developers ✤ KDE better at engaging their new contributors (39% fully engaged) ✤ Plone 14% ✤ Evince 9%
  • 34. Contributors becoming developers low commit rate before and high commit rate after the ramp-up (successful engagement of developers) low commit rates both before and after the ramp-up (sporadic developers) high commit rates both before and after the ramp-up (engaged developers) high commit rate before but low commit rate after the ramp-up (unsuccessful engagement of developers)
  • 35. KDE productivity ✤ KDE effective at obtaining new contributors ✤ Not as effective at keeping those contributors productive over time
  • 36. Plone productivity ✤ Only 32 of the 131 contributors show improved productivity ✤ Not as capable of bringing new developers as KDE ✤ Less effective at converting new contributors into productive members
  • 37. Evince productivity ✤ Evince not effective at bringing in new developers ✤ Even less effective at converting contributors into productive team members.
  • 38. Conclusion/Summary ✤ Two aspects considered: ✤ Communication/Coordination: are OSS projects facing issues as they grow larger? ✤ Productivity: how effective are OSS projects in converting “contributors” to “developers”
  • 39. Conclusion/Summary Communication/Coordination: ✤ Phase 1: large coordination effort required to manage few developers (Brooks’ Law applies to Free Software) ✤ Phase 2: coordination effort is diluted as new developers join in ✤ Phase 3 (for KDE): coordination effort ramps up again (due to the KDE internal characteristics)
  • 40. Conclusion/Summary ✤ Productivity: ✤ Issue of attracting and retaining new developers: ✤ 1) KDE can attract and successfully retain new developers ✤ 2) Evince is successful at attracting new developers, but not as good in keeping them attached ✤ 3) for both KDE and Plone, developers become effective committers within a 30 weeks’ ramp up

Editor's Notes

  1. Process is the heart. Tools and people also required. Tools provide us with usable data that allow us to expose elements of process.
  2. First - People
  3. Mirko has multiple identities. Why is this important? - Unifying is difficult, but necesary
  4. - So lets start looking at tool and their output
  5. Metadata: Who did what, when? -&gt; What is VCS? -&gt; This is what we will focus on. Code: Size, Complexity, Quality Communication: Email, Jabber logs Bug Tracking
  6. Start off very simple. How many people did “stuff”? Question 1: Interpret this Question 2: The crocodile? Any guesses?
  7. Now interpret this. The crocodile again? -&gt; Nice start. But this only gives a very basic indication of effort.