<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=2031626&amp;fmt=gif">

Qualifying Expenses During the 7 Phases of the Software Development Life Cycle (SDLC) 

Even though people often associate it with clean-rooms and white lab coats, the R&D Tax Credit applies directly to commercial software vendors as well as other companies that develop software to support their internal operations.

What goes hand-in-hand? Software development/improvement and the R&D Tax Credit. So naturally, there are bound to be research expenses that qualify for the R&D Tax Credit if your company is developing, or has recently developed/improved, software.

Software development generally happens in seven main phases. Below, we’ll find the activities that qualify for the R&D Tax Credit in each of them. 

NOTE: The scope of this overview relates specifically to commercial software vendors that license the use of their software to end users. However, you can find additional information on the development of software for a company's own internal use in this blog post.

There are 7 phases of the Software Development Life Cycle (SDLC). Let’s examine each and identify activities that qualify for the R&D Tax Credit.

1. Planning

The first step is to define the scope of the problem and determine potential solutions. This is where the organization identifies whether or not new software is required to solve a business problem that broadly exists in the market(s) they serve.


Next steps in this phase include confirming general requirements, estimating cost, time, resources, and benefits, and estimating the potential return on investment to determine if viable solutions exist.


Here are some typical questions answered in the planning phase:

  • What is the business problem to be solved?

  • What approach should we take to solve the business problem?

  • What are the primary capabilities, functions and features?

  • What benefits will the users receive?

  • What resources are required?

  • What are the costs?

  • How much time will it take?

  • What does the competitive landscape look like?

  • Does this give us a unique competitive advantage?

  • Will this help prevent competitors from entering the market?

  • What’s the size of the market?

  • What’s the estimated return on investment?

2. Requirements and Analysis

Once potential solutions are identified, it’s time to move on to detailed information/requirements gathering and analysis. This is the time to analyze the needs of the end users to ensure the systems being considered will meet their expectations.

The end result of this step is to confirm the business needs, determine how those needs will be met, identify who is responsible for which pieces of the project, and establish timelines and budget.

Here are some activities related to gathering requirements and performing systems analysis that are likely to qualify as R&D:

  • Gathering detailed information

  • Defining requirements

  • Prioritizing requirements

  • Developing user-interface (UI) dialogs

  • Defining functional requirements

3. System Design

In this phase, end users define their detailed business requirements for the proposed system. This should include the necessary specs, functions, features and operational requirements.

Considerations include the essential hardware and/or software components, structure (networking/cloud capabilities), processes and procedures that will allow the system to meet its objectives.

The system design phase often involves incorporating deliverables from the requirements and analysis phases into a detailed design with enough specificity so the developers can write the code.
Here are some activities related to designing the system that are likely to qualify as R&D:

  • Developing logical and physical designs

  • Producing meta-data, data dictionaries and data flow charts

  • Evaluating and deciding on programming languages, databases, hosting environments and security infrastructure

4. Development and Coding

Work begins in earnest during this step as programmers, network engineers, database developers and others begin executing to create the project deliverables.

This phase typically involves translating the requirements and specifications developed to date into code within the required technical environment to ensure the user and business needs are met.

In addition to all the core technical and development/coding-related activities, here are a some activities that are likely to qualify as R&D:

  • Developing and documenting test and user acceptance criteria

  • Iterative process of testing and updating code to achieve the desired result

  • Technical, environmental, system and program documentation

  • Supervisors’/managers’ time involved in leading, directing and coaching the staff performing qualifying activities

A specific example of an activity that does not qualify is development of user/help documentation that may occur during this phase

5. Testing and Integration

After development and coding are complete — and after the programmers finish their initial testing — a quality assurance (QA) professional follows up with additional tests to check for errors, bugs, interoperability and to determine if the proposed design meets the documented business goals. Verification and validation will also be performed by the end users to ensure the software’s operational readiness.
Here are some activities related to testing and integration that are likely to qualify as R&D:

  • Developing a testing plan, strategy and process for implementation

  • Designing test cases

  • Building test cases

  • Executing test cases

  • Documenting and analyzing results

  • Correcting any identified defects

  • Repeating the process until all defects are eliminated

Depending on the results, all of this testing could result in the need for additional research and development to resolve any identified defects.

6. Implementation

When the code has been written, thoroughly tested and signed off by the end users, the implementation process begins.

The programs are put into production, which may be a very complex undertaking based on how significant the impact of the new software is on the operation as it relates to data migration, system integration, cut-over processes and procedures, user and operational training, etc.

All activities involved in getting the programs and environment ready for implementation/production use likely qualify as R&D, including:

  • Environment set-up

  • Data conversion

  • Code deployment

  • Security

  • Monitoring and maintenance utilities

Activities that typically don’t qualify:

  • Writing user documentation

  • User training

Companies seeking to benefit from the R&D Tax Credit should carefully document all activities in order to create a full picture of which activities qualify and to receive the biggest benefit.

7. Operations, Maintenance and Enhancements

The final iterative and ongoing step improves and fine-tunes the system as desired to enhance performance, add new capabilities or meet additional user requirements. Depending on the scope of the work, the process may begin again at any step.


As mentioned, types of activities that usually qualify for the R&D Tax Credit are enhancements or improvements made over time to meet changing or evolving customer needs.


Activities that typically don’t qualify:

  • Routine post-production support

  • On-going technical updates

  • Bug fixes

  • Cosmetic changes

  • Developing user documentation

 

It’s important to be thinking in terms of “enhancements” not “maintenance.”

As you can see, every phase of the SDLC involves research and development. It’s also important to note that many of the aforementioned phases include points where your business may have to stop and start over if the solutions identified aren’t working as projected. This could add even more activities that could qualify for the R&D Tax Credit.

Apply the Four-Part Test

Once you’ve identified potential qualifying activities, run it through the Four-Part Test to verify:

  • Permitted Purpose. This is the activity intended to make or improve either a product or process that results in improved function, performance, reliability, quality or cost-efficiency.
  • Technical Uncertainty. This is the activity intended to eliminate technical uncertainty when developing or improving a product or process related to methodology, design, techniques, formulas or inventions.
  • Process of Experimentation. This is the activity that includes a process of experimentation to eliminate or resolve technical uncertainty. During the process, various alternatives and approaches are evaluated by modeling, simulation, trial and error, prototyping and other methods.
  • Technological in Nature. The process of experimentation must rely on the hard sciences (engineering, physics, biology, chemistry, computer science).

    The R&D Tax Credit is a particularly complex and a frequently changing piece of the federal tax code, so it’s best to work with a company that is knowledgeable on your industry and understands the R&D Tax Credit to ensure you’re receiving your fair share.

Do you have what you need to qualify?

TAKE THE ASSESSMENT  ❯

Black Line Group Understands the Process for Software Development

assess feasibility

Assessing Feasibility

We'll review your entire software development process and more to determine if you qualify.
documenting the results

Documenting the Results

We will provide a robust electronic deliverable, often several hundred pages in length, supporting your credit.

conducting your study

Conducting Your Study

Under the direction of your project manager, we will collaborate with you and your CPA to plan, execute, and keep you informed.

AdobeStock_109169627

Standing Behind Our Work

We aren’t going to leave any money on the table, and, we aren’t going to claim a credit we can’t defend. We have your back should questions arise.

 Download Our Software Tip Sheet

Fill out the form below to access our software tip sheet and learn more about how Black Line Group can help your business grow faster, be more competitive, and increase profitability.