The requirements listed in this section are widely applicable to all phases of the Hephaestus Process.
These are requirements that must be addressed in some way outside of the definition of the Hephaestus Process itself, though they need to be considered in the design of the process to ensure they will be feasible.
These requirements are principles driving the definition of all requirements.
Emergency situations may call for real-time responses. The process should include mechanisms which do not harm response time, but at the same time as much as possible do not sacrifice necessary aspects of process which ensure quality and maintainability.
All groups, procedures and documents called for by the Hephaestus process must be defined clearly and unambiguously. As appropriate, this means that the process documentation must provide good templates and examples defining what is called for. These documents must be careful to explain things that are permitted, required, or optional on various scales or in various exceptional conditions.
All documents will be available on-line, accessible by all supported platforms, and should be easy to find.
Deliverables of Hephaestus should include appropriate training.
Wherever practical, standard tools and processes should be defined and provided to be used in the process to help supply:
As appropriate, people need to be held accountable for their roles in the process.
It should be easy for outsiders to determine what the deliverables are, when they are due, and whether or not they're on track.
Wherever Hephaestus interfaces to any of these, the assumptions and requirements about them need to be stated (especially when the called for processes/procedures are currently nonexistent).
The process must ensure that the product is built according to the customer's specification. For example, there must be customer acceptance of the project requirements. If a prototype is part of the design, customer acceptance is also required at that stage.
Hephaestus should facilitate modifying the output of any phase as needed, after the phase has ended. Such changes should propagate to the outputs of all affected phases.