The development of scientific software is usually carried out by a scientist who has little professional training as a software developer. Concerns exist that such development produces low-quality products, leading to low-quality science. These concerns have led to recommendations and the imposition of software engineering development processes and standards on the scientists. This paper utilizes different frameworks to investigate and map characteristics of the scientific software development environment to the assumptions made in plan-driven software development methods and agile software development methods. This mapping exposes a mismatch between the needs and goals of scientific software development and the assumptions and goals of well-known software engineering development processes.
Abstract
In this position paper, our goal is to argue the need for specific software development practices to early-stage startups. In order to reach this goal, we discuss the consequences of innovative and market-driven contexts, which are two of the key elements when describing software startups. We also argue that these practices could be applied to innovative initiatives within established companies since they share similar characteristics and challenges as those from startups.