Practice EARS (Activity)

From TeachingOpenSource


Practicing natural language requirements specification


This activity lets students practice the "Easy approach to requirements syntax", a simple pattern-based approach to specify natural language requirements that don't allow for ambiguity.

This is the first activity used in the Requirements Engineering course. It is based on the lecture slides that explain EARS and can be conducted individually or in small teams.

After successfully completing this activity, the learner should be able to:

Practice a pattern-based approach to natural language requirements in order to develop a good, unambiguous writing style for natural language requirements.

Process Skills

Information Processing


  • Background reading material: "Easy approach to requirements syntax" lecture slides
  • Rationale for this activity: Natural language requirements are often written in an ambiguous way. EARS provides templates that help students develop a systematic way to write down functional requirements.


In our first lab session, we will get an overview of free open source software development and an example project, and then practice the EARS approach from today’s lecture.

Assignment sheet


  • The student (team) will hand in PDF file with three examples per EARS pattern

Notes for Instructors

The remaining sections of this document are intended for the instructor. They are not part of the learning activity that would be given to students.


  • How will the activity be graded?
    • The reading part is not assessed, but the usage of the natural language requirements patterns.
    • Points are given according to correct application of the patterns.
  • How will learning will be measured?
    • If the students are able to correctly apply the patterns to given examples, they have mastered this skill.
  • How will feedback to the student be determined?
    • The student receives written feedback on their submission of written requirements w.r.t. correctness and unambiguity.
    • Submitted solutions can be discussed in class (probably anonymizing them, according to classroom code of conduct)

The form of the assessment is expected to vary by assignment. One possible format is the table:

Criteria Level 1 (fail) Level 2 (pass) Level 3 (good) Level 4 (exceptional)
Correctness Nothing submitted. Correct pattern used in at least 50% of requirements. Correct pattern used in at least 80% of requirements. Correct pattern used in 100% of requirements.
Unambiguity All requirements can be misinterpreted. At least 50% of requirements are unambiguous. At least 80% of requirements are unambiguous. 100% of requirements are unambiguous.


  • Having students write natural language requirements using a straight-forward technique in the very first lab of the course gives them a stronger sense of agency and gets them more activated than reviewing higher-level concepts.
  • This task can be a bit monotonous if the students are not interested in the system, so make sure to use a system they find exciting. Or have different teams work on requirements for different systems.

Suggestions for Open Source Community

This can significantly increase the quality of natural language requirements of a project with regard to ambiguity of requirements. The output of the exercise can often be integrated beneficially into existing requirements specifications.

Additional Information

Area & Unit(s)

SE Requirements Engineering


Describing functional requirements using, for example, use cases or users stories



Estimated Time
to Complete

75 minutes (may be done in less time, depending on how much time is spent reading about FOSS)

Environment /

computer lab with internet


Birgit Penzenstadler




This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC BY SA.png