Eligible and Ineligible Software Project Examples
Projects and activities that would usually be eligible:
- Software developed that interacts directly with a hardware product in order to make the whole package function as a unit.
- The development of specialised technologies that require a process of experimentation and the attempted resolution of software development uncertainties. Some examples include the development of artificial intelligence, image processing, or speech recognition.
- The resolution of software development uncertainties related to process scheduling, memory management designs and instruction execution optimization in operating system and compiler developments.
- New constructs in application software products such as new architectures, new algorithms and new database management techniques.
Projects and activities that would usually be ineligible:
- Data quality, data cleansing, and data consistency activities. These activities include such activities as designing and implementing software to validate and/or clean data fields, and/or make the data fields consistent across databases and applications
- Upgrading to newer versions of hardware or software, or installing vendor fix releases
- Graphical user interfaces
- User or application interfaces
- The adaptation and commercialization of a technology developed by a consortium or an open software group
- Software application configuration
- Software developed as an embedded application, such as in cell phones, automobiles, airplanes
- Reverse engineering
- Y2K program changes
- Expanding product lines by purchasing other products
- Changing from a product based on one technology to a product based on a different or newer technology (e.g., switching from a hierarchical database technology to a relational database technology)
- Performing studies, or similar activities, to select vendor products
- Vendor product extensions
- Detecting flaws and bugs in software
- Modifying an existing software business component to make use of new or existing standards or devices, or to be compliant (i.e., certified, validated, etc.) with another vendor’s product or platform
- Developing a business component that is substantially similar in technology, functionality and features to the capabilities already in existence at other companies
- Re-hosting or porting an application to a new hardware (e.g., from mainframe to PC) or software platform (e.g., Windows to UNIX), or rewriting an existing application in a new language (e.g., rewriting a COBOL mainframe application in C++
- The development of software utility programs, such as debuggers, backup systems, performance analyzers, data recovery, etc.
- Writing hardware device drivers to support new hardware (e.g., disks, scanners, printers, modems, etc.)
- Bundling existing individual software products into product “suites” (e.g., combining existing word processor, spreadsheet, and slide presentation software applications into a single “suite”)
- Functional enhancements to existing software applications/products
Strategy:
This page is meant as a general guide base on prior claim experience and should not be relied on as conclusive. Every R&D project is different and professional advice should be sought before undertaking or dismissing a claim.
Links:
- Login to post comments


