A Minimum Viable Project

First Collaborator

Jess Avatar Tahia Avatar

Collaboration as Learning

Stack Overflow logo

Sharing Data as Files

DataDryad logo Zenodo logo ORCID logo

Sharing Data as Packages

pip install git+ssh://git@github.com/gvwilson/nitinat
CRAN logo PyPI logo

Regression

Ren Avatar

Testing

pytest logo

Where Do Tests Come From?

  1. Working backward from failures
    • Jess creates a reproducible example (reprex) each time the code fails
    • Throw away input until the problem goes away
    • Then undo the last change
  2. Working forward from code
    • The coverage module shows which lines of code aren't tested
    • Jess constructs tests to reach untested lines
    • Coincidentally reveals some code that is no longer needed

Design for Test

maze

Taschuk's Rules

What Can Reasonably Go Wrong?

Things Are Going Well…

Hugo logo

…And Then It Happens

Communication

Discussion

Slack logo Discourse logo

Code of Conduct

Checklists

Checklist

Passwords

BitWarden logo 1password logo LastPass logo

Please see [Smalls2021] for other steps you should take right now.

Roles and Responsibilities

Person Roles Role Task
ghopper admin admin merge PRs
kjohnson admin, commit × admin assign issues
aturing commit commit publish posts
bwk commit commit file issues

The Hertweck Test

Score your project from 0 to 10:

Roles and Responsibilities

  1. List things people do to keep your project going in Column A.
  2. List people who contribute to the project in Column B.
  3. Draw lines to connect them. What roles can you identify?

Checklist

  1. Read through these checklists.
  2. What do you not do?
  3. What do you do differently?
  4. What do you do that isn't listed?
  5. What would you take out of these checklists to make room for more important things?