Status

production

 

Status information is displayed to the user in two ways at the project level:

  • Project Status

  • System Status (derived)

These two values indicate the top level project status via either an explicit statement made by the user (i.e. setting the “Project Status”), or by aggregating the individual system level statuses to derive a project level “System Status”.

System Status Aggregation

Each system contains an explicit System Status property. Each time a system status is changed, the project evaluates each of its systems to dynamically derive the whole project level “System Status”.

The method can briefly be described by the following logic:

If there are no systems in the project: The project status is "New Project" Else: If every system status is the same: If the shared status is "New System": The project status is "New Project" Else: The project status is whatever this shared status is. Else if some of the systems are "Operational", but not all of them: The project status is "Partially Operational" Else: The project status is "In Progress"

The potential benefit to this approach is that it allows for more fine control over system level progress reporting, with the entire project status therefore merely being a reflection of the sum of all systems.