ITTC Software Development Best Practices

The ITTC Software Best Practices provide guidance to software developers from the Requirements Phase of a project through to the Delivery Phase of a project.


Project Setup

Directory Hierarchy

Version Control System

Version Control System Usage





Directory Hierarchy

Directory Contents


Source Documentation

Coding Style

Third Party Source

Unit Testing


System Testing




The Best Practices have two primary goals:

Why do we care about guidelines and knowledge capture? There are two basic reasons:

With Best Practices guidelines, developers create documentation that is consistent between developers and the documentation is consistent through the life of a project. Consistent format, style and document organization efficiently transfers project knowledge to future developers. Templates from the Best Practices for requirements, specifications and design documents and source code templates enhance execution of the Best Practices.

Since developers may switch tasks within a project, the Best Practices provide a formal mechanism to unambiguously communicate information between successive developers on a particular task on a project. The unambiguous communication mechanism is also required for those portions of the project, like a library, that are reused in other parts of a project or in entirely different projects.

Since Principle Investigators (PIs) have differing views on Best Practices specifics the Best Practices for each project provide the developers with the specific expectations of the Principle Investigator for each project.

Leon S. Searl

Last Modified: 2001-01-17