From 4e9e145afe79faac1cca38e86d5d7ffecdc1c91f Mon Sep 17 00:00:00 2001 From: Boud Roukema Date: Sun, 19 Apr 2020 17:20:46 +0200 Subject: Principles - P3 minimal complexity Minor wording changes - reduction by 10 words. --- paper.tex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/paper.tex b/paper.tex index d43aa8c..b8201b9 100644 --- a/paper.tex +++ b/paper.tex @@ -247,12 +247,12 @@ Communication between the independent modules should be explicit, providing seve However, designing a modular project needs to be encouraged and facilitated. Otherwise, scientists, who are not usually trained in data management, will rarely design their projects to be modular, leading to great inefficiencies in terms of project cost and/or scientific accuracy. \item \label{principle:complexity}\textbf{Minimal complexity:} - This principle is essentially Ockham's razor: ``\emph{Never posit pluralities without necessity}'' \citep{schaffer15}, but extrapolated to project management: - 1) avoid complex relations between analysis steps (which is related to the principle of modularity in \ref{principle:modularity}). - 2) avoid the programming language that is currently in vogue because it is going to fall out of fashion soon and significant resources are required to translate or rewrite it every few years (to stay in vogue). - The same job can be done with more stable/basic tools, and less effort in the long run. + This principle is Ockham's razor, ``\emph{Never posit pluralities without necessity}'' \citep{schaffer15}, extrapolated to project management: + 1) avoid complex relations between analysis steps (this is related to modularity: \ref{principle:modularity}). + 2) avoid the programming language that is currently in vogue, because it is going to fall out of fashion soon and require significant resources to translate or rewrite it every few years (to stay fashionable). + The same job can be done with more stable/basic tools, and less long-term effort. - \emph{Comparison with existing:} Most of the existing solutions above use tools that are most popular at their creation epoch. For example, as we approach the present, successively larger fractions of tools are written in Python, and use Conda or Jupyter (see \ref{principle:complete}). + \emph{Comparison with existing:} Most of the solutions above were created using tools that were at the time the most popular. For example, as we approach the present, successively larger fractions of tools are written in Python, and use Conda or Jupyter (see \ref{principle:complete}). \item \label{principle:verify}\textbf{Verifiable inputs and outputs:} The project should contain automatic verification checks on its inputs (software source code and data) and outputs. -- cgit v1.2.1