Mob programming the CPAN Pull Request CHallenge

Lance Wicks

lancew@cpan.org

Lance Wicks

Development Team Lead
at CV-Library.co.uk

 

lancew@cpan.org

Judo Coach

Geek

This talk:

  • CPAN Pull Request Challenge
  • A quick PRC History
  • CPAN-PRC 2017 Modules
  • Challenges
  • Benefits
  • How to give it a try

HIstory

  • CPAN Day (2014)
  • PRC 2015
  • PRC 2016
  • PRC 2017

 

http://cpan-prc.org/

Mob programming the CPAN-PRC

  • Informal way to interact across teams
  • Way to explore more of Perl and CPAN
  • Contribute to the community
  • Explore mob and pair programming
  • Education
     
  • Pizza... lots of pizza.

January 

 Task::Biodiverse::NoGui

 

First attempt, very tricky GUI based application in an academic field.

 

Teach people about CPAN, PAUSE, GitHub, Pull Requests.

 

44 Builds for the win!

February 

 Git::Hooks

 

Pre-planning helped

Learn about Dist::Zilla and module packaging.

 

TravisCI

 

Test::Requires::Git, expanding the authors knowledge as well as ours.

March 

 Linux::Unshare

 

Learnt about XS and using C in Perl.

Many (many) hours to move one line down three lines. 

April 

 

libwww-perl

 

Understanding the "River of CPAN"

Triaging bugs

Test coverage via Coveralls.io

 

Even the big projects have low hanging fruit.

May 

App::AltSQL

 

People started using this on their machines

 

Features added by non dev team members

 

One of our team is now the maintainer for the module!

 

June 

Parse::ErrorString::Perl

 

Extended TravisCI, improved documentation. Fixed bugs in examples.

 

Removed dead code.

 

Newest developer on the team had pull request accepted.

JuLY

PPI

Broad range of commits, adding features, extending tests,  resolved some Kwalitee issues.

 

Newcomers able to make commits again.

 

 

Challenges

 

  • Mixed abilities
  • Imposter Syndrome
  • Knowledge gaps
  • Comfort Zones
  • Team work vs. Personal Challenges
  • Received Knowledge
  • Finding things for everyone to work on

Benefits

 

  • Working across teams
    • Dev teams
    • Ops
    • QA
    • Desktop Support
  • Education
  • Informal development process exploration
  • Sharing quirks of the Perl community (cpan vs metacpan for example)
  • Kudos from the community

How to give it a try

 

  • Individual
    or
  • Team

Just email Neil Bowers with your GitHub username. 

Thank you
&
Any questions?