 Hello and welcome everybody. I'm Sebastian and I'm myself located in Munich. I would have had a really short way to this conference, but now I'm like everybody else on the internet, giving you a talk about why continuous integration will make your life easier if you collaborate with teams on our packages. And I will talk about one use case I have. I need to analyze a drug because I work in the pharmaceutical industry and I need to check does the drug influence an antibody level which will interact with the virus. So does the drug really change this antibody level and does the drug make us healthy or not? To analyze this, I will prepare a summary table which will not only give the levels of the antibody that I'm checking, it will also give me the quantiles. It will show the antibody level of people treated this year, the antibody level of people not treated this year, or the two separate or do the two overlap, I don't know. So this is what I'm going to check and then we'll look at the distribution plot to also see the same. In this case, I agreed with the condition that if 80% of the patients do not overlap, it's totally fine for the drug to go into further analysis. So for the demo, let's go into our studio. And in our studio, I've already prepared something. So here's the distribution plot. So in the distribution plot, you can already see how the distributions actually differ. But now run the statistics here again, all the quantiles separate if we look at 80% of the patients. What we see here, we have a quantile of the people who get treated, which ends at 146. And it starts at 149 for the people who did not get treated. So it's separate. And I would say, hey, let's go on with this drug. And for the investor drug, it seems to be pretty good for this antibody level that I looked at. So this is this IgG antibody level here. But I go to vacation. I didn't have time to report this finding to the clinician. And then two weeks later, my colleagues comes and looks at this and doesn't read the statistical analysis plan. And it says, hey, normally we don't use 80% of the patients because normally we use 98%. So we use these quantiles. And then he runs the code again. The plot doesn't change. But what changes are these numbers? And now we have an overlap and we don't look at the drug anymore. So this drug is basically kicked out. And we would maybe miss an opportunity here for this drug just because some statistician changed these numbers because of a mistake. Of course, you would double check with the statistical analysis report. But still I would come a week later and tell him, hey, did you look into the statistical analysis report? The numbers there are different. How can we save this time? Number one, I would wrap my code in an R package. So in an R package, it's way better to see the code in this summary function. And the function is nicely documented. Number two, I would put my code into version control. My code is in Git. So now if my coworker wants to change something, he needs to open an own branch. He cannot just work on master. So he would open this coworker branch and then he would change the numbers. Now how would this code, with the new numbers get into my code? He would open a pull request on GitHub. So this is how you do this. You open compare changes. You go to this branch. Which is the coworker run. And here you see the difference. So now my coworker would view this. And here is the third piece I have in place, which is really awesome. And this is an automatic Google Cloud build that automatically checks my code and says my coworker, hey, all of the checks have failed. Where did I put the checks in? I put them in RStudio. I wrote a little test here that has expected values for the lower quantiles and runs some sample data set against these expected values. And I have a Docker file which runs our CMD check at the end. So it basically runs the test and checks for it. What does Google Cloud build do here? Every time my coworker checks in the code. So here he has the branch 0 or 5 coworker. You can see what my coworker did wrong. You can see numbers that mismatch. And you can see the test that fails. My coworker can go back, maybe read the statistical analysis report and wouldn't have to wait a week for me to come back because I put this in there. And everything runs automatically and can be automatically checked. This was already it. So this was my short talk on how you can speed up your teams. Thank you. Thanks for listening. I'm Sebastian. This is how you can find me. And there is the link to the code on the bottom of this presentation.