Abstract
Computational Science and Engineering (CSE) software is typically developed using research funding where the primary focus is research and development of advanced algorithms and modeling capabilities. As a result, formal software engineering is seldom a primary goal. CSE software developers intend to write good software, but often lack the training, resources or time to adopt advanced formal methods and practices. In this paper, we present a list of practices identified from the Trilinos project that we believe most CSE software teams can adopt and from which they can benefit.