2 research outputs found
The Software Garden
This paper describes a practical method of developing custom HPC software
products using a store of libraries and tools independent from the OS called a
"garden". All dependencies from the product to libraries of the underlying OS
distribution are carefully severed, isolating the package from instability due
to system upgrades and ensuring repeatable deterministic builds on different
flavors of Linux. The method also guarantees multiple versions of a software
product may exist together and function correctly, greatly facilitating upgrade
and rollback. The method is the first known system to expose all past software
versions to the designer, and support deterministic single-package rollback
without affecting other installed software. An application of this method for
building a high performance trading system in C++ is presented.Comment: 9 pages, 6 figure
When Agile Is Not Good Enough: an initial attempt at understanding how to make the right decision
Particularly over the last ten years, Agile has attracted not only the
praises of a broad range of enthusiast software developers, but also the
criticism of others. Either way, adoption or rejection of Agile seems sometimes
to be based more on a questionable understanding than on a critical,
well-informed decision making process. In this paper, the dual nature of the
above criticism is discussed, and the arguments against Agile have been
classified within a critical taxonomy of risk factors. A decisional model and
tool based on such taxonomy are consequently proposed for supporting software
engineers and other stakeholders in the decision-making about whether or not to
use Agile. The tool, which is freely available online, comes with a set of
guidelines: its purpose is to facilitate the community of software developers
to contribute to further assessing the potential and the criticalities of Agile
Methods