To fulfill these responsibilities, requirements engineers typically should have the following
personal characteristics, expertise, training, and experience:
Able to think abstractly and work at high-levels of abstraction (i.e., able to work with requirements without
being drawn into the details of design and implementation decisions).
Able to successfully manage the multiple concurrent issues, ambiguities, and contradictions that typically occur
during requirements engineering.
Able to collaborate well with customer representatives, domain experts, managers, and architects.
Flexible when confronted with evolving goals and requirements.
Academic courses, conference tutorials, or on-the-job training (OJT) in requirements engineering including
both functional requirements (e.g., use case modeling) and non-functional requirements.
A bachelor’s degree in systems engineering, software engineering, or the equivalent.
The following guidelines have proven useful with regard to Requirements Engineers:
Persons who play the requirements engineer role often come from a technical, managerial, or marketing background.
However, requirements engineer is not a part-time role that a manager or a domain expert can lightly take on.
Persons typically require explicit training in requirements engineering to be sucessful requirements engineers.
Although requirements engineers are also known in industry as business analysts, business systems analysts, requirements
analysts, and systems analysts, we use the term ‘requirements engineer’
for the same reasons that we call the activity ‘requirements engineering’:
Requirements involve more than just analysis.
Requirements are critical to the success of an endeavor and consequently need to be engineered
to have the necessary qualities.