I would suggest reading notice 2023-63. That provision is very limited, and may not be available to you at all depending on the software you're developing, and/or the stage of the development that those steps occur in.
For example, for a new feature: if you plan (SRE), design the interface (SRE), write the feature (SRE), run it through QA (SRE), and then discover a bug and correct it -- that's still SRE.
If you put the software into prod, then discover a bug, then fix it (without improving performance or adding any functionality), then it might not be SRE.
But if you sell software, and you sell or install a release to a customer, and they (or you, under a support contract) discover a bug and fix it... but then you include the fix in your next release, probably SRE.
Or, if you put the software into prod, discover it breaks with a large data set, and you fix it by improving the performance of that section of code, probably SRE.
The expenses falling under that provision aren't going to make a significant change to the impact of TCJA on software development.
Third to last paragraph: if I sell software, a third party bug bounty type guy finds an exploit, notifies me, I patch the vuln, and release the patch as a hot fix: you figure all of that is SRE, probably?
(Disclaimer: not seeking tax advice or legal advice, we’re just two dudes casually discussing section 174 like normal people do all the time).
That notice was a helpful read. I think what I may have been missing was section 5 of Rev. Proc. 2000-50, whereunder non-SRE software dev was also afforded some similar protection. I’ll read that after work but I’d still love you to answer the foregoing.
I re-read the section of the notice that scenario would apply to, and I actually think its pretty clear that is not SRE. Correcting defects discovered after the software is put into production, or discovered in released version of software, and not considered SRE. See section 5.03(5)(b) of the notice. Pre-release bug fixes are still SRE though.
Definitely ask your CPA though. I'm not an accountant.
For example, for a new feature: if you plan (SRE), design the interface (SRE), write the feature (SRE), run it through QA (SRE), and then discover a bug and correct it -- that's still SRE.
If you put the software into prod, then discover a bug, then fix it (without improving performance or adding any functionality), then it might not be SRE.
But if you sell software, and you sell or install a release to a customer, and they (or you, under a support contract) discover a bug and fix it... but then you include the fix in your next release, probably SRE.
Or, if you put the software into prod, discover it breaks with a large data set, and you fix it by improving the performance of that section of code, probably SRE.
The expenses falling under that provision aren't going to make a significant change to the impact of TCJA on software development.