Design
 

In the design phase, we create and document software modules that fit together to form a robust, extensible application for your system.

Our objective here is to create software that can be coded, debugged, maintained and extended by a team beyond the original authors.  With that in mind, we define a 'skeleton' for the tasks and objects of the system that identifies what the objects are, how they communicate within a task, and how they communicate between tasks.  This documented framework makes it easier to add engineers to a project, or to have engineers move between one section of a project and another.