Naive feature orientation runs into problems with large software systems, such as telephone switching systems. With naive
feature orientation, a feature extends a base system by an arbitrary increment of functionality. Information hiding helps to structure a large software system design into modules such that it
can be maintained. We focus on the requirements of a software system. Requirements can be structured analogously to design
modules. Naive feature orientation can violate requirements encapsulation. We survey approaches with improved encapsulation,
and we show how and when families of requirements can help.