1. Introduction
Software written to solve scientific and engineering problems that require the use of high performance (massively parallel) supercomputers is an increasingly important class of applications. Software engineering processes and methods used to develop these applications varies from those used to develop other types of applications, such as in commercial IT. Some of these differences are highlighted in Section 2.