A requirements specification must be read and understood by a wide range of individuals and organizations: users, customers, marketing personnel, requirements writers, designers, testers, managers, and others. The document must be written in a manner that enables all these people to fully appreciate the system needed and being built so that there are no surprises.
Creation of multiple requirements specifications (each for a subset of the stakeholders) works only if you can guarantee consistency across the versions. A more effective method is to maintain the natural language (
Augment, Never Replace, Natural Language) while incorporating multiple views of a more formal nature (
Use Multiple Views of Requirements and
Reduce Ambiguity in Requirements).
I want to stress the importance of keeping requirements specifications consistent. Many teams find it helpful to use a wiki, such as
Confluence, to keep an easy to read and unified version of the requirements specification while using a ticket system, such as
JIRA, to document the stories and technical tasks. If these two systems are not kept consistent then the project becomes much more difficult and understanding is lost.
Reference:
Davis, A., "Software Requirements: Objects, Functions, and States," Prentice Hall, Englewood Cliffs, 1993.