Environmental software is often used to determine impacts to the public, workers, and the environment from environmental contamination. It is vital, therefore, that the modeling results, and the software that provides them, be scientifically defensible and capable of withstanding the most rigorous of technical reviews. The control and assurance of quality is a critical factor for the project team that develops environmental software at the Pacific Northwest National Laboratory. This document describes the philosophy, process, and activities that ensure a quality product throughout the life cycle of requirements analysis, design, programming, modification, testing, and implementation of environmental software. Environmental software developed by the project team is designed using an object-oriented approach. This software offers increased benefits, such as ease of maintenance and retention of the development and testing legacy of individual components, over traditional hard wired software. These benefits allow the design and testing of the models and future additions to be faster and less costly. This software is developed using a modular framework concept that allows a variety of models to work within a single construct. This software has two parts: an overall system framework and a set of modules. Each module has up to three components: a user interface, a scientific model, and pre/post-processors. Each of these pieces has a different set of quality criteria associated with it. However, whatever form this software might take for a particular client, standard processes apply to protect the information from inappropriate use. The information contained within this document can be applied to most environmental software to analyze risk in multiple environmental media.