Understanding Human Errors to Improve Requirements Quality
Abstract
Requirements engineering is the first and perhaps the most important phase of software life cycle. Software faults committed during the requirements development, if left undetected can affect downstream activities. While previous research has developed fault-detection techniques, they are inadequate because they lack an understanding of root cause of faults to be able to avoid its future occurrences. Our research is aimed at helping software engineers understand human errors (i.e., the root cause) that cause faults that are inserted into Software Requirements Specification (SRS). This can help software engineers become more aware and reduce the likelihood of committing human errors during requirements development. Using a retrospective error abstraction approach, this paper reports the results from an industrial study wherein software engineers were trained on human errors followed by their application of human error abstraction (based on fifteen requirement faults supplied to them) and recommendations on prevention techniques for those abstracted errors.