What is DO-178C?
RTCA DO-178C/EUROCAE ED-12C is a document released by both RTCA and EUROCAE that is cited as an Acceptable Means of Compliance (AMC) for use in aircraft certification. It sets out objectives that should be met for the software aspects of aircraft certification. It does not require any specific software life cycle, tools, qualifications or any other development specific approach; it is agnostic as to how software engineering is undertaken. Crucially, it does expect engineering to have taken place and can be very unforgiving if this is not understood from the outset. There are technology supplements for Object Oriented Technologies (DO-332/ED-217), Model Based Design (DO-331/ED-218) and significantly for D-RisQ, Formal Methods (DO-333/ED-216). There is also a guide for tool qualification (DO-330/ED-215).
The assumption is that anyone who is investigating the use of DO-178C is actually using an engineering approach. Any engineer will require plans before they start to reflect what it is that they are intending to do. It is difficult and hence costly to try to plug holes retrospectively. It is also a good idea to actually read the document before starting, gain a good understanding of the applicability to the project and then to use it to effect a streamlined development. It expects that methods, tools, etc should be selected to limit the opportunity for introducing errors and to choose verification techniques that ensure that errors can be detected. This is often overlooked by developers. Furthermore, standards that apply to requirements and design as well as code should be developed and there should be verification techniques to assure that these have been complied with. Again, often overlooked.
While there are examples where a poor understanding of DO-178C/ED-12C have cost developers money, this is typically because they have not properly understood how their own approach needs to produce the requisite evidence. As is typical, bad news gets around the world before good news has got its shoes on. Many companies have saved considerable cash through doing their software developments properly. If this appeals to you, by all means get in touch to see how we can help.
"Software−related accidents are usually caused by flawed requirements"