To explain the advantages of formal specification to practising engineers, it is important to focus on what it brings to the practice of software development rather than on more abstract advantages such as the ability to mathematically analyse the specification.
Advantages that might be stressed are:
1. The detailed analysis of the requirements that is necessary to produce a formal specification. This results in the discovery and resolution of ambiguities and errors at an early stage in the process.
2. The unambiguous specification of interfaces. Interface problems are one of the major problems in system integration and a reduction in such problems can significantly reduce software costs.
3. The ability to mix formal and informal specifications. The whole system need not be formally specified but only those parts where most benefit can be gained.