Systems Uncertainty is a very specific type of technological uncertainty that is directly referenced within the UK governments definition of R&D for Tax Purposes (the BEIS guidelines).
The Systems Uncertainty definition has use across many different fields of R&D, but the specific eligibility criteria (like the core eligibility criteria for R&D Tax Credits) apply to all fields of science and technology and so are written in a very generic way.
"System uncertainty is scientific or technological uncertainty that results from the complexity of a system rather than uncertainty about how its individual components behave. For example, in electronic devices, the characteristics of individual components or chips are fixed, but there can still be uncertainty about the best way to combine those components to achieve an overall effect. However, assembling a number of components (or software sub-programs) to an established pattern, or following routine methods for doing so, involves little or no scientific or technological uncertainty."
"Similarly, work on combining standard technologies, devices, and/or processes can involve scientific or technological uncertainty even if the principles for their integration are well known. There will be scientific or technological uncertainty if a competent professional working in the field cannot readily deduce how the separate components or sub-systems should be combined to have the intended function."
Systems Uncertainty is a crucial part of the UK R&D Tax Credits guidelines, applying to various types of project across many different industries and fields.
However, HMRC have seen many projects that are leveraging systems uncertainty, that they view to be able sufficiently technologically challenging, as often they have seen many projects that are more functional in nature (and using technology) rather than developing new (or appreciably improving existing) technology.
This should not deter companies from submitting R&D Tax claims based upon the systems uncertainty principle, but companies need to make sure that the specific technological details are clearly and concisely articulated.
Systems Uncertainty for Software Development
Systems uncertainty is very common in software development projects. It may be that your team are bringing together several libraries within a codebase and it is uncertain how to handle exceptions between the libraries, or what un-intended side-effects could be introduced to the wider system from introducing the library (much more specific details would be required for this type of argument).
Another common form of systems uncertainty could be if you are integrating a platform with multiple (internal and/or third-party) APIs. If this is a routine, or publicly known integration channel, then this would not qualify as R&D for Tax Purposes, but where you are having to experiment and overcome technological uncertainty (rather than functional uncertainty), then this would be likely to qualify. For example, uncertainty regarding the security of the platform when integrated with a third-party API, or the performance of a technology that has to send (and receive) messages from multiple systems to complete each end-to-end workflow.