top of page
Writer's pictureinvocore editor

How to distinguish R&D, boundaries and exclusions in software development?

Updated: Nov 1, 2020

Information technology has a pervasive role in almost every innovation activity, and largely relies on R&D activities but also influences the ability of enterprises and institutions to perform R&D effectively. Software development is an innovation-related activity that is sometimes connected with R&D and incorporates, under specific conditions, some R&D. For a software development project to be classified as R&D, its completion must be dependent on a scientific and/or technological advance, and the aim of the project must be the systematic resolution of a scientific and/or technological uncertainty.


In addition to the software that is part of an overall R&D project (to record and monitor its different stages, for instance), the R&D associated with software as an end product or software embedded in an end product could also be classified as R&D when the R&D criteria apply.


The nature of software development is such that it is difficult to identify its R&D component, if any. Software development is an integral part of many projects that in themselves have no element of R&D. The software development component of such projects, however, may be classified as R&D if it leads to an advance in the area of computer software. Such advances are generally incremental rather than revolutionary. Therefore, an upgrade, addition or change to an existing program or system may be classified as R&D if it embodies scientific and/or technological advances that result in an increase in the stock of knowledge. The use of software for a new application or purpose does not by itself constitute an advance.


The following examples illustrate the concept of R&D in software and should be included in R&D:

● the development of new operating systems or languages

● the design and implementation of new search engines based on original technologies

● the effort to resolve conflicts within hardware or software based on the process of re-engineering a system or a network

● the creation of new or more efficient algorithms based on new techniques

● the creation of new and original encryption or security techniques.


Software-related activities of a routine nature are not to be considered R&D. Such activities include work on system-specific or program-specific advances that were publicly available prior to the commencement of the work. Technical problems that have been overcome in previous projects on the same operating systems and computer architecture are also excluded. Routine computer and software maintenance are not included in R&D.


Examples of other software-related activities to be excluded from R&D are:

● the development of business application software and information systems using known methods and existing software tools

● adding user functionality to existing application programs (including basic data entry functionalities)

● the creation of websites or software using existing tools

● the use of standard methods of encryption, security verification and data integrity testing

● the customisation of a product for a particular use, unless during this process knowledge is added that significantly improves the base program

● routine debugging of existing systems and programs, unless this is done prior to the end of the experimental development process.


In the systems software area, individual projects may not be considered as R&D, but their aggregation into a larger project could generate some technological uncertainty, the resolution of which will need R&D. Alternatively, a large project can be aimed at developing a commercial product by adopting available technologies and not include R&D in its planning, but there may be some elements in the project that would need some additional R&D activity to assure the smooth integration of different technologies.



21 views0 comments

Comments


bottom of page