By Brayden • 1 year ago • 4 min read
Do these terms mean the same thing to you as they do to your client, manager or colleagues? Chances are they don't!
I think we're talking about different things…
If you're like me, you've heard the terms "High-Level Requirements" and "Low-Level Requirements" used by everybody in your industry: Engineers to project managers, grads to executives – these two terms seem to be everywhere.
You might have also come to the realisation (especially if you're involved in requirements or systems engineering) that what people mean by "High-Level" and "Low-Level" seems to differ from person to person, team to team, discipline to discipline, and organisation to organisation.
You might have also noticed that most people would struggle to describe what a "High-Level" or "Low-Level" requirement actually is. Perhaps you're one of those people – which is great – you're in the right place!
Thankfully, misunderstandings related to the terms "High-Level Requirements" and "Low-Level Requirements" rarely lead to costly mistakes. But they often lead to frustration and tension we could all do without.
So, what's a useful definition for "High-Level" and "Low-Level" requirements then? Well, to answer that question we first need to define the term "System-of-Interest".
The System-of-Interest (SoI)
The System-of-Interest (or 'SoI') is…well…the system you're interested in! Take a look at the diagram below.
The first thing we should understand is that systems are parts of other systems. We can see in the diagram, for example, that:
- The Compressor Assembly is part of the Engine Assembly ;
- The Engine Assembly is part of the Aircraft ; and
- The Aircraft is part of the Business.
This is the same for every system. Each system has its own subsystems. Each system is part of a supersystem.
This relationship between subsystems, systems and super-super-systems is sometimes called the "system hierarchy".
The second thing we should understand is that different people are interested in (e.g., "working on", "engineering", "delivering", "procuring") different systems in a "system hierarchy". This means that what the system is to you (i.e., your System-of-Interest) may be someone else's supersystem, or another person's subsystem.
Likewise, someone else's system may be your supersystem.
(Whew, we used the word "system" a lot there!)
To illustrate this second point, let's use the diagram above.
Imagine, for example, you're the Engine Design Lead. Your System-of-Interest is the Engine Assembly. The Aircraft from your perspective, however, is a supersystem.
Now take your Engine Design Lead hat off and put on your Program Manager hat. How has your perspective if the system hierarchy changed now? Well, now the Aircraft is your System-of-interest and the Engine Assembly is now a subsystem!
Systems-of-Interest and Requirements
So, how does understanding the concept of Systems-of-Interest help us with defining High-Level vs. Low Level Requirements?
Put your Program Manager hat back on and look at the diagram above. Imagine you had a set of requirements for the Aircraft – that is, your System-of-Interest. Odds are that you'd call these requirements, simply, "Requirements". But what would you call requirements for the Compressor Assembly (e.g., "The compressor assembly shall…")?
How about "Low-Level" Requirements? This makes sense, right? From your perspective, these requirements are "detailed" and may seem unnecessarily precise. This is because they're for a subsystem to your System-of-Interest. They are for a system " lower" in the system hierarchy.
Let's look at another example: Imagine you're the Compressor Design Lead. What would you call requirements for the business (e.g., "The business shall…")?
High-Level Requirements sounds like a nice fit! Why? Because they're for a supersystem to your "SoI". They are for a system " higher" in the system hierarchy.
Hopefully, what's becoming clear is that terms "High-Level Requirements" and "Low-Level Requirements" are relative. They depend on your System-of-Interest.
Here, then, are the definitions you've come for:
- High-Level Requirements are requirements for systems which exist above your System of Interest
- Low-Level Requirements are requirements for systems which exist below your System of Interest
I hope these definitions prove useful to you! Maybe they're not a perfect fit for your industry or organization but, where this is the case, I hope that they provide a basis for further discussion.
So, that's it! Thanks for making it to the end! If you enjoyed this article, please check out the others at PointersforProgress.com. We will soon – if not already – have articles covering topics from Requirements & Systems Engineering, to Management, Leadership and Resume Writing. We hope to see there!