What are the biggest challenges for eliciting requirements for embedded systems, and how would you overcome them?
In a recent response, I discussed two challenges and solutions for getting requirements right:
- You have to involve all the necessary decision makers and subject matter experts during requirements development (elicitation, analysis, specification, and validation).
- You have to be able to organize the same requirements in multiple ways so as to meet the needs of all audiences who use or review the requirements.
An additional challenge -- and one that is especially important for embedded software -- is closely related to requirements: you have to ensure that the embedded software and the hardware in which it resides can communicate and collaborate with each other as needed. It’s crucial to understand the interfaces and messages.
For example, suppose that monitoring sensors in the hardware trigger responses by the embedded system; in that case, you have to be sure that the response is actually triggered. The problem? Software usually can be cranked out much faster than new hardware can be built, so coordinating the development can be a huge challenge. If you’re late in discovering hardware constraints on the embedded software or if there are gaps in the requirements, it often leads to costly remediation for the hardware, the embedded software, or both. To decrease this risk, you need to define user acceptance tests early in the process, helping you elicit as well as verify the requirements.
Prototypes are another useful way to elicit and verify requirements for embedded software (just as they are for business application software). Prototypes are critical for ensuring interoperability between hardware and embedded software. When you’re building a prototype, keep in mind that even though you don’t have to have all the functionality in place, it’s crucial to conduct early testing of concrete examples of mission-critical functionality.
Dig Deeper on Topics Archive
Related Q&A from Sue Burk
Expert Sue Burk explains the importance of gaining proper approval for requirements changes and offers suggestions for the most efficient ways to ... Continue Reading
Read this expert response for Sue Burk's suggestions for what techniques developers can use in embedded systems requirements gathering and analysis. Continue Reading
Defining business security requirements is a collaborative effort, involving the participation of architects, business analysts and regulatory bodies... Continue Reading