It depends: A dialog about dependencies

Software dependencies can often be a double-edged sword. On one hand, they let you take advantage of others' work, giving your software marvelous new features and reducing bugs.

It depends: A dialog about dependencies

January 24, 2019

Software dependencies can often be a double-edged sword. On one hand, they let you take advantage of others' work, giving your software marvelous new features and reducing bugs. On the other hand, they can change, causing your software to break unexpectedly and increasing your maintenance burden. These problems occur everywhere, in R scripts, R packages, Shiny applications and deployed ML pipelines. So when should you take a dependency and when should you avoid them? Well, it depends! This talk will show ways to weigh the pros and cons of a given dependency and provide tools for calculating the weights for your project. It will also provide strategies for dealing with dependency changes, and if needed, removing them. We will demonstrate these techniques with some real-life cases from packages in the Tidyverse and r-lib.

View Materials

About the speaker

Jim Hester

Jim is a software engineer on the Tidyverse team, with a background in Bioinformatics and Genomics. He is the author and maintainer of a number of R packages including covr, devtools, glue, readr and more...