Commentary

Sharing My Doubts on the Focus of Requirements

Requirements and where to put them

In my last commentary I promised to provide a justification for why I restricted my consideration of requirements to the desired system/product, and neglected possible requirements concerning business processes, the business organisation and the development process.

During elicitation the requirements engineer will not only hear goals and desired characteristics of the future system/product, but also desired characteristics of the business process or of the business organisation. In the case of external development, desired characteristics of the development process – including requirements documentation – will also surface. All these desired characteristics are valid and must be captured. I think that it would be a mistake, though, to have them all in one and the same document – the requirements specification – be it a document or a section in your requirements management system. The requirements specification shall contain solely desired characteristics on the future system/product. It describes the future system and is the basis for the design and test of the system.

This is according to the principles:

  • a document shall contain information about only one subject
  • a document shall be directed to a well-defined audience
  • each item of information shall be stored in only one document from the beginning to the end of the project.

Applying these principles results in packaging the other desired characteristics to different documents.

Goals are a stakeholder's (i.e. a person's or an organisation's) description of the benefit intended in the context of the system. They are the economic justification for the projects, and the project success is measured on achievement of these goals. Because they pertain to the project and are needed for the decision whether the project shall be carried out at all, they are best stored in a document called "project charter" or "business case".

The envisaged benefit will be achieved by adapting the business processes and, if needed, adjusting the business organisation to the reshaped processes. (For this discussion we neglect projects whose benefit is in cheaper IT infrastructure and have no intention of changing business processes.) The obvious approach is to capture the reshaped business process in a new version of the document where it is described already. Standard Operating Procedures, documentation of the quality management system, instruction manuals, etc. are examples of such documents. A new version shall be prepared at the beginning of the project – even before the requirements on the supporting systems/products are specified – but will be published for general availability only once the system/product is completed. However, during development they serve as a basis for acceptance tests.

The expected documentation and the characteristics of the development process depend on how the project is carried out. Such descriptions are the fundamental content of a project plan. Independent of where the desired characteristics originate – internally or externally – they should only be described in one document: the project plan. There is only one approach to the project.

I think that throughout my career I have placed the requirements on all subjects – process, project, and product – in their respective documents and that I have not violated the principles I've stated above. I don't mind how the documents are designated, but I do get nervous when I see the information about these different subjects kept in the same document: it is not maintainable, it is reader-adverse and it is evidence of a lack of separation of concerns. I don't know which is the worst!

Figure 1 illustrates the role of the requirements engineer in filtering the elicited information and directing it to the right container. This ensures that the right people obtain the information needed for their work.

Figure 1: The role of the requirements engineer as information allocator

I doubt whether I've caught all kinds of desired characteristics on all subjects. I have no doubt however that applying the above principles will help to decide where the information belongs in case I've missed some.

Karol Frühauf

P.S: Thanks to Oliver Hoeffleur/INFOGEM who shared first my doubts and helped me to express them more sharply. Thanks to the reviewer for very helpful comments.

Legacy Comments (2)

Comment submission is no longer available. Follow the LinkedIn link to participate in the conversation.

Ronald Schaareman December 18, 2018

Requirements Documentation

Interesting post. However, would you really want to re-invent the manner in how you document requirements for every project? Would you not rather apply a standard way of documenting in order to share, understand and re-use requirements (even in an Agile way of working)?
Please share your thoughts on this one.

Landon Miller December 22, 2017

Worthy of Consideration

Thank you for challenging a bit of orthodoxy.

Discover Similar Articles

Extend your reading with related articles that complement this topic and deepen the surrounding context.

artikel-header-source
  • Opinions
  • Cross-discipline

A General Systems Thinking Perspective on the CPRE

Adding the concept of observer to the definition of the system in the CPRE can extend, simplify and justify the discussions about points of view, shared understanding and …

Gil Regev, Alain Wegmann, Olivier Hayard September 14, 2022 · 17 minutes read
artikel-header-source
  • Opinions

Interview with John Mylopoulos

Preface of the Editor in Chief Perhaps it is like carrying coals to Newcastle when we briefly introduce John Mylopoulos in this preface to the following interview. Luisa Mich, …

Luisa Mich May 14, 2020 · 4 minutes read
00-597672176
  • Opinions

The goal is to solve the problem

A requirement is "a condition or capability needed by a user to solve a problem or to achieve an objective" (AKA a goal), see the CPRE Glossary [Glinz 2014]. Thinking in terms of …

Hans van Loenhoud, Kim Lauenroth, Patrick Steiger September 12, 2017 · 13 minutes read

We use cookies

This website may use cookies to ensure a good user experience. Further information can be found in our Privacy Policy.

Data privacy settings

This website may use cookies to ensure a good user experience. Further information can be found in our Privacy Policy.

Technically necessary cookies help to make a website usable by enabling basic functions such as page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

This website may display content and media from external sites such as YouTube. Cookies from external sites are stored in the process.