Programming is ubiquitous in applied biostatistics; adopting software engineering skills will help biostatisticians do a better job. To explain this, we start by highlighting key challenges for software development and application in biostatistics. Silos between different statistician roles, projects, departments, and organizations lead to the development of duplicate and suboptimal code. Building on top of open-source software requires critical appraisal and risk-based assessment of the used modules. Code that is written needs to be readable to ensure reliable software. The software needs to be easily understandable for the user, as well as developed within testing frameworks to ensure that long term maintenance of the software is feasible. Finally, the reproducibility of research results is hindered by manual analysis workflows and uncontrolled code development. We next describe how the awareness of the importance and application of good software engineering practices and strategies can help address these challenges. The foundation is a better education in basic software engineering skills in schools, universities, and during the work life. Dedicated software engineering teams within academic institutions and companies can be a key factor for the establishment of good software engineering practices and catalyze improvements across research projects. Providing attractive career paths is important for the retainment of talents. Readily available tools can improve the reproducibility of statistical analyses and their use can be exercised in community events. [...]
翻译:应用生物统计学的编程无处不在;采用软件工程技能将有助于生物统计学家做更好的工作。为了解释这一点,我们首先强调软件开发和应用生物统计学的关键挑战。不同统计角色、项目、部门和组织之间的细微差别导致编制重复和不理想的代码。在开放源软件的顶端,需要对所用模块进行严格的评估和基于风险的评估。书面守则需要便于阅读,以确保可靠的软件。软件需要便于用户理解,并在测试框架内开发,以确保软件的长期维护是可行的。最后,由于人工分析工作流程和不受控制的代码开发,研究成果的再生受到阻碍。我们接下来要说明如何认识和应用良好的软件工程做法和战略的重要性和用途有助于应对这些挑战。基础是在学校、大学和工作生涯期间进行更好的基本软件工程技能教育。学术机构和公司内的专门软件工程团队可以成为建立良好的软件工程做法和在测试框架内进行催化改进的一个关键因素。在各种研究项目中,提供具有吸引力的学习能力的学习能力,可以提高社区学习能力。