Hello,
I'm new to this forum so I'll start by a brief introduction of myself and of my current situation.
Background:
I've been working as a tester in the video game industry for 5 years, then I moved to the medical software as a quality assurance analyst for 2 years. During those 2 years, I've been able to identify the root cause of most issues we had. No clear requirements. The solution they found is naming me the official functional analyst/designer.
Situation:
Now that I'm in charge of requirements management and definition, I'm trying to figure out how to write functional requirements (since we already have some high level User Requirements).
Problem:
Some books and articles define functional requirement like this: "System provides or does something", while others define it more like: "[Trigger] Actor does Action on Object [Conditions]".
Multiple definitions can also be found over the internet. One even compare the functional requirement to a mathematical functions like "y = f(x)(1)" where Y will always be the same for the same X. In that case, I have to define each possible input and output for a function. Since most complex software rarely use a single input to procude a single output depending on different states, I have to handle this with input sets, output sets like this: {y}, {FS} = f({x}, {IS})(2), where {IS} and {FS} are initial state and final state respectively.
In the later, if a functional requirement statement must include all those components, we are far from the "The system shall do this".
Question:
Considering that those functional requirements will be used by developers to implement a feature, by designer to create the interface and by testers to create test cases, what would be the best approach to write complete but not over-detailed functional requirements ?
If any of you had to write functional requirements at one point, just letting me know how you wrote them might help me a lot!
Thank you!
JD