In "research and development", that typically means "research of new ideas and methods, and developing them into commercially viable products". So are there things that software engineers do that fall under R+D? Absolutely! Is adding a sorting feature to a grid in your app one of those things? Probably not!
You should never assume legal terms mean what they colloquially mean.
Just like how "work" in physics has a precise definition which doesn't mean what it colloquially means, or "tree" in computer science.
In this case, software development of any kind is explicitly included:
> For purposes of this section, any amount paid or incurred in connection with the development of any software shall be treated as a research or experimental expenditure.
What I find most confounding is that I know some folks who do what I'd call research, in that they do EDA and develop models, but since those aren't necessarily destined for development of software, their hours are not counted in this exercise. It's too, um, researchy to qualify as research, I guess? or it's just classified as fancy analytics.
The debate over whether Excel counts as programming and thus software development just got a lot more heated. The question is how is "software" defined in the context of the tax code, in particular in the phrase "development of any software" from above.
The full IRS clarification on this will helpfully be available in a few months (a few months after the deadline), but it doesn't look like things like maintenance work will qualify, only new software projects. I'm expecting that a lot of savvy companies are going to decide that a lot of software development (using the common term) is not software development in the legal sense.
> I'm expecting that a lot of savvy companies are going to decide that a lot of software development (using the common term) is not software development in the legal sense.
Even if this risks an IRS judgement against them, a savvy company might want to take such a judgement to court, and let a jury decide.