We’ve all heard the joke, “How do you get to Carnegie Hall? Practice, practice, practice.” The adage is true for many goals in life we strive for. As defined, practice is…
“Repeated exercise in or performance of an activity or skill so as to acquire or maintain proficiency in it.”
From an early age, we’re taught that the more we do something, the more we learn about the best way to do it. If practice doesn’t always make perfect, it gets us closer to perfection.
But in avionics development there is hardly time to practice. When moving quickly and passing regulatory compliance audits are top priorities, teams can’t sacrifice time or effort to repetition and refinement.
Adding to this pressure, avionics development has precious little margin for error, with schedules, budgets and safety all on the line.
During each avionics product development project, every organization wants to minimize the same things: cost, schedule, risk, defects, reuse difficulty and compliance and regulation certification roadblocks.
So, how then can “practice” be reconciled with avionics development?
The best answer is to understand the breadth of current development processes and glean the best knowledge and solutions from the aviation ecosystem.
Welcome to DO–178C Best Practices.
Creating and instilling a set of DO-178C best practices for avionics development helps engineers and stakeholders focus on the right processes at the right times.
Certain avionics software development practices are self-evident, such as utilizing defect prevention and automating testing. The DO-178C best practices we have identified are subtler and considerably less practiced, and yet, when utilized together, they greatly increase the probability of avionics project and product success.
According to Vance Hilderman, founder of two of the world’s largest avionics development services companies and primary author of the best-selling book on DO-178 and DO-254, here are the top 10 not-always-obvious DO-178C best practices that every avionics developer needs to know:
- Improved LLR Detail: If requirements are the foundation of good engineering, detailed requirements are the foundation of great engineering.
- Parallel Test Case Definition: If a tester cannot unambiguously understand the meaning of a software requirement, how could the developer?
- Testing Standards Implementation: Requirements, design and code all have standards. What should a software test standard cover?
- Model Framework Templates: Software modeling will eventually fade away … when software functionality, complexity and size all decrease 90%.
- Fewer, Better Reviewers: Why one great reviewer is better than many good reviewers.
- Automated Regression & CBT: How devoting upfront time to a test automation framework can provide the single largest reduction in development expense.
- Automated Design Rule Checker: On their best days, humans perform satisfactorily when checking software design rules; in the safety-critical world, not all days are best days.
- Advanced Performance Testing: Would you want to buy a new car model which has never been tested in aggressive driving conditions?
- Parallel Traceability / Transition Audits: The reasons why experienced developer teams deploy proactive SQA and tools to monitor bi-directional traceability continuously.
- Technical Training Workshops: The four critical processes that yield improved productivity, consistency and high ROI.
To learn more about how these best practices can make a difference in your avionics product development projects, read DO-178C Best Practices For Avionics Engineers & Managers