4 ms·
My understanding is that the tax code complexity is (mostly) not from top-down “let’s reward this”-style rules (ie what “customers” request), but of the difficu
by SilasX 7y ago
My understanding is that the tax code complexity is (mostly) not from top-down “let’s reward this”-style rules (ie what “customers” request), but of the difficulty of defining “income” in a hyper-technically-precise way against people heavily motivated to minimize it by that definition.
That is, “oh no, my tips are a gift, not income”. “Hey I didn’t get paid for that job, I was just allowed to use the company car.”
That creates an arms race of ways to game it and more rules to say “no you can’t do that either”.
But, more to the point, I’m not sure if such customer requests generate the complexity even in the general case. JIRA, for example, has a ton of bloat, very little of which is related to delivering good UX or features.
- aaron-lebo 7y agoThe tax code is complex to a large degree due to the political process. See Mayhew's Congress: The Electoral Connection, or literature on path dependency. https://www.amazon.com/Congress-Electoral-Connection-David-Mayhew/dp/0300105878 https://www.amazon.com/Congress-Electoral-Connection-David-M...
- SilasX 7y agoYes but those changes are going to be trivial compared to the arms race dynamic I described. The changes from political pressure are debated in one place, yearly by a small number of people, but the growth of anti-gaming regs are a defense against the innovations of 300 million filers.
- stickfigure 7y agoI don't quite understand your objection to the tax code example. In every business domain there are real world constraints that cause people to want business rules of ever increasing complexity. The IRS cares about the definition of "income"; maybe your business cares about which ads get seen by which users or how much you should charge for a cell phone plan. What seemed simple at first is almost certainly incredibly complicated after 20+ years of exposure to humans. JIRA seems like another great example, actually. JIRA's key feature is that any organization can customize workflows in whatever way they want. Is it slow and bloated? Yes, all that customizability comes at a cost, even if you don't use it. That customizability was driven by customer requests. My organization uses Pivotal Tracker. It's fast and friendly. But it has exactly one workflow and if you don't like it, tough. They aren't going to sell a lot of licenses to Fortune 500s that way.
- SilasX 7y ago>I don't quite understand your objection to the tax code example. In every business domain there are real world constraints that cause people to want business rules of ever increasing complexity. The IRS cares about the definition of "income"; maybe your business cares about which ads get seen by which users or how much you should charge for a cell phone plan. What seemed simple at first is almost certainly incredibly complicated after 20+ years of exposure to humans. Because you were mapping (something like) "citizen-initiated policy requests about what to reward/penalize" to "customer requests for software features". To the extent that that mapping is valid, it is not (I claim) the cause of tax complexity. Rather, such complexity comes from the inherent difficulty of operationalizing "income" against motivated parties, which (I claim) is more closely analogous to "inherent domain complexity". Now, to be sure, you can go back a level and frame "citizen desire to tax income [without realizing the implied complexity]" as a "customer request with inherent hidden complexity" -- but still, you were claiming the source of tax code complexity was from "desire to reward specific behaviors", which it (still) isn't. In short, "Let's reward electric cars" does very little for tax complexity compared to, "oh crap, people can dodge virtually all their taxes by having employers buy their personal needs". >JIRA seems like another great example, actually. JIRA's key feature is that any organization can customize workflows in whatever way they want. Is it slow and bloated? Yes, all that customizability comes at a cost, even if you don't use it. That customizability was driven by customer requests. No. There is no inherent reason why being able to customize workflows comes at the cost of e.g. a browser not being able to keep up with my typing speed or a hundred trackers having to load every time. (There are a ton of other unnecessary pains I've encountered unrelated to that but I'd need to check my notes.)
- stickfigure 7y ago> you were claiming the source of tax code complexity was from "desire to reward specific behaviors", which it (still) isn't. Of course it is. The whole point I'm making is that the end result of a system isn't what people asked for at the beginning. It's a result of countless small decisions made by (often) countless people with a wide variety of motivations. The definition of "income" is subjective. Short of a physics simulation, humans are always part of the "inherent domain complexity". I'm no fan of JIRA.... which is why I'm looking forward to your issue tracking system with all of JIRA's flexibility and none of the performance issues. I genuinely wish you the best of luck in this endeavor.